]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Handle big-endian minixfs (fixes minixfs tests on bigendian).
[grub2.git] / ChangeLog
CommitLineData
ac66b453
VS
12012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Handle big-endian minixfs (fixes minixfs tests on bigendian).
4
5 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
6 modify names. Introduce MODE_BIGENDIAN.
7 * grub-core/fs/minix_be.c: New file.
8 * grub-core/fs/minix2_be.c: Likewise
9 * grub-core/fs/minix3_be.c: Likewise.
10 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
11 minix3_be.
12 * grub-core/Makefile.core.def (minix_be): New module.
13 (minix2_be): Likewise.
14 (minix3_be): Likewise.
15
162012-04-01 Felix <email@hamburg.de>
17
18 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
19 (devs): Add MBP 2011.
20
0a2d5a82
VS
212012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
24
d1625889
VS
252012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * grub-core/normal/cmdline.c (print_completion): New field
28 prompt_len.
29 (grub_cmdline_get): Handle width properly.
30
6d36a236
VS
312012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * grub-core/commands/lsacpi.c (options): Add missing terminator.
34
9576977e
VS
352012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 38 after 29th of February.
9576977e 39
d73ff15d
VS
402012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
41
42 Fix exfat endianness handling.
43
44 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
45 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
46 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
47 Byte-swap utf16 when necessary.
48 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
49
bbb39a45
AB
502012-03-31 Anton Blanchard <anton@samba.org>
512012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
52
53 Fix btrfs endianness handling.
54
55 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
56 (lower_bound): Make root uint64_t. Use root in le.
57 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
58 (find_path): Fix template key init.
59 (grub_btrfs_dir): Fix mtime byteswap.
60 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
61
354e0af7
VS
622012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
65 recursion_depth. Break infinite resursions. All users updated.
66
4e75f21c
VS
672012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
70 after free.
71 Reported by: Peter Jones.
72
25581802
AB
732012-03-31 Anton Blanchard <anton@samba.org>
74
75 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
76 8 bit values.
77
08fbf92e
VS
782012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
79
80 * util/grub-install.in: Fix nvram call for PreP.
81
5d1182a6
VS
822012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
85 the error when some elements are missing into a warning.
86
3f8cdd90
VS
872012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
90
51006716
CW
912012-03-28 Colin Watson <cjwatson@ubuntu.com>
92
93 * docs/grub.texi (Invoking grub-probe): New section.
94 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
95
e1bd676b
VS
962012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
97
98 Fix tab and wide character handling in editor and menu.
99
100 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
101 agglomerate control characters with combining marks.
102 (bidi_line_wrap): Allow break on tab.
103 (grub_unicode_get_comb_start): New function.
104 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
105 and tab correctly.
106 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
107 with a space.
108 * grub-core/normal/term.c (print_ucs4_terminal): New argument
109 fixed_tab_size. All users updated.
110 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
111 (grub_term_getcharwidth): Handle \t.
112 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
113 and copy.
114
22e6a774
VS
1152012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
116
117 Handle big-endian mdraid.
118
119 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
120 * grub-core/Makefile.core.def (mdraid09_be): New module.
121 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
122 rather than grub_le_to_cpu* and grub_cpu_to_le*.
123 * grub-core/disk/mdraid_linux_be.c: New file.
124
3c0eae66
VS
1252012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
128
b6cf74c9
VS
1292012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
132 missing quotes which caused confusion among translators.
133
83c93b9c
VS
1342012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * util/grub-mkconfig_lib.in: Fix typo.
137
ac6fd218
VS
1382012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
141 spaces.
142 * tests/grub_script_leading_whitespace.in: New file.
143 * Makefile.util.def (grub_script_leading_whitespace): New test.
144
ba287dd8
VS
1452012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
148 to work.
149
d2d58d0a
VS
1502012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
153 starts with control character.
154
0382d9bb
VS
1552012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
158 overflow.
159 (grub_gdb_outbuf): Likewise.
160
d83ff9f9
VS
1612012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
164 zero terminator. Fixes a crash.
165
2282da4a
VS
1662012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
169 beyond 4 GiB.
170 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
171 images independently of preffered adderss field.
172
0ae4f0bd
VS
1732012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
174
175 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
176 * grub-core/commands/regexp.c: Likewise.
177 * grub-core/loader/i386/linux.c: Likewise.
178 * grub-core/partmap/msdos.c: Likewise.
179 * grub-core/script/execute.c: Likewise.
180 * grub-core/term/gfxterm.c: Likewise.
181
546fbe9b
VS
1822012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
183
184 Add variable parsing in $"..." and fix several mismatches with bash.
185
186 * Makefile.util.def (grub_script_gettext): New test.
187 * grub-core/script/execute.c (parse_string): New function.
188 (gettext_append): Likewise.
189 (grub_script_arglist_to_argv): Use gettext_append.
190 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
191 * tests/grub_script_gettext.in: New file.
192
9fdb2d7b
VS
1932012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
194
195 Fix handling of leading spaces in scripts.
196
197 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
198 spaces.
199 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
200 other than skipping \r. All users updated.
201 * tests/grub_script_echo1.in: Add space-related tests.
202 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
203
1a1ac4f6
VS
2042012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
205
206 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
207
b63d89b6
VS
2082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * configure.ac: Bump up the version to beta2.
211
17f38c0f
VS
2122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
213
214 Fix gettext reload bugs (e.g. inability to disable gettext
215 once enabled).
216
217 * grub-core/gettext/gettext.c: Encapsulate all static variables in
218 main_context and secondary_context. All functions updated.
219 (grub_gettext_translate): Rename to ...
220 (grub_gettext_translate_real): ... this. Return NULL on failed
221 translate.
222 (grub_gettext_translate): Handle secondary context.
223 (grub_gettext_delete_list): Close file and zero-out the context.
224 (grub_mofile_open): Don't call grub_gettext_delete_list.
225 Don't close file.
226 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
227 if locale="" to avoid pointless error message.
228 (grub_gettext_env_write_lang): Update lang even if load fails.
229 Handle secondary context.
230 (grub_gettext_reread_prefix): New function.
231 (read_main): Likewise.
232 (read_secondary): Likewise.
233 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
234 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
235 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
236 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
237
8e56f870
VS
2382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * configure.ac: Decrease warning level to avoid spurious warnings and
241 to be able to compile with GCC 4.2.
242 * Makefile.util.def: Remove -Wno-error=logical-op.
243
82f6d455
WB
2442012-03-10 William Bittner <william.bittner@gmail.com>
245
246 * util/import_unicode.py: Add missing brackets around string for
247 python 3 support.
248
1ecd61a4
VS
2492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
250
251 Fix efi chainloader on network root.
252
253 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
254 network devices.
255 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
256 New function.
257
14361ee8
VS
2582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
259
260 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
261 unused show_text member.
262 * docs/grub.texi: Document "text" property.
263
922aabf3
VS
2642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
267 in dprintf.
268
ec316771
VS
2692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
270
271 Fix IMSM handling on Fedora.
272
273 * util/getroot.c (grub_util_is_imsm): New function.
274 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
275
0f021838
VS
2762012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * Makefile.am: Strip gold section.
279 * conf/Makefile.common: Likewise.
280 * gentpl.py: Likewise.
281 * grub-core/Makefile.core.def: Likewise.
282 * grub-core/genmod.sh.in: Likewise.
283
1039c8eb
VS
2842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
287 * util/grub.d/20_linux_xen.in: Likewise.
288 Based on Debian patch.
289
6dd412cd
VS
2902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * util/grub.d/10_linux.in: Fix syntax error resulting in
293 Richard Laager's patch.
294 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
295
3fd8bae5
VS
2962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
299 dependencies.
300
7eea1671
RL
3012012-03-10 Richard Laager <rlaager@wiktel.com>
302
303 * util/grub.d/10_linux.in: Fix ZFS root passing.
304
e8e0566b
VS
3052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
308 * grub-core/commands/xnu_uuid.c: Likewise.
309 * grub-core/loader/efi/appleloader.c: Likewise.
310 * grub-core/script/execute.c: Likewise.
311 * grub-core/script/main.c: Likewise.
312 * util/grub-mkfont.c: Likewise.
313
1acc5b1f
VS
3142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * util/grub-mkfont.c (options): Use more appropriate "select" that
317 "set" for face index.
318
35d70620
VS
3192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * util/grub-editenv.c (options): Gettextize command summaries.
322
c9eb96b5
VS
3232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
326 "out of memory" error messagge.
327
1f493136
VS
3282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
331 of diskfilter for diskfilter on diskfilter support.
332
6d790129
VS
3332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
334
335 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
336
005f46c9
VS
3372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
338
339 * util/grub-install.in: Check for themes/starfield/theme.txt and not
340 themes/starfield.
341
c8f778a0
VS
3422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
345
de1e64eb
VS
3462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
349
c6d54211
VS
3502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
353 of error message.
354
dd390777
VS
3552012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
358
5fd1c522
VS
3592012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
360
361 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
362 message.
c6d54211 363 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 364
fae01f6c
VS
3652012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
368 Gettextize.
369 * util/grub-mount.c (options): Likewise.
370
292fdaff
VS
3712012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
374 gettextize.
375 * grub-core/commands/search_wrap.c (options): Likewise.
376
ecdbae77
VS
3772012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
380
52bfedfa
VS
3812012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
384 size calculation.
385 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
386 none is known.
387
55b20e58
VS
3882012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
391 "temporary" since it's used in identifier and is limited in space.
392
fda9d101
VS
3932012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * po/POTFILES.in: Regenerate. Include *.h since they contain
396 translatable strings as well.
397
6a0295e2
VS
3982012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
401 byte-swap on big-endian.
402 Reported by: Lennart Sorensen
403
807fb77c
VS
4042012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
407 (allocate_pages): Improve dprintf.
408 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
409 code32_start. Fill code32_start and kernel_alignment in params.
410 (grub_cmd_initrd): Use prot_init_space.
411
61ac50ba
VS
4122012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
415
abdd26dd
VS
4162012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * util/grub-install.in: Add missing dot at the end of sentence.
419
6e69da9c
VS
4202012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
423 * grub-core/commands/videotest.c: Likewise.
424 * grub-core/loader/i386/linux.c: Likewise.
425
4a929343
VS
4262012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
429 sentence.
430 Reported by: Milo Casagrande.
431
bb51c6c6
VS
4322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
433
434 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
435 * grub-core/commands/gptsync.c: Likewise.
436 * grub-core/commands/hashsum.c: Likewise.
437 * grub-core/commands/i386/pc/sendkey.c: Likewise.
438 * grub-core/commands/legacycfg.c: Likewise.
439 * grub-core/io/gzio.c: Likewise.
440 * grub-core/net/net.c: Likewise.
441 * grub-core/term/gfxterm.c: Likewise.
442 * grub-core/term/terminfo.c: Likewise.
443 * grub-core/tests/test_blockarg.c: Likewise.
444 * grub-core/video/video.c: Likewise.
445 * util/grub-install.in: Likewise.
446 * util/grub-mkfont.c: Likewise.
447
b2b149cb
VS
4482012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
451
c7c080ad
VS
4522012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 455 Reported by: David Prévot.
c7c080ad 456
f2e243c0
VS
4572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
460 description.
461
09963c76
VS
4622012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * util/grub-script-check.c (main): Fix a syntax error message which was
465 unclear.
466
a50514a8
VS
4672012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
470
4650daec
VS
4712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
474 messages.
475
4762012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
477
478 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
479 without argument.
480 * util/grub-mount.c (options): Likewise.
481
bbc5a342
VS
4822012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
485
ef292a87
VS
4862012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * grub-core/net/http.c: Add TRANSLATORS comments.
489 * grub-core/normal/cmdline.c: Likewise.
490 * grub-core/normal/misc.c: Likewise.
491 * grub-core/partmap/msdos.c: Likewise.
492 * grub-core/parttool/msdospart.c: Likewise.
493 * grub-core/script/execute.c: Likewise.
494 * grub-core/script/main.c: Likewise.
495 * grub-core/term/terminfo.c: Likewise.
496 * grub-core/video/bitmap.c: Likewise.
497 * util/grub-install.in: Likewise.
498 * util/grub-mkimage.c: Likewise.
499 * util/grub-mklayout.c: Likewise.
500 * util/grub-setup.c: Likewise.
501
0fc19bd0
VS
5022012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
505 with similar messages in grub-fstest.
506
d95862ef
VS
5072012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * util/grub-install.in: Unify "option requires an argument" message
510 with similar messages in other files.
511 * util/grub-mkconfig.in: Likewise.
512
b7308f90
VS
5132012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * util/grub-set-default.in: Replace printf with gettext_printf (the
516 string in in question is already translated from grub-reboot)
517
559dc587
VS
5182012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
519
520 * configure.ac: Bump up the version to beta1.
521
1a11761f
VS
5222012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
525 case when min_align = 0.
526
24539abd
VS
5272012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
530 and fix a case when line_start overflows.
531
32bd735b
VS
5322012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
533
534 * util/grub-reboot.in (usage): Mention id posibility.
535 * util/grub-set-default.in (usage): Likewise.
536
1a2fd1e6
VS
5372012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
540 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
541 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
542 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
543 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
544 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
545 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
546
90eeab76
VS
5472012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * grub-core/commands/menuentry.c (options): Remove
550 GRUB_ARG_OPTION_REPEATABLE.
551 Reported by: Andreas Vogel
552
5ad1be82
AV
5532012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
554
555 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
556
cb055286
HE
5572012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
558
559 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
560 error.
561
93b1cd79
VS
5622012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
563
564 Use sort -V by the idea of Georgi Georgiev.
565
566 * util/grub-mkconfig_lib.in (version_sort): New function.
567 (version_test_numeric): Use version_sort.
568
0cdc126c
VS
5692012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
570
571 Use submenus in grub-mkconfig.
572
573 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
574 * util/grub-mkconfig_lib.in (grub_quote): New function.
575 (gettext_printf): Use gettext and not gettext_quoted to fix several
576 messages.
577 * util/grub.d/10_hurd.in: Use submenus.
578 * util/grub.d/10_kfreebsd.in: Likewise.
579 * util/grub.d/10_linux.in: Likewise.
580 * util/grub.d/10_netbsd.in: Likewise.
581 * util/grub.d/20_linux_xen.in: Likewise.
582 * util/grub.d/30_os-prober.in: Likewise.
583 * util/grub.d/10_illumos.in: Add missing quoting.
584 * util/grub.d/10_windows.in: Likewise.
585
d9bef9bc
VS
5862012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
587
588 Fix menu title instability bug.
589
590 * grub-core/commands/menuentry.c (options): New option --id.
591 (grub_normal_add_menu_entry): New argument id. All users updated.
592 (grub_cmd_menuentry): Handle --id.
593 (grub_menu_init): Accept unknown arguments.
594 * grub-core/normal/main.c (features): Add feature_menuentry_id and
595 feature_menuentry_options.
596 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
597 saved_entry.
598 (get_entry_number): Match with id as well.
599 * include/grub/menu.h (grub_menu_entry): New member id.
600 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
601 * util/grub.d/00_header.in: Define menuentry_id_option.
602 * util/grub.d/10_hurd.in: Define id.
603 * util/grub.d/10_illumos.in: Likewise.
604 * util/grub.d/10_kfreebsd.in: Likewise.
605 * util/grub.d/10_linux.in: Likewise.
606 * util/grub.d/10_netbsd.in: Likewise.
607 * util/grub.d/10_windows.in: Likewise.
608 * util/grub.d/20_linux_xen.in: Likewise.
609 * util/grub.d/30_os-prober.in: Likewise.
610
6112012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
612
613 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
614 "scope" with "body".
615
7c8d0ce7
VS
6162012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
619 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
620 prot_size and prot_file_size.
621
49de079b
VS
6222012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
625 All users updated. If easily=1 require raid-5/-6 to be full.
626 (is_node_readable): Likewise.
627 (scan_devices): Scan incomplete but readable LVs at the end.
628 (grub_diskfilter_memberlist): Pull missing devices.
629 (insert_array): Skip scanning until device is complete or scan is
630 done otherwise.
631 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
632 check.
633 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
634 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
635
aff05d45
MG
6362012-03-03 Matthew Garrett <mjg@redhat.com>
6372012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
638
639 Avoid EFI boot services when loading Linux.
640
641 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
642 avoid_efi_bootservices. All users updated.
643 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
644 argument avoid_efi_bootservices. All users updated.
645 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
646 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
647 align, min_align, relocatable, prefered_address. All users updated.
648 Allocate avoiding boot services if kernel is relocatable.
649 (grub_cmd_linux): Check if kernel is relocatable.
650 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
651 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
652 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
653 avoid_efi_boot_services.
654 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
655 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
656 (linux_kernel_params): Likewise.
657
3935dde2
MG
6582012-03-03 Matthew Garrett <mjg@redhat.com>
6592012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
660
661 Use EDID on EFI.
662
663 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
664 datasize_out.
665 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
666 modes. Set gop_handle.
667 (grub_video_gop_get_edid): New function.
668 (grub_gop_get_preferred_mode): Likewise.
669 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
670 (grub_video_efi_gop_adapter): Set .get_edid.
671 * include/grub/efi/edid.h: New file.
672 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
673
32107ec0
VS
6742012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
675
676 * util/grub-install.in: Load efivars unconditionally.
677
e70a2c50
VS
6782012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * po/Rules-piglatin: Change suffix from .po-update-en to
681 .po-update-en-piglatin.
682
8f9cace1
VS
6832012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
684
685 Add a pig farm.
686
687 * po/piglatin.sed: New file.
688 * po/en@piglatin.header: Likewise.
689 * po/Rules-piglatin: Likewise.
690 * po/README: Add en@piglatin to autogenerated languages.
691
8f95d002
VS
6922012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
695 "Command for ...".
696 * grub-core/commands/hdparm.c (options): Use "Display" rather than
697 "Check" since we don't check anything.
698 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
699 is 64-bit one.
700 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
701 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
702 (grub_md_sha512_real): Likewise.
703
805a8dcc
VS
7042012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * grub-core/commands/gptsync.c: Fix typographic quoting.
707 * grub-core/commands/ieee1275/suspend.c: Likewise.
708 * grub-core/commands/parttool.c: Likewise.
709 * grub-core/commands/search_wrap.c: Likewise.
710 * grub-core/commands/videoinfo.c: Likewise.
711 * grub-core/gfxmenu/gui_label.c: Likewise.
712 * grub-core/hello/hello.c: Likewise.
713 * grub-core/kern/emu/main.c: Likewise.
714 * grub-core/net/net.c: Likewise.
715 * grub-core/normal/menu.c: Likewise.
716 * grub-core/normal/menu_text.c: Likewise.
717 * grub-core/normal/misc.c: Likewise.
718 * util/grub-editenv.c: Likewise.
719 * util/grub-install.in: Likewise.
720 * util/grub-kbdcomp.in: Likewise.
721 * util/grub-mkconfig.in: Likewise.
722 * util/grub-mknetdir.in: Likewise.
723 * util/grub-mkrescue.in: Likewise.
724 * util/grub-mkstandalone.in: Likewise.
725 * util/grub-reboot.in: Likewise.
726 * util/grub-set-default.in: Likewise.
727 * util/grub-setup.c: Likewise.
728 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
729
40211ab8
VS
7302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
733 * grub-core/commands/keystatus.c: Likewise.
734 * grub-core/commands/loadenv.c: Likewise.
735 * grub-core/commands/probe.c: Likewise.
736 * grub-core/commands/regexp.c: Likewise.
737 * grub-core/commands/true.c: Likewise.
738 * grub-core/commands/videoinfo.c: Likewise.
739 * grub-core/disk/cryptodisk.c: Likewise.
740 * grub-core/disk/ldm.c: Likewise.
741 * grub-core/disk/loopback.c: Likewise.
742 * grub-core/disk/luks.c: Likewise.
743 * grub-core/fs/zfs/zfsinfo.c: Likewise.
744 * grub-core/kern/disk.c: Likewise.
745 * grub-core/kern/emu/hostdisk.c: Likewise.
746
0c7d99c7
VS
7472012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
750 * util/grub-install.in: Add missing quote in the comment.
751
e7d2559b
VS
7522012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
755 * grub-core/commands/lsmmap.c: Likewise.
756 * grub-core/commands/minicmd.c: Likewise.
757 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
758 * grub-core/commands/regexp.c: Likewise.
759 * grub-core/gdb/gdb.c: Likewise.
760 * grub-core/term/gfxterm.c: Likewise.
761 * util/grub-mkconfig.in: Likewise.
762 * util/grub-mkfont.c: Likewise.
763 * util/grub-mklayout.c: Likewise.
764 * util/grub-mknetdir.in: Likewise.
765 * util/grub-mkrescue.in: Likewise.
766 * util/grub.d/30_os-prober.in: Likewise.
767
49ce9e50
VS
7682012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
771 with "Direct color" and "Packed" with "Packed pixel".
772 (grub_cmd_videoinfo): Simplify legend.
773
e4b791fa
VS
7742012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
777 absolutely unclear error message.
778
fd1265cb
VS
7792012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * util/grub-mkstandalone.in: Remove confusing leftover print.
782
8822a8a0
VS
7832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
786 comments.
787 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
788 (GRUB_MOD_INIT): Likewise.
789 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
790 VGA mode.
791 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
792 comments.
793 * util/grub-install.in (usage): Likewise.
794 Spell ID in whole letters.
795 Add missing ending dot.
796 Quote variables.
797 * util/grub-reboot.in: Fix capitalisation.
798 * util/grub-set-default.in: Likewise.
799
937fd0cc
VS
8002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
803 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
804 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
805 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
806 Disable -Werror for -Wdeprecated-declarations.
807 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
808 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
809 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
810 (grub_util_get_grub_dev): Make luks handling dependent on
811 HAVE_DEVICE_MAPPER and not __linux__.
812 (get_win32_path): Fix format security.
813 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
814 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
815 Don't try grub_find_zpool_from_dir.
816 (grub_make_system_path_relative_to_its_root) [!__linux__]:
817 #ifdef-out paresdir.
818
1bab1ae3
VS
8192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * util/grub-pe2elf.c (usage): Add missing noreturn.
822 (write_section_data): Rename name to shname to avoid shadowing.
823 (write_symbol_table): Rename name to symname to avoid shadowing.
824 Fix write_reloc_section call.
825
ef023e42
VS
8262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
829 to ensure that it's after the last byte of .text.
830
48afcb75
VS
8312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * util/ieee1275/ofpath.c (my_isdigit): New function.
834 (trailing_digits): Use my_isdigit.
835 (strip_trailing_digits): Likewise.
836
88d51eff
VS
8372012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
840 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
841
17edc2ba
VS
8422012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * grub-core/kern/i386/pc/startup.S: Define __start.
845
ad5518d7
VS
8462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
849 strip already transforms he format.
850
9e95e1bf
VS
8512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
854
9cc3ee5c
VS
8552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
856
857 * util/grub-install.in: Add missing gettext init.
858 * util/grub-kbdcomp.in: Likewise.
859 * util/grub-mkconfig.in: Likewise.
860 * util/grub-mknetdir.in: Likewise.
861 * util/grub-mkrescue.in: Likewise.
862 * util/grub-mkstandalone.in: Likewise.
863 * util/grub-reboot.in: Likewise.
864 * util/grub-set-default.in: Likewise.
865 * util/grub.d/00_header.in: Likewise.
866 * util/grub.d/10_hurd.in: Likewise.
867 * util/grub.d/10_windows.in: Likewise.
868 * util/grub.d/30_os-prober.in: Likewise.
869 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
870
49e08a06
VS
8712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * po/Rules-swiss: Fix header comment.
874
3809cb41
AV
8752012-02-29 Andreas Vogel <anvoit>
876
877 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
878 resulted in leak of arguments.
879
fa6ec573
VS
8802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * grub-core/boot/i386/pc/startup_raw.S: Use separate
883 reed_solomon_size const definition instead of computing it since
884 Apple assembler doesn't support the later.
885
22899b9c
VS
8862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * gentpl.py (kernel): Rewrite Apple part.
889
a132afc3
VS
8902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
891
892 * include/grub/kernel.h (FOR_MODULES): Check module magic.
893
9d742bd4
VS
8942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * util/grub-mkimagexx.c (locate_sections): Support non-standard
897 ELF section gap.
898 (load_image): Likewise.
899
f04a9a21
VS
9002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * configure.ac: Fix a typo in previous commit.
903
46cf439c
VS
9042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
905
906 Don't add -Wl,-N on Apple platform.
907
908 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
909 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
910
c4c48c54
VS
9112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/Makefile.core.def (lzma_decompress): Use
914 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
915
31a12124
VS
9162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * grub-core/genmod.sh.in: Rewrite the Apple part.
919
4f3aa1af
VS
9202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
923 comparison.
924
7bd8b0c7
VS
9252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * acinclude.m4 (grub_CHECK_PIC): New test.
928 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
929
97304d7c
VS
9302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
933 to avoid the warning.
934
fb883812
VS
9352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
938 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
939 after. All users updated.
940
a121c964
VS
9412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
942
943 Use the common size routine in hostfs so we can read disks as well.
944
945 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
946 (grub_util_get_fd_size): ... this. Return size in bytes.
947 All users updated.
948 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
949 grub_util_get_fd_size.
950
c66d6410
VS
9512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
954 Add blocksize retrieval.
955
dfc8aeb0
VS
9562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * configure.ac: Restore CFLAGS after efiemu check.
959
403e25a5
VS
9602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
963 Apple bug.
964
382775d1
VS
9652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
968
6fd4e6e4
VS
9692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
972 (grub_cmd_halt): Likewise.
973
bea359d6
VS
9742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
975
976 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
977 for local arithmetics.
978 Break %sp init into 2 instructions.
979 Add 0 byte at the end.
980
32eb6ee1
VS
9812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/disk/diskfilter.c (read_segment): Initialise err
984 before loops.
985
e8377389
VS
9862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
989 for context.
990
8cb17de7
VS
9912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * grub-core/disk/ldm.c (make_vg): Init part.name.
994 (grub_ldm_detect): Silence spurious warning.
995 (grub_util_is_ldm): Likewise.
996
595717e6
VS
9972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
998
999 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
1000 sane value to avoid a spurious warning.
1001
c4b7e588
VS
10022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
1005 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
1006
59824957
VS
10072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
1010 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
1011
70115b99
VS
10122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
1015 hardcoding the relevant info.
1016
56733740
VS
10172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
1020 missing const qualifiers.
1021 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
1022
43481481
VS
10232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 * util/getroot.c [__APPLE__]: Add missing includes.
1026 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
1027
3cb38f01
VS
10282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 * util/grub-mkimage.c (generate_image): Silence spurious warning.
1031
d9dbf11e
VS
10322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
1035 avoid conflicts.
1036
0c42a45d
VS
10372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
1040
46c34eb0
VS
10412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
1044 and grub_file_close call.
1045
99ce1597
VS
10462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 Add LZSS Mach-O support (needed for new xnu kernelcache).
1049
1050 * grub-core/Makefile.core.def (xnu): Add file lzss.c
1051 * grub-core/loader/lzss.c: New file.
1052 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
1053 on Mach-O open failure.
1054 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
1055 Don't free cmdsXX in uncompressedXX is set.
1056 (grub_macho_file): Init new fields.
1057 New argument is_64bit. All users updated.
1058 Handle compressed. Error out if no suitable architecture is found.
1059 Don't close file.
1060 (grub_macho_open): New argument is_64bit. All users updated.
1061 * grub-core/loader/macho32.c: Add defines for new fields.
1062 * grub-core/loader/macho64.c: Likewise.
1063 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
1064 (grub_macho_parse): Handle compressed.
1065 Defer actual processing if compressed.
1066 (grub_macho_cmds_iterate): Decompress if compressed. New argument
1067 "filename". All users updated.
1068 (grub_macho_size): New argument "filename". All users updated.
1069 (grub_macho_get_entry_point): Likewise.
1070 (grub_macho_load): Handle compressed.
1071 * include/grub/macho.h (grub_macho_lzss_header): New struct.
1072 (GRUB_MACHO_LZSS_OFFSET): New define.
1073 (grub_decompress_lzss): New proto.
1074 * include/grub/machoload.h (grub_macho_file): New fields to handle
1075 compressed.
1076 (grub_macho_contains_macho64): Remove proto.
1077 (grub_macho_contains_macho32): Likewise.
1078 * util/grub.d/30_os-prober.in: Use kernel cache if available.
1079
ebd17d6f
VS
10802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
1083
2702b4e4
VS
10842012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 Fix make dist.
1087
1088 * Makefile.am (starfield_theme_files): New var.
1089 (starfield_DATA): Use starfield_theme_files.
1090 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
1091 Add bootcheck-related files.
1092 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
1093 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
1094 and font_char_metrics.txt.
1095 * grub-core/Makefile.core.def (kernel): Update extra_dist.
1096 (setjmp): Add lib/ia64/longjmp.S.
1097 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
1098 * po/POTFILES.in: Regenerate.
1099 * po/Rules-swiss: use DISTFILES.common.extra2 and not
1100 DISTFILES.common.extra1.
1101 * util/devicemap.c: Removed.
1102 * grub-core/lib/i386/relocator_backward.S: Likewise.
1103 * util/import_gcry.py: Remove unused files. Add extra_dist for
1104 ChangeLog.
1105
cf1adfdf
VS
11062012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/gettext/gettext.c (grub_mofile_open): Call
1109 grub_gettext_delete_list before changing grub_gettext_max to avoid
1110 running out of array bounds.
1111
11122012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
1113
1114 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
1115 grub_vga_text_init/grub_vga_text_fini.
1116
cf1adfdf 11172012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
1118
1119 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
1120
541d92e9
VS
11212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * configure.ac: Bump to 2.00~beta0.
1124
7931dddf
VS
11252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
1128 missing initialisation.
1129
f1b16fa3
VS
11302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
1133
83ddae23
VS
11342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 Support v2 xnu boot arguments.
1137
1138 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
1139 New argument fsbfreq_out.
1140 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
1141 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
1142 be used.
1143 * grub-core/loader/machoXX.c (grub_macho_load): New argument
1144 darwin_version.
1145 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
1146 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
1147 (grub_xnu_boot_params): Rename to ...
1148 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
1149 (grub_xnu_boot_params_v2): New struct.
1150
dc693fe6
VS
11512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
1154 zeroing of CRC field before computing CRC.
1155
5a6e39c2
VS
11562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
1159 Change order of allocations to decrease fragmentation.
1160
6c21f5d7
VS
11612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
1164
cfe456dc
CW
11652012-02-27 Colin Watson <cjwatson@ubuntu.com>
1166
1167 Use write-combining MTRR to speed up video with buggy BIOSes.
1168
1169 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
1170 (cpuid): New define.
1171 (rdmsr): Likewise.
1172 (wrmsr): Likewise.
1173 (mtrr_base): Likewise.
1174 (mtrr_mask): Likewise.
1175 (grub_vbe_enable_mtrr_entry): New function.
1176 (grub_vbe_enable_mtrr): Likewise.
1177 (grub_vbe_disable_mtrr): Likewise.
1178 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
1179 control off to BIOS.
1180 (grub_video_vbe_init): Fill mtrr.
1181 (grub_video_vbe_fini): Disable mtrr.
1182 (grub_video_vbe_get_info_and_fini): Likewise.
1183 (grub_video_vbe_setup): Enable mtrr.
1184
e3c78337
CW
11852012-02-27 Colin Watson <cjwatson@ubuntu.com>
1186
1187 * include/grub/partition.h (grub_partition_map): Change prototype of
1188 embed to take a maximum value for nsectors.
1189 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
1190 * include/grub/fs.h (grub_fs): Likewise.
1191 * grub-core/partmap/msdos.c (embed_signatures): New array.
1192 (pc_partition_map_embed): Check for and avoid sectors matching any
1193 of the signatures in embed_signatures, up to max_nsectors.
1194 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
1195 returned sector map to max_nsectors.
1196 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
1197 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
1198 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
1199 * util/grub-setup.c (setup): Allow for the embedding area being
1200 split into multiple blocklists. Tell dest_partmap->embed the
1201 maximum number of sectors we care about.
1202
12032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
1206 Specify blocklist_install and reserver_first_sector for all fs.
1207 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
1208 blocklists.
1209
984b973f
VS
12102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * util/grub-install.in: Clarify strings.
1213 Fix source dir check.
1214
f122e0d6
RL
12152012-02-27 Richard Laager <rlaager@wiktel.com>
1216
1217 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
1218 "zfs" and "fuse.zfs" as synonyms.
1219
071114bb
VS
12202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * configure.ac: Put platform and target_cpu substitutions back since
1223 they are used for directories.
1224
817e6abc
RL
12252012-02-27 Richard Laager <rlaager@wiktel.com>
12262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * util/grub.d/10_linux.in: Add ZFS-related arguments.
1229 * util/grub.d/20_linux_xen.in: Likewise.
1230
897b7419
RL
12312012-02-27 Richard Laager <rlaager@wiktel.com>
1232
1233 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
1234 with full paths.
1235
a414bd15
RL
12362012-02-27 Richard Laager <rlaager@wiktel.com>
1237
1238 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
1239 unescape.
1240
30ac48c4
VS
12412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 Don't use insecure popen in getroot.
1244
1245 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
1246 (exec_pipe): ... here.
1247 (find_root_devices_from_poolname): Use exec_pipe.
1248
53f13848
VS
12492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 Remove platform and target_cpu replacement.
1252
1253 * configure.ac: Remove platform and target_cpu substitutions.
1254 * tests/util/grub-shell.in: Use modinfo.
1255 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
1256 explicitly.
1257
90cb2803
VS
12582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 Autodetect platform in grub-install but allow override.
1261
1262 * util/grub-install.in: Autodetect platform. Support --target and
1263 --directory. Read platform from modinfo.sh.
1264
b9136427
VS
12652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 Support btrfs multi-volume probe.
1268
1269 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
1270 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
1271 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
1272 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
1273 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
1274 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1275 grub_find_root_devices_from_btrfs if on btrfs.
1276
c36e5cd1
VS
12772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 Remove any awareness of *.c util files about target.
1280
1281 * Makefile.util.def (grub-setup): Split to ...
1282 (grub-bios-setup): ... and this.
1283 (grub-sparc64-setup): ... and this.
1284 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1285 * docs/man/grub-setup.h2m: Split into ...
1286 * docs/man/grub-sparc64-setup.h2m: ... this.
1287 * docs/man/grub-bios-setup.h2m: ... and this.
1288 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1289 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1290 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1291 (grub_target_addr_t): Remove.
1292 (grub_target_size_t): Remove.
1293 (grub_target_ssize_t): Remove.
1294 * util/grub-install.in: Use new grub-*-setup.
1295 * util/grub-mkimagexx.c (Elf_Word): New define.
1296 (Elf_Half): Likewise.
1297 (Elf_Section): Likewise.
1298 (ELF_ST_TYPE): Likewise.
1299 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1300 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1301
584b2f8a
VS
13022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 Replace grub_target_addr with more appropriate types.
1305
1306 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1307 grub_target_addr with grub_addr.
1308 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1309 grub_target_addr with grub_port.
1310 (grub_cmd_write): Likewise.
1311 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1312 grub_target_addr with grub_addr.
1313 (grub_cmd_write): Likewise.
1314 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1315
5a0dc6fb
VS
13162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1319 const qualifier for vendor_guid.
1320
786aff6e
VS
13212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1324 const qualifier.
1325 (efiemu_memequal): Likewise.
1326 (find_variable): Likewise.
1327
49017b17
VS
13282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 Fix missing console prototype on qemu-mips.
1331
1332 * include/grub/mips/qemu_mips/console.h: New file.
1333
c5988629
MG
13342012-02-27 Matthew Garrett <mjg@redhat.com>
13352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1338 * include/grub/efi/efi.h: Likewise.
1339 * include/grub/efi/api.h: Add guid for EFI-specified variables.
1340 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
1341 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
1342 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
1343 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
1344 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
1345
e33f8d69
MG
13462012-02-27 Matthew Garrett <mjg@redhat.com>
1347
1348 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
1349
fb312cd9
VS
13502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
1353 error.
1354
7134247c
VS
13552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * configure.ac: Remove inappropriate use of program_transform_name
1358 on grubdir and bootdir but allow explicit specification of those
1359 variables.
1360
6a313124
VS
13612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 * util/grub-mknetdir.in (grub_prefix): Removed.
1364 (subdir): Use @bootdirname@ and @grubdirname@.
1365
2311c5ca
VS
13662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
1369
7d5d60f7
VS
13702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * po/POTFILES.in: Regenerated.
1373
8151bc82
VS
13742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 Remove improper use of program_transform_name on pkglibrootdir.
1377
1378 * configure.ac (pkglibrootdir): Removed.
1379 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
1380 * util/grub-mkimage.c: Likewise.
1381
b4a6a533
VS
13822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
1385 warning.
1386
668f304f
VS
13872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * util/grub-install.in: Use file identifier if no UUID is available
1390 or user explicitly prompted for it.
1391
665f2341
NP
13922012-02-27 Navdeep Parhar <nparhar@gmail.com>
1393
1394 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
1395 (freebsd_get_zfs): New function.
1396 (grub_freebsd_boot): Pass zfs UUID.
1397 (grub_cmd_freebsd): Set zfs UUID.
1398
8151bc82 13992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
1400
1401 * conf/Makefile.common (platformdir): Base on pkglibdir and not
1402 pkglibrootdir.
1403
e4c498a1
MG
14042012-02-27 Mike Gilbert <floppym@gentoo.org>
1405
1406 Add configure flag to control libzfs integration.
1407
1408 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
1409
1e9a9a3f
VS
14102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
1413 device.
1414 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
1415 small devices.
1416
036985b8
VS
14172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 Remove grub_{modname}_init and grub_{modname}_fini. They should never
1420 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
1421 be used on non-modules.
1422
1423 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
1424 Rename to grub_boot_init.
1425 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
1426 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
1427 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
1428 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
1429 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
1430 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
1431 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
1432 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
1433 includes.
1434 (grub_machine_init): Remove empty inits.
1435 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
1436 includes.
1437 (grub_machine_init): Remove empty inits.
1438 * grub-core/term/arc/console.c: Remove explicit proto.
1439 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
1440 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
1441 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1442 grub_at_keyboard_fini.
1443 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
1444 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
1445 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1446 grub_gfxterm_fini.
1447 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
1448 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
1449 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1450 grub_vgatext_fini.
1451 * grub-core/term/ieee1275/console.c: Remove explicit proto.
1452 * grub-core/term/serial.c (GRUB_MOD_INIT)
1453 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
1454 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1455 grub_serial_fini.
1456 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
1457 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
1458 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1459 grub_terminfo_fini.
1460 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
1461 (GRUB_MOD_FINI): Likewise.
1462 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
1463 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
1464 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1465 grub_video_radeon_fuloong2e_fini.
1466 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
1467 [LOONGSON]: Rename to grub_video_sis315pro_init.
1468 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1469 grub_video_sis315pro_fini.
1470 * grub-core/video/sm712.c (GRUB_MOD_INIT)
1471 [LOONGSON]: Rename to grub_video_sm712_init.
1472 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1473 grub_video_sm712_fini.
1474 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
1475 (grub_at_keyboard_fini): Likewise.
1476 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
1477 Don't declare grub_{modname}_init.
1478 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
1479 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
1480 New proto.
1481 (grub_keylayouts_fini) [!EMU]: Likewise.
1482 * include/grub/serial.h (grub_serial_init) [!EMU]:
1483 New proto.
1484 (grub_serial_fini) [!EMU]: Likewise.
1485 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
1486 New proto.
1487 (grub_terminfo_fini) [!EMU]: Likewise.
1488 * include/grub/video.h (grub_font_init) [!EMU]:
1489 New proto.
1490 (grub_font_fini) [!EMU]: Likewise.
1491 (grub_gfxterm_init) [!EMU]: Likewise.
1492 (grub_gfxterm_fini) [!EMU]: Likewise.
1493 (grub_video_sm712_init) [!EMU]: Likewise.
1494 (grub_video_sm712_fini) [!EMU]: Likewise.
1495 (grub_video_sis315pro_init) [!EMU]: Likewise.
1496 (grub_video_sis315pro_fini) [!EMU]: Likewise.
1497 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
1498 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
1499
d5534665
VS
15002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 Make nand a prefix for nand devices.
1503
1504 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
1505
10133b5f
VS
15062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
1509 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
1510
8e307a62
VS
15112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * include/grub/env.h (grub_env_find): Remove prototype.
1514 * grub-core/kern/env.c (grub_env_find): Make static.
1515 (grub_env_set): Remove useless set.
1516
a4c65f34
VS
15172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * grub-core/kern/i386/realmode.S: Remove useless align.
1520
d87893d5
VS
15212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * include/grub/dl.h (grub_dl_load_file): Don't export.
1524
50159add
VS
15252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
1528 grub_dprintf.
1529
b2582b84
VS
15302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
1533 grub_errors.
1534 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
1535 not reloading whole superblock but only the part which is really needed.
1536 Remove useless grub_errors.
1537 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
1538 grub_errors.
1539
e2a83395
VS
15402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 Don't export grub_get_rtc.
1543
1544 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
1545 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
1546
e7d2a906
VS
15472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
1550
6cf1363b
VS
15512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 1554 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 1555
eece3349
VS
15562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 Remove prio_list.
1559
1560 * include/grub/list.h (grub_prio_list): Removed.
1561 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
1562 GRUB_COMMAND_PRIO_MASK.
1563 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
1564 GRUB_COMMAND_FLAG_ACTIVE.
1565 (grub_prio_list_insert): Removed.
1566 (grub_prio_list_remove): Likewise.
1567 (GRUB_AS_PRIO_LIST): Likewise.
1568 (GRUB_AS_PRIO_LIST_P): Likewise.
1569 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
1570 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
1571 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
1572 * grub-core/kern/command.c (grub_register_command_prio): Inline
1573 the prio_list code.
1574 (grub_unregister_command): Likewise.
1575
94f064b4
VS
15762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 Fix interrupt mixup from previous commit.
1579
1580 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
1581 (grub_realidt): New var.
1582 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
1583 Load idt.
1584 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
1585 New declaration.
1586 (grub_relocator16_boot): Set grub_relocator16_idt.
1587 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
1588 (LOCAL(realidt)): ... this.
1589 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
1590 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
1591 (grub_realidt): New variable.
1592
27317084
VS
15932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
1596 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
1597 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
1598 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
1599 Gettextize.
1600 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
1601 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
1602 * po/POTFILES.in: Regenerate.
1603
47b40053
VS
16042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1605
1606 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
1607 errors.
1608
2b343101
VS
16092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
1612 \0.
1613 (add_length): Likewise.
1614
ff27c3dd
LK
16152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
16162012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
1617
1618 GDB serial and backtrace support.
1619
1620 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
1621 (prot_to_real): Likewise.
1622 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
1623 * grub-core/Makefile.core.def (backtrace): New module.
1624 (gdb): Likewise.
1625 * grub-core/gdb/cstub.c: New file.
1626 * grub-core/gdb/gdb.c: Likewise.
1627 * grub-core/gdb/i386/idt.c: Likewise.
1628 * grub-core/gdb/i386/machdep.S: Likewise.
1629 * grub-core/gdb/i386/signal.c: Likewise.
1630 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 1631 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
1632 * include/grub/backtrace.h: Likewise.
1633 * include/grub/gdb.h: Likewise.
1634 * include/grub/i386/gdb.h: Likewise.
1635
16362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
1637
1638 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
1639 New function.
1640 (add_length): Likewise.
1641 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
1642 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
1643 proto.
1644 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
1645 __argp_get_display_len.
1646
ff27c3dd 16472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
1648
1649 $"..." support in scripts.
1650
1651 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
1652 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
1653 * grub-core/script/yylex.l: Likewise.
1654 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
1655 value.
1656
ff27c3dd 16572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
1658
1659 * gentpl.py: Remove obsolete pkglib_DATA handling.
1660
ff27c3dd 16612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
1662
1663 Don't transform PACKAGE_TARNAME following a discussion on autoconf
1664 mailing list.
1665
1666 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
1667 * util/grub-kbdcomp.in: Likewise.
1668 * util/grub-mkconfig.in: Likewise.
1669 * util/grub-mkconfig_lib.in: Likewise.
1670 * util/grub-mknetdir.in: Likewise.
1671 * util/grub-mkrescue.in: Likewise.
1672 * util/grub-mkstandalone.in: Likewise.
1673 * util/grub-reboot.in: Likewise.
1674 * util/grub-set-default.in: Likewise.
1675 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1676
ff27c3dd 16772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
1678
1679 Remove GRUB_PREFIX.
1680
1681 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
1682 * util/grub.d/00_header.in: Compute prefix in the only place it's still
1683 used for backward compatibility.
1684
ff27c3dd 16852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
1686
1687 Add new all_video module.
1688
1689 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
1690 * grub-core/Makefile.core.def (all_video): New module.
1691 * grub-core/genmoddep.awk: Generate dependency of all_video from
1692 video.lst.
1693 * grub-core/lib/fake_module.c: New file.
1694 * grub-core/normal/main.c (features): Add feature_all_video_module.
1695 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
1696 don't do explicit search again.
47454da5 1697 insmod all_video in load_video if available.
22c7ce85 1698
ff27c3dd 16992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
1700
1701 Another round of string clarification and adding TRANSLATORS comments.
1702
ff27c3dd 17032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
1704
1705 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
1706
ff27c3dd 17072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
1708
1709 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
1710 to grub_ssize_t.
1711 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
1712 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
1713
ff27c3dd 17142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
1715
1716 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
1717 trailing newline implicitly. All users updated.
1718
ff27c3dd 17192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
1720
1721 Implement serial on IEEE1275 and EFI.
1722
1723 * docs/grub.texi (Platform-specific limitations): Fix the columen video
1724 on emu. Mention arc and emu as the only platforms without serial
1725 support.
1726 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
1727 ieee1275 platforms.
1728 * grub-core/term/efi/serial.c: New file.
1729 * grub-core/term/ieee1275/serial.c: Likewise.
1730 * grub-core/term/serial.c (grub_serial_find): Disable direct port
1731 specification if no ns8250 driver is available.
1732 (grub_cmd_serial): Likewise.
1733 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
1734 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
1735 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
1736 (grub_efi_parity_type_t): New type.
1737 (grub_efi_stop_bits_t): Likewise.
1738 (grub_efi_serial_io_interface): New struct.
1739 * include/grub/serial.h (grub_serial_port): Make 'broken' field
1740 available for all interfaces.
1741 Add EFI and IEEE1275 fields.
1742 (grub_ofserial_init): New proto.
1743 (grub_efiserial_init): Likeiwse.
1744 * util/grub.d/00_header.in: Don't check for the presence of serial
1745 module.
1746
ff27c3dd 17472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
1748
1749 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
1750 name as if it was an alias.
1751
114076ef
VS
17522012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * grub-core/commands/lsacpi.c (options): Fix typo.
1755
6a656b0e
VS
17562012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 Convert grub-emu to argp.
1759
1760 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
1761 emu.
1762 * util/argp_common.c: Rename to ...
1763 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
1764 Add missing includes.
1765 * grub-core/kern/emu/main.c: Convert to argp.
1766 * po/POTFILES.in: Regenerate.
1767 * util/grub-install.in (usage): Make first letter lowcase in messages
1768 for uniformity.
1769 * util/grub-setup.c (options): Likewise.
1770
1e3f8ae8
VS
17712012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
1774 Put back accidently commented-out code.
1775
ed167a80
VS
17762012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
1779 loop check using Brent algorithm.
1780 (grub_hfsplus_btree_search): Likewise.
1781
6753c0ec
VS
17822012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * util/grub-install.in: Fix usage of wrong device for PreP install.
1785
4e27343f
VS
17862012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * conf/Makefile.common (CFLAGS_GNULIB): Add
1789 -Wno-unsafe-loop-optimizations.
1790 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
1791 on tools.
1792 * grub-core/commands/legacycfg.c: Add pragma to skip
1793 -Wunsafe-loop-optimizations.
1794 (check_password_md5_real): Fix loop counter type.
1795 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
1796 reading.
1797 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
1798 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
1799 loop condition.
1800 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
1801 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
1802 * grub-core/net/net.c (grub_net_route_address): Add safety loop
1803 condition.
1804 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
1805 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
1806 avoid possible infinite loops.
1807 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
1808 and -Wunsafe-loop-optimizations.
1809 * grub-core/script/yylex.l: Likewise.
1810 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
1811 (print_glyphs): Avoid infinite loops.
1812 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
1813
697f18b0
GS
18142012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
1815
1816 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
1817 to avoid infinite loop.
1818 (disp_acpi_rsdt_table): Likewise.
1819
274416e8
VS
18202012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * grub-core/font/font.c (grub_font_load): Add support for default
1823 path for fonts ($prefix/fonts).
1824 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
1825 for checking if string is a path.
1826 * grub-core/normal/main.c (features): Add feature_default_font_path.
1827 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
1828 * util/grub.d/00_header.in: Use default directory if possible.
1829 * util/grub-install.in: Install unicode.pf2.
1830
b3e08622
VS
18312012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
1834 * po/Rules-swiss: New file.
1835 * po/swiss.sed: Likewise.
1836
fe42ce09
VS
18372012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * grub-core/fs/btrfs.c (find_device): Fix typos.
1840 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
1841 * util/grub-mkrelpath.c (argp_parser): Likewise.
1842 Reported by: Yuri Chornoivan.
1843
72f1d065
DO
18442012-02-23 Dalet Omega <daletomega@gmail.com>
1845
1846 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
1847 for usual informative messages.
1848
c5884973
DO
18492012-02-23 Dalet Omega <daletomega@gmail.com>
1850
1851 Starfield theme.
1852
1853 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
1854 * conf/Makefile.common: Define starfielddir.
1855 * configure.ac: Configure starfield.
1856 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
1857 * themes/starfield/README: Likewise.
1858 * themes/starfield/blob_w.png: Likewise.
1859 * themes/starfield/boot_menu_c.png: Likewise.
1860 * themes/starfield/boot_menu_e.png: Likewise.
1861 * themes/starfield/boot_menu_n.png: Likewise.
1862 * themes/starfield/boot_menu_ne.png: Likewise.
1863 * themes/starfield/boot_menu_nw.png: Likewise.
1864 * themes/starfield/boot_menu_s.png: Likewise.
1865 * themes/starfield/boot_menu_se.png: Likewise.
1866 * themes/starfield/boot_menu_sw.png: Likewise.
1867 * themes/starfield/boot_menu_w.png: Likewise.
1868 * themes/starfield/slider_c.png: Likewise.
1869 * themes/starfield/slider_n.png: Likewise.
1870 * themes/starfield/slider_s.png: Likewise.
1871 * themes/starfield/src/blob_nw.xcf: Likewise.
1872 * themes/starfield/src/bootmenu/: Likewise.
1873 * themes/starfield/src/bootmenu/center.xcf: Likewise.
1874 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
1875 * themes/starfield/src/bootmenu/side.xcf: Likewise.
1876 * themes/starfield/src/slider_c.xcf: Likewise.
1877 * themes/starfield/src/slider_n.xcf: Likewise.
1878 * themes/starfield/src/slider_s.xcf: Likewise.
1879 * themes/starfield/src/terminalbox/: Likewise.
1880 * themes/starfield/src/terminalbox/center.xcf: Likewise.
1881 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
1882 * themes/starfield/src/terminalbox/side.xcf: Likewise.
1883 * themes/starfield/starfield.png: Likewise.
1884 * themes/starfield/terminal_box_c.png: Likewise.
1885 * themes/starfield/terminal_box_e.png: Likewise.
1886 * themes/starfield/terminal_box_n.png: Likewise.
1887 * themes/starfield/terminal_box_ne.png: Likewise.
1888 * themes/starfield/terminal_box_nw.png: Likewise.
1889 * themes/starfield/terminal_box_s.png: Likewise.
1890 * themes/starfield/terminal_box_se.png: Likewise.
1891 * themes/starfield/terminal_box_sw.png: Likewise.
1892 * themes/starfield/terminal_box_w.png: Likewise.
1893 * themes/starfield/theme.txt: Likewise.
1894
17d73325
VS
18952012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * util/grub.d/00_header.in: Add missing export theme.
1898
dbebaf92
VS
18992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
1902 already included.
1903 Reported by: Eren D.
1904
3d68bffb
VS
19052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * conf/Makefile.common (grubdatadir): Removed.
1908 (Makefile.am): Move eveything grubdata to pkgdata.
1909
4b59234d
VS
19102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * grub-core/commands/acpihalt.c (get_sleep_type):
1913 Remove unused variable.
1914
463dcadc
VS
19152012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
1918 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
1919 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
1920 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
1921 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
1922 i18n with gettext no-op.
1923 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
1924 GRUB_ACPI_OPCODE_STRING_CONST.
1925 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
1926 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
1927
e5b90c82
VS
19282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 * po/POTFILES.in: Regenerate.
1931
2a704ca9
VS
19322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
1935 -Wno-error=missing-noreturn.
1936
84f9d341
VS
19372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
1940 condition to avoid possibly infinite loops.
1941 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
1942 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
1943
d46683f9
VS
19442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
1947 condition to avoid possibly infinite loops.
1948
c44866b2
VS
19492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
1952 on show_error.
1953
96790539
VS
19542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
1957
1ba7e295
VS
19582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
1961
21ffe8f1
VS
19622012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * util/bin2h.c (usage): Add missing attribute noreturn.
1965
0ccb6b3c
VS
19662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
1969 if the size isn't divisible by 512.
1970
b00d7fb6
VS
19712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 Make list_push and list_remove functions rather than inline functions
1974 to decrease size and avoid aliasing violations.
1975
1976 * include/grub/list.h (grub_list_push): Move to ...
1977 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
1978 * include/grub/list.h (grub_list_remove): Move to ...
1979 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
1980
9d369087
VS
19812012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
1984 and -Wunused-result.
1985
af0250d9
VS
19862012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
1989 Reported by: Seth Goldberg
1990
aad32b14
VS
19912012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
1994
ac96441c
ST
19952012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
1996
1997 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
1998 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
1999 command line.
2000 * docs/grub.texi (Simple configuration): Document
2001 GRUB_CMDLINE_GNUMACH.
2002
20032012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
2004
2005 * conf/Makefile.common (platform_SCRIPTS): New variable.
2006 (platform_PROGRAMS): Likewise.
2007 * gentpl.py: Mark *,module and *.image for install.
2008 * grub-core/gdb_grub.in: Add a notice of expected environment.
2009 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
2010 (gmodule.pl): Likewise.
2011
ac96441c 20122012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
2013
2014 Replace grub_checkkey with grub_getkey_noblock.
2015
2016 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
2017 (grub_getkey_noblock): ... this. All users updated.
2018
ac96441c 20192012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
2020
2021 * grub-core/kern/emu/console.c: Move to ...
2022 * grub-core/term/emu/console.c: ...here.
2023 (grub_ncurses_getkey): Fix return value if no key is detected.
2024
e51b5666
VS
20252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2026
2027 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
2028 (grub_unit_test_fini): Likewise.
2029 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
2030
20312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * include/grub/test.h (GRUB_UNIT_TEST)
2034
d9a62292
VS
20352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/script/execute.c (grub_script_break): Clarify logic.
2038 Better error handling.
2039 (grub_script_return): Likewise.
2040 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2041
77c9182f
VS
20422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
2045 rimplicit redifinition.
2046
edb13cf9
VS
20472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2048
2049 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
2050 GRUB.
2051
a9e9dc7c
VS
20522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
2055 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
2056 prompt here.
2057
b4ba8e02
VS
20582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
2061 as GRUB_ERR_BUG. Don't malloc if no device is available.
2062
dded5540
VS
20632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
2066 Mark calling with invalid term as GRUB_ERR_BUG.
2067
0cf69874
VS
20682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
2071 packets rather than raising an error.
2072
59bfe502
VS
20732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
2076 in if.
2077
db5fc596
VS
20782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
2081 diagnostic to dprintf.
2082 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2083
e4b7f404
VS
20842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
2087 device name.
2088
e7b02f9e
VS
20892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
2092 (grub_ntfs_iterate_dir): Likewise.
2093
0331e102
VS
20942012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 Efiemu stylistic fixes and gettext.
2097
2098 * grub-core/efiemu/i386/loadcore32.c
2099 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
2100 * grub-core/efiemu/i386/loadcore64.c
2101 (grub_arch_efiemu_relocate_symbols64): Likewise.
2102 * grub-core/efiemu/i386/pc/cfgtables.c
2103 (grub_machine_efiemu_init_tables): Likewise.
2104 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
2105 (grub_efiemu_loadcore_initXX): Add a filename argument.
2106 All users updated.
2107 Improved error message.
2108 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
2109 Add a filename argument.
2110 All users updated.
2111 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
2112 Reclassify double relocation as GRUB_ERR_BUG.
2113
306fc074
VS
21142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
2117 handling.
2118
794d8ef2
VS
21192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
2122 on partition.
2123
21242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
2125
2126 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
2127
794d8ef2 21282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
2129
2130 Improve string. Gettextize.
2131
78dde88e
VS
21322012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
2135 utils.
2136 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
2137
4786a90f
VS
21382012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
2141 [GRUB_UTIL]: New function.
2142 (insert_array) [GRUB_UTIL]: Store partmaps.
2143 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
2144 partmaps.
2145 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
2146 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
2147 (probe_abstraction): Print diskfilter and not raid.
2148 Reported by: Lennart Sorensen
2149
0b6225bd
VS
21502012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
2153 * util/grub-mkimagexx.c (MASK3): New define.
2154 (add_value_to_slot_20b): Use MASK3.
2155 (add_value_to_slot_21): Likewise.
2156 (relocate_addresses): Fix format specification.
2157 (load_image): Explicitly init symtab_section.
2158
b055f8f6
VS
21592012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
2162 (grub_util_biosdisk_get_grub_dev): Fix format specification.
2163
b77c2fb7
VS
21642012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
2167 on powerpc.
2168 Reported by: Lennart Sorensen
2169
e3ec28ab
VS
21702012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 * gentpl.py: Add missing license header.
2173 * docs/grub.texi: Update copyright year.
2174
c8d9ead6
GS
21752012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2176
2177 Source grub-mkconfig_lib from the build directory at build time.
2178 Suggested by: Vladimir Serbinenko.
2179
2180 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
2181 * util/grub-install.in: Define pkgdatadir if not already set, and source
2182 grub-mkconfig_lib from there.
2183 * util/grub-kbdcomp.in: Likewise.
2184 * util/grub-mkconfig.in: Likewise.
2185 * util/grub-mknetdir.in: Likewise.
2186 * util/grub-mkrescue.in: Likewise.
2187 * util/grub-mkstandalone.in: Likewise.
2188 * util/grub-reboot.in: Likewise.
2189 * util/grub-set-default.in: Likewise.
2190 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2191
ebcecdf1
VS
21922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 Increase warning level.
2195
2196 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
2197 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
2198 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
2199 (TARGET_CFLAGS): Likewise.
2200 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
2201 * grub-core/Makefile.core.def (decompressor_xz): Add
2202 -Wno-unreachable-code.
2203 (normal): Add -Wno-redundant-decls.
2204 (xzio): Add -Wno-unreachable-code.
2205 (lzopio): Add -Wno-redundant-decls -Wno-error.
2206 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
2207 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
2208 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
2209 * grub-core/kern/dl.c: Add exception to -Wcast-align.
2210 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
2211 * grub-core/kern/i386/coreboot/init.c: Add exception to
2212 -Wsuggest-attribute=noreturn.
2213 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
2214 * grub-core/kern/ia64/dl_helper.c: Likewise.
2215 * grub-core/kern/mips/dl.c: Likewise.
2216 * grub-core/kern/sparc64/dl.c: Likewise.
2217 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
2218 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
2219 (memcmp): Likewise.
2220 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
2221 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
2222 * grub-core/loader/mips/linux.c: Likewise.
2223 * grub-core/loader/multiboot_elfxx.c: Likewise.
2224 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
2225 * grub-core/video/sm712.c: Add exception to -Wcast-align.
2226 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
2227 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
2228 fixme.
2229 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2230 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
2231 Fix prototype.
2232
37bb97fe
VS
22332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
2236 address.
2237
29a3550b
VS
22382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2241 Avoid improper use of strings.
2242 (grub_cmd_legacy_initrdnounzip): Likewise.
2243
dfdffd0d
VS
22442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * include/grub/emu/misc.h (grub_util_warn): Add missing format
2247 attribute.
2248 (grub_util_info): Likewise.
2249 (grub_util_error): Likewise.
2250
102fae4a
VS
22512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
2254 * util/grub-fstest.c (fstest): Likewise.
2255
7e94d044
VS
22562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
2259 (grub_md_sha512_real): Likewise.
2260 (grub_util_get_geli_uuid): Likewise.
2261 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
2262 (grub_util_biosdisk_open): Fix format specification.
2263 Respect format security.
2264 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
2265 (xrealloc): Likewise.
2266 (xasprintf): Likewise.
2267
5ebd9769
VS
22682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * util/import_gcry.py: Include grub/crypto.h in init.c.
2271
495fc8c1
VS
22722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2273
2274 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2275 (generate_image): Make prefix a const char *.
2276 Fix format specifications. Respect format security.
2277 Avoid void * arithmetics.
2278 Avoid shadowing.
2279 (argp_parser): Remove unused variable. Respect format security.
2280 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2281 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2282 (count_funcs): Remove unused variable.
2283 (relocate_addresses): Fix format specification.
2284 Disable x86-64 with elf32. Remove unused variables.
2285 (add_fixup_entry): Avoid shadowing.
2286 (make_reloc_section): Fix format specification.
2287 Use assert.
2288 (locate_sections): Fix format specifications.
2289 (load_image): Avoid shadowing.
2290
043c2ea3
VS
22912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2294 Fix format specifications. Respect format security.
2295 Don't translate already translated grub_errmsg.
2296 (argp_parser): Remove unused variable
2297
3ec65a81
VS
22982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2301
a4d9fe4a
VS
23022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2305 (main): Likewise. Use xmalloc. Respect format security.
2306
15b81d49
VS
23072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2310 a const char *.
2311 (argp_parser): Remove unused variable.
2312
31731fc0
VS
23132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2316 (add_pixel): Make static.
2317 (add_font): Likewise.
2318 (write_string_section): Make name and str a const char *.
2319 (write_be16_section): Make name a const char *.
2320 (print_glyphs): Make static.
2321 (write_font_ascii_bitmap): Likewise.
2322 (write_font_width_spec): Likewise.
2323 (write_font_pf2): Likewise.
2324 (argp_parser): Remove unused variable.
2325 Respect format security.
2326 (main): Avoid shadowing. Respect format security.
2327
0809527b
VS
23282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 * util/grub-editenv.c (argp_parser): Make static.
2331 (create_envblk_file): Use xmalloc.
2332 (open_envblk_file): Likewise.
2333 Resepect format security.
2334 (set_variables): Respect format security.
2335
45b0c8b7
VS
23362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * util/getroot.c (grub_find_device): Respect format security.
2339 (get_mdadm_uuid): Remove unused variable.
2340 (grub_util_pull_device): Dont call gettext on already translated
2341 grub_errmsg.
2342 (find_system_device): Remove unused variable.
2343 (grub_util_get_grub_dev): Likewise.
2344 (grub_make_system_path_relative_to_its_root): Respect format security.
2345
1b024b4e
VS
23462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 * util/grub-fstest.c (execute_command): Make first argument
2349 a const char *.
2350 (read_file): Avoid shadowing.
2351 Reuse underlying error message if device open fails.
2352 (cmd_cmp): Respect format security.
2353 (root): Make const char *.
2354 (fstest): Remove args argument and use global copy.
2355 Respect format security.
2356 (argp_parser): Make static.
2357 (main): Make default_root const char *.
2358
5d1d4e28
VS
23592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * util/grub-mount.c (root): Make const char *.
2362 (execute_command): Make first argument a const char *.
2363 (fuse_init): Respect format security.
2364 (argp_parser): Make static. Remove unused variable.
2365 (main): Make default_root a const char *.
2366 Respect format security.
2367
36eb7379
VS
23682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * util/grub-probe.c (probe): Don't call gettext on already translated
2371 grub_errmsg.
2372 Remove unused variables.
2373 (argp_parser): Remove unused variable.
2374
76fb2ea9
VS
23752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * util/grub-script-check.c (argp_parser): Remove unused variable.
2378 (main): Rename read to curread to avoid shadowing.
2379
56c98584
VS
23802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * util/misc.c (grub_util_write_image_at): Fix format specification.
2383 (grub_util_write_image): Likewise.
2384 (grub_script_execute_argument_to_string): Removed (unused).
2385 (grub_script_execute_menuentry): Likewise.
2386 (grub_putchar): Likewise.
2387
164ebb48
VS
23882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
2391 (FUNCTION) [GRUB_UTIL]: Likewise.
2392 (VARIABLE) [GRUB_UTIL]: Likewise.
2393
44318d61
VS
23942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
2397 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
2398
31a26002
VS
23992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
2402 buffer.
2403
24042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
2407 (LzmaEnc_SaveState): Removed (unused).
2408 (LzmaEnc_RestoreState): Likewise.
2409 (LzmaEnc_InitPriceTables): Made static.
2410 (LzmaEnc_Construct): Likewise.
2411 (LzmaEnc_FreeLits): Likewise.
2412 (LzmaEnc_Destruct): Likewise.
2413 (LzmaEnc_Init): Likewise.
2414 (LzmaEnc_InitPrices): Likewise.
2415 (LzmaEnc_Finish): Likewise.
2416 (LzmaEnc_PrepareForLzma2): Removed (unused).
2417 (LzmaEnc_MemPrepare): Likewise.
2418 (LzmaEnc_GetNumAvailableBytes): Likewise.
2419 (LzmaEnc_GetCurBuf): Likewise.
2420 (LzmaEnc_CodeOneMemBlock): Likewise.
2421
6fa67967
VS
24222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
2425 (grub_util_ldm_embed): Likewise.
2426
9a7428e6
VS
24272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * util/grub-editenv.c (print_var): Rename name to varname to
2430 avoid shadowing.
2431 (main): Rename index to curindex to avoid shadowing.
31a26002 2432 Make filename a const char *.
9a7428e6 2433
4f96abd1
VS
24342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2437 to arg_getline to avoid shadowing.
2438
44d10dad
VS
24392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
2442 disk_ to avoid shadowing.
2443
340ba63e
VS
24442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
2447 curindex to avoid shadowing.
2448 Make static.
2449 (MatchFinder_GetNumAvailableBytes): Make static.
2450
22965bce
VS
24512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
2454 avoid shadowing.
2455
7b5784d4
VS
24562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
2459 argument from encrypt to do_encrypt to avoid shadowing.
2460
6f48ca01
VS
24612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
2464 incorrect nesting of #if's.
2465
a4ea2dff
VS
24662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
2469 checks which are always false on some platforms.
2470 (grub_cmd_lsacpi): Likewise.
2471 * grub-core/kern/misc.c (grub_strtoul): Likewise.
2472 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
2473 Likewise.
2474
def9fc1b
VS
24752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
2478 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
2479
a67b2a04
VS
24802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
2483 re_dfa_t to avoid breaking alignment invariants.
2484 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
2485 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
2486
44c6828d
VS
24872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
2490 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
2491
bebe0dd0
VS
24922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
2495 Fix declaration.
2496
a9cdb3cf
VS
24972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
2500 conserve alignment invariants.
2501 (grub_ehci_ehcc_read16): Likewise.
2502 (grub_ehci_oper_read32): Likewise.
2503 (grub_ehci_oper_write32): Likewise.
2504 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2505 Conserve alignment invariants.
2506
ccc3b1b8
VS
25072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
2510 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
2511 declarations.
2512
987fbd95
VS
25132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
2516 Remove unused variable.
2517
0df363f3
VS
25182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
2521 Remove set in if.
2522
b2c0c4a6
VS
25232012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * include/grub/net.h: Remove double declarations.
2526
690c531f
VS
25272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 Remove "payload" command in ia64 Linux loader since I couldn't
2530 find any evidence of it being used for anything.
2531 Replace "relocate" command with an environment variable
2532
2533 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
2534 fields.
2535 (ia64_boot_payload): Removed.
2536 (last_payload): Likewise.
2537 (RELOCATE_OFF): Likewise.
2538 (RELOCATE_ON): Likewise.
2539 (RELOCATE_FORCE): Likewise.
2540 (relocate): Likewise.
2541 (free_pages): Don't free payloads.
2542 (grub_load_elf64): Use common error messages.
2543 Use "linux_relocate" variable.
2544 Increase the space after boot_params.
2545 (grub_cmd_payload): Removed.
2546 (grub_cmd_relocate): Likewise.
2547 (grub_cmd_fpswa): Improve messages.
2548 (cmd_payload): Removed.
2549 (cmd_relocate): Likewise.
2550 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
2551 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
2552
01783768
VS
25532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 Convert UHCI to DMA framework.
2556
2557 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
2558 (grub_uhci_pci_iter): Fill new members
2559 (grub_alloc_td): Use P2V and V2P functions.
2560 (grub_free_queue): Likewise.
2561 (grub_alloc_qh): Likewise.
2562 (grub_uhci_setup_transfer): Likewise.
2563 (grub_uhci_check_transfer): Likewise.
2564
43206939
VS
25652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
2568 Remove assignment in if while on it.
2569
571e140e
VS
25702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * util/grub-mkstandalone.in: Fix modules directory.
2573
a9d96eeb
VS
25742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
2577 on i386-pc target.
2578 (argp_parser): Accept "auto" as compression specification.
2579
e4e37e8d
VS
25802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 Fix `help' with unloaded modules.
2583
2584 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
2585 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
2586 (grub_dyncmd_dispatcher): Small stylistic fix.
2587 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
2588 explicit help is requested.
2589
e1ea3ade
VS
25902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
2593 Explicitly init restart while on it.
2594
27556881
VS
25952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
2598 uninited variable.
2599
d65f6b36
VS
26002012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * util/grub-mknetdir.in: Use . rather than source for POSIX
2603 compatibility.
2604
0a1e473c
VS
26052012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
2608
ce6647c8
VS
26092012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
2612 variable.
2613
66747894
VS
26142012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
2617 without quotes.
2618
71645f6e
VS
26192012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
2622
0e1c1f61
VS
26232012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
2626 iteration of partitions.
2627
9c4b5c13
VS
26282012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 Improve gettext support. Stylistic fixes and error handling fixes while
2631 on it.
2632
215c90cb
VS
26332012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
2636 part. Instead setup the correct stack in RM.
2637 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
2638 for stack.
2639 * include/grub/i386/relocator_private.h: New file.
2640
b5c1f9bf
VS
26412012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
2644 argument.
2645 * util/grub-fstest.c (options): Add missing DEVICE part.
2646
b525fd83
VS
26472012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 Clarify and unify messages.
2650
2651 * grub-core/commands/hashsum.c (options): Unify messages.
2652 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
2653 literal-only message as translatable.
2654 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
2655 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
2656 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
2657 commands.
2658 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
2659 key, not the key used to unlock. Clarify what it's used for.
2660 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
2661 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
2662 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
2663 * util/grub-editenv.c (options): Unify "verbose" message.
2664 * util/grub-fstest.c (read_file): Unify error message.
2665 (fstest): Add quotes around commands.
2666 (options): Unify "verbose" message.
2667 * util/grub-install.in: Add quotes around variable name.
2668 * util/grub-kbdcomp.in: Unify error message.
2669 * util/grub-mkfont.c (main): Likewise.
2670 * util/grub-mkrescue.in: Likewise.
2671 * util/grub-mklayout.c (options): Unify "verbose" message.
2672 * util/grub-mkstandalone.in: Unify help and verbose messages.
2673 * util/grub-mount.c (options): Unify "verbose" message.
2674 * util/grub-probe.c (options): Likewise.
2675 * util/grub-script-check.c (options): Likewise.
2676 * util/grub-setup.c (setup): Unify no-terminator message.
2677 (options): Use DEVICE and not DEV.
2678 Unify "verbose" message.
2679 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
2680
0ae70393
VS
26812012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 Improve and unify messages.
2684
2685 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
2686 name. All users updated.
2687 Print filename in error.
2688 (read_device_map): Print filename in error.
2689 * util/getroot.c (grub_guess_root_devices): Print filename in error.
2690 (grub_util_get_os_disk): Likewise.
2691 (grub_util_biosdisk_get_grub_dev): Likewise.
2692 (grub_util_check_block_device): Likewise.
2693 (grub_util_check_char_device): Likewise.
2694 (grub_make_system_path_relative_to_its_root): Likewise.
2695 * util/grub-editenv.c (create_envblk_file): Likewise.
2696 (open_envblk_file): Likewise.
2697 (write_envblk): Likewise.
2698 * util/grub-fstest.c (cmd_cp): Likewise.
2699 (cmd_cat): Likewise.
2700 (cmd_cmp): Likewise.
2701 * util/grub-menulst2cfg.c (main): Likewise.
2702 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
2703 (write_font_width_spec): Likewise.
2704 (write_font_pf2): Likewise.
2705 * util/grub-mkimage.c (generate_image): New argument outname.
2706 All users updated.
2707 Remove unreacheable message.
2708 (options): Unify messages.
2709 (help_filter): Likewise.
2710 * util/grub-mklayout.c (usage): Removed (unused).
2711 (main): Print filename in error.
2712 * util/grub-mkrescue.in: Fix wrong quoting.
2713 * util/grub-setup.c (setup): Print filename in error.
2714 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
2715 (check_sas): Likewise.
2716 * util/misc.c (grub_util_get_fp_size): Removed.
2717 (grub_util_get_image_size): Print filename in error.
2718 (grub_util_read_at): Removed.
2719 (grub_util_read_image): Print filename in error.
2720 (grub_util_load_image): Likewise.
2721 (grub_util_write_image_at): New argument filename. All users updated.
2722 Print filename in error.
2723 (grub_util_write_image): New argument filename. All users updated.
2724 Print filename in error.
2725 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
2726 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
2727
0a96117d
VS
27282012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * grub-core/Makefile.core.def (pxechain): New module.
2731 * grub-core/loader/i386/pc/pxechainloader.c: New file.
2732 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
2733 function.
2734 (grub_pc_net_config_real): Use grub_pxe_get_cached.
2735 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
2736
aca002f7
VS
27372012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
2740 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
2741 * include/grub/err.h (grub_error_saved): New struct.
2742 (grub_errmsg): Make array size explicit.
2743 * include/grub/misc.h (grub_error_save): New function.
2744 (grub_error_load): Likewise.
2745 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
2746 (grub_error_push): Update `errno' member name.
2747 (grub_error_pop): Likewise
2748 * grub-core/net/tftp.c (tftp_data): New member save_err.
2749 (tftp_receive): Save error.
2750 (tftp_open): Restore error.
2751
a51dab13
VS
27522012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
2755 to real mode down to execute A20-related code in protected mode as
2756 intended.
2757
eb6e6649
GS
27582012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2759
2760 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
2761 NULL when the argument `level' has an unexpected value.
2762
92cd0f6e
VS
27632012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 Move platform-dependent files from $prefix to $prefix/$platform.
2766
2767 * config.h.in (GRUB_TARGET_CPU): New definition.
2768 (GRUB_PLATFORM): Likewise.
2769 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
2770 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
2771 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2772 * grub-core/kern/dl.c (grub_dl_load): Likewise.
2773 * grub-core/normal/autofs.c (read_fs_list): Likewise.
2774 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
2775 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
2776 * grub-core/normal/term.c (read_terminal_list): Likewise.
2777 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
2778 $prefix/locale.
2779 (grub_gettext_init_ext): Likewise.
2780 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
2781 grub_platform.
2782 * util/grub-install.in: Update directories.
2783 * util/grub-mknetdir.in: Likewise.
2784 * util/grub-mkrescue.in: Likewise.
2785
db606889
VS
27862012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
2789 grub_error framework. All users updated.
2790
c39992a4
VS
27912012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
2794 lists (by always binsearching), improve caching (cache strings
2795 used for binsearch, not only results), improve
2796 maintainability (by using more structured binary search) and correct
2797 error handling.
2798
1e5ec32f
VS
27992012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/script/execute.c (grub_script_return): Fix warning.
2802
ac576cde
VS
28032012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * grub-core/script/execute.c (grub_script_return): Fix potential
2806 NULL-dereference.
2807 Reported by: Jim Meyering.
2808
498453f6
VS
28092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 * po/POTFILES.in: Regenerate.
2812 * util/grub-install.in: Gettextize the strings missed in first pass.
2813
8be63f2e
VS
28142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 * Makefile.util.def (grub-mkdevicemap): Removed.
2817 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
2818 * include/grub/util/deviceiter.h: Removed.
2819 * util/deviceiter.c: Likewise.
2820 * util/getroot.c (grub_util_get_os_disk): New function.
2821 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
2822 replacement for EFI.
2823 * util/grub-mkdevicemap.c: Removed.
2824 * util/grub-probe.c (probe): Handle PRINT_DISK.
2825 (argp_parser): Handle -t disk.
2826
8e1e4e39
VS
28272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 * util/grub-mkfont.c: Migrate to argp.
2830 * util/grub-mklayout.c: Likewise.
2831 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2832 * util/grub-mkrelpath.c: Likewise.
2833 * util/grub-probe.c: Likewise.
2834 * util/grub-script-check.c: Likewise.
2835
4459819a
VS
28362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 * util/grub-reboot.in: Add missing datarootdir.
2839 Add missing newline.
2840 * util/grub-set-default.in: Add missing datarootdir.
2841 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
2842 * util/grub-mkrescue.in: Likewise.
2843
f65741c7
VS
28442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
2847
c1a33466
VS
28482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 * util/grub-kbdcomp.in: Add decent help and gettextize.
2851 * docs/man/grub-kbdcomp.h2m: New file.
2852
c76899a0
VS
28532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 Migrate grub-mkimage.c to argp.
2856
2857 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
2858 (grub-setup): Likewise.
2859 * util/grub-setup.c (print_version): Move to ...
2860 * util/argp_common.c (print_version): ... here.
2861 * util/grub-setup.c (argp_program_version_hook): Move to ...
2862 * util/argp_common.c (argp_program_version_hook): ... here.
2863 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
2864 safety.
2865 * util/grub-mkimage.c (main): Migrate to argp.
2866
57db0757
VS
28672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 * util/grub-mkrescue.in: Use same message as
2870 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
2871 for better translations.
2872
18534ad9
VS
28732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
2876 options with generic grub-mkrescue.in with the goal of future
2877 merge.
2878
c84ba308
VS
28792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * grub-core/kern/mm.c: Add missing include of i18n.h
2882 * grub-core/lib/relocator.c: Likewise.
2883
347998c2
VS
28842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
2887 error.
2888 (allocate_pages): Check return value.
2889 Replace fatal with error.
2890 (grub_linux_boot): Replace printf with dprintf.
2891 Check find_mmap_size return value.
2892 Replace fatal with error.
2893 Don't call grub_machine_fini.
2894 (grub_load_elf64): Replace printf with dprintf.
2895 (grub_cmd_linux): Likewise.
2896 (grub_cmd_initrd): Likewise.
2897 (grub_cmd_payload): Likewise.
2898
c779226e
VS
28992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
2902 message.
2903 * grub-core/video/radeon_fuloong2e.c
2904 (grub_video_radeon_fuloong2e_setup): Likewise.
2905 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
2906 * grub-core/video/video.c (grub_video_set_mode): Don't override
2907 standard out of memory message.
2908
dc87d45a
GS
29092012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2910
2911 NetBSD disk wedge support.
2912
2913 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
2914 [__NetBSD__]: Handle NetBSD disk wedges.
2915 * util/getroot.c (convert_system_partition_to_system_disk)
2916 [__NetBSD__]: Likewise.
2917
055f856f
MW
29182012-02-03 Mark Wooding <mdw@distorted.org.uk>
2919
2920 * util/grub-mkconfig.in: Use umask rather than chmod to create
2921 grub.cfg.new to avoid insecure grub.cfg.
2922
4a9f8346
VS
29232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * grub-core/commands/ls.c: Gettextize.
2926 * grub-core/commands/setpci.c: Likewise.
2927 * grub-core/commands/videotest.c: Likewise.
2928 * grub-core/disk/geli.c: Likewise.
2929 * grub-core/kern/mm.c: Likewise.
2930 * grub-core/lib/relocator.c: Likewise.
2931 * grub-core/loader/efi/appleloader.c: Likewise.
2932 * grub-core/loader/i386/xnu.c: Likewise.
2933 * grub-core/loader/ia64/efi/linux.c: Likewise.
2934 * grub-core/loader/xnu.c: Likewise.
2935 * grub-core/net/dns.c: Likewise.
2936 * grub-core/net/net.c: Likewise.
2937 * grub-core/script/lexer.c: Likewise.
2938 * grub-core/script/parser.y: Likewise.
2939 * grub-core/script/yylex.l: Likewise.
2940 * util/getroot.c: Likewise.
2941 * util/grub-setup.c: Likewise.
2942
a646a366
VS
29432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
2946 number.
2947
54e2be26
VS
29482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
2951
f7c71e68
VS
29522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
2955 macro.
2956 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
2957 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
2958
a32d5c71
VS
29592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
2962 * util/grub-install.in: Gettextize.
2963 * util/grub-mkconfig.in: Likewise.
2964 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
2965 if not available.
2966 (grub_warn): Gettextize.
2967 * util/grub-mknetdir.in: Gettextize.
2968 * util/grub-mkrescue.in: Likewise.
2969 * util/grub-mkstandalone.in: Likewise.
2970 * util/grub-reboot.in: Likewise.
2971 * util/grub-set-default.in: Likewise.
2972 * util/grub.d/00_header.in: Likewise.
2973 * util/grub.d/10_hurd.in: Likewise.
2974 * util/grub.d/10_kfreebsd.in: Likewise.
2975 * util/grub.d/10_linux.in: Likewise.
2976 * util/grub.d/10_netbsd.in: Likewise.
2977 * util/grub.d/10_windows.in: Likewise.
2978 * util/grub.d/20_linux_xen.in: Likewise.
2979 * util/grub.d/30_os-prober.in: Likewise.
2980 * po/POTFILES-shell.in: Regenerate.
2981
69edd81a
RL
29822012-02-03 Richard Laager <rlaager@wiktel.com>
2983
2984 * util/grub-mkimage.c (main): Fix format-security warning.
2985 * util/grub-mkrelpath.c (main): Likewise.
2986 * util/grub-probe.c (main): Likewise.
2987
65f08dbf
RL
29882012-02-03 Richard Laager <rlaager@wiktel.com>
2989
2990 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
2991 failure.
2992 Put back lost PRINT_DRIVE.
2993
e9084abe
RL
29942012-02-03 Richard Laager <rlaager@wiktel.com>
2995
2996 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
2997 (grub_guess_root_devices): Replace strlen with sizeof.
2998 Avoid crash.
2999 (find_root_devices_from_poolname): Remove unused variable.
3000 Handle raidzN.
3001
cf5f7ee7
VS
30022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 Support install on multi-device filesystems.
3005
3006 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
3007 (grub_guess_root_devices): ...this. Return char **. All users updated.
3008 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
3009 Removed.
3010 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
3011 (find_root_devices_from_poolname): ... here.
3012 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
3013 Support zfs-fuse.
3014 (grub_guess_root_device): Rename to ...
3015 (grub_guess_root_devices): ... this. Return char **. All users updated.
3016 * util/grub-install.in: Handle multi-device filesystems.
3017 * util/grub-probe.c (probe). Make device_names a char **. Add delim
3018 argument. All users updated.
3019 Handle multi-device filesystems.
3020 Use 'delim' as separator.
3021 Remove device check to allow filesystems on file.
3022 (main): Support -0 argument. Handle multi-device.
3023 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
3024 Fix a cross-device check while on it.
3025 (arguments): Remove root_dev.
3026 (argp_parser): Remove -r.
3027 (main): Remove root_dev.
3028
2f53a9ed
VS
30292012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
3032
17e1d934
VS
30332012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
3036 symbol.
3037 Reported by: NODA, Kai <nodakai>.
3038
d3e3fab5
VS
30392012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 Fix ehci on amd64.
3042
3043 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
3044 pointers.
3045 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
3046 (grub_ehci_setup_qh): Likewise.
3047 (grub_ehci_find_qh): Likewise.
3048 (grub_ehci_transaction): Likewise.
3049 (grub_ehci_setup_transfer): Likewise.
3050 (grub_ehci_check_transfer): Likewise.
3051 (grub_ehci_portstatus): Likewise.
3052 (grub_ehci_detect_dev): Likewise.
3053 (grub_ehci_transfer_controller_data): New field td_last_phys.
3054 (grub_ehci_setup_transfer): Fill td_last_phys.
3055 (grub_ehci_check_transfer): Use td_last_phys.
3056
3008675b
SG
30572012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
3058
3059 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
3060 if no submenu is present.
3061
fc9b5652
AN
30622012-02-01 Aleš Nesrsta <starous@volny.cz>
3063
3064 CBI support.
3065
3066 * include/grub/usb.h (grub_usbms_protocol_t): New values
3067 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
3068 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
3069 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
3070 (grub_usbms_dev): Add subclass, protocol and intrpt.
3071 Remove in_maxsz and out_maxsz.
3072 (grub_usbms_reset): Rename to ...
3073 (grub_usbms_bo_reset): .. this.
3074 (grub_usbms_cbi_cmd): New function.
3075 (grub_usbms_cbi_reset): Likewise.
3076 (grub_usbms_reset): Likewise.
3077 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
3078 (grub_usbms_transfer): Rename to ...
3079 (grub_usbms_transfer_bo): ... this.
3080 (grub_usbms_transfer_cbi): Likewise.
3081 (grub_usbms_transfer): Likewise.
3082
a2b81d53
AN
30832012-02-01 Aleš Nesrsta <starous@volny.cz>
30842012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
3087 the support for the CS5536 modification thereos and few bugfixes.
3088
3089 * grub-core/Makefile.core.def (ehci): New module.
3090 * grub-core/bus/usb/ehci.c: New file.
3091 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
3092 port and hubaddr. All users updated.
3093 Save port and hubaddr into dev structure.
3094 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
3095 define.
3096 * include/grub/pci.h (grub_dma_phys2virt): New function.
3097 (grub_dma_virt2phys): Likewise.
3098 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
3099
b1d51f02
VS
31002012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
3103 check as some mkfs implementations omit it.
3104
fc694106
VS
31052012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * docs/grub.texi (Unicode): Mention identifier and space limitations.
3108
6c0920e3
VS
31092012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
3112 Add new member volname2.
3113 (grub_jfs_label): Use volname2 if available.
3114
d1a46f9a
VS
31152012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
3118 over last_mounted as seen in image generated by mkfs.nilfs2.
3119 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
3120
dec8ed14
VS
31212012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
3124 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
3125 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
3126
7397c69b
VS
31272012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
3130 over the sector.
3131
b3fe42ad
VS
31322012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
3135 subvolume name (by removing a bogus and useless check).
3136
10476bb0
VS
31372012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
3140 sizeof while on it.
3141
9c08ad87
VS
31422012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
3145 (grub_scsi_read_capacity10): ... this.
3146 (grub_scsi_read_capacity16): New function.
3147 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
3148 0xffffffff.
3149 Fix off-by-one error.
3150 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
3151 64-bit unsigned.
3152 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
3153 (grub_scsi_read_capacity10): ... this.
3154 (grub_scsi_read_capacity_data): Rename to ...
3155 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
3156 (grub_scsi_read_capacity16): New struct.
3157 (grub_scsi_read_capacity16_data): Likewise.
3158 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
3159 grub_scsi_cmd_read_capacity10.
3160 New command grub_scsi_cmd_read_capacity16.
3161
bc8d0f45
VS
31622012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 SCSI >2TiB support.
3165
3166 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
3167 (grub_scsi_write16): Likewise.
3168 (grub_scsi_read): Use read16 when necessary.
3169 (grub_scsi_write): Likewise.
3170 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
3171 (grub_scsi_write16): Likewise.
3172 (grub_scsi_cmd_t): Add READ16 and WRITE16.
3173
cc774926
VS
31742012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 SCSI write support (for usbms mainly).
3177
3178 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
3179 a const pointer.
3180 (grub_scsi_write): Implement.
3181 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
3182
67639fd7
VS
31832012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
3186 variable.
3187
9079d3ed
VS
31882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * grub-core/lib/posix_wrap/string.h (memchr): New function.
3191
c6a6f204
VS
31922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 * po/POTFILES.in: Regenerate.
3195
ecbf8cd1
VS
31962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
3199 with grub_printf to avoid unnecessary fatal failure.
3200
0b3b3b38
VS
32012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
3204 (INT_MAX): Likewise.
3205 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
3206 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
3207 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
3208 (strcpy): Likewise.
3209 (strstr): Likewise.
3210 (strchr): Likewise.
3211 (strncpy): Likewise.
3212 (strcat): Likewise.
3213 (strncat): Likewise.
3214 (strcoll): Likewise.
3215 * include/grub/types.h (GRUB_SHRT_MAX): New define.
3216 (GRUB_INT_MAX): Likewise.
3217
db7337a3
VS
32182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
3221 unexpected error.
3222 (optimize_utf8): Likewise.
3223 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
3224
f37c87e1
VS
32252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * grub-core/boot/i386/pc/lnxboot.S: Use
3228 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
3229 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
3230 location.
3231 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
3232 definition.
3233 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
3234
63fe43f3
VS
32352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
3238 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
3239 now to avoid double free.
3240 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
3241 hostdisk.
3242 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
3243 * util/grub-probe.c (escape_of_path): Always return a new copy.
3244 (print_full_name): Escape path.
3245 (probe): Don't call grub_util_devname_to_ofpath on NULL.
3246 Fix hints on abstractions.
3247
ebe2c961
VS
32482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
3251 Don't add "root" line if no compatibility hont is available.
3252 Suggested by: Seth Goldberg.
3253
2b5336a2
VS
32542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
3257 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
3258 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
3259 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
3260
74310bd8
VS
32612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
3264
c30582ba
VS
32652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * util/grub-pe2elf.c (ehdr): Make static.
3268 (shdr): Likewise.
3269 (num_sections): Likewise.
3270 (offset): Likewise.
3271
5f47782c
VS
32722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 Eliminate ofpath limits and possible overflows.
3275
3276 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3277 (OF_PATH_MAX): Removed.
3278 (MAX_DISK_CAT): New const.
3279 (find_obppath): Use allocated rather than preallocated buffer.
3280 Return result. Argument of_path removed. All users updated.
3281 Add missing fdstat.
3282 (xrealpath): New function.
3283 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3284 Allocate rather than use preallocated buffer. All users updated.
3285 (__of_path_common): Use allocated rather than preallocatecd buffer.
3286 Return result. Argument of_path removed. All users updated.
3287 (vendor_is_ATA): Read only needed part form the file.
3288 (check_sas): Allocate depending on contents rather than fixed.
3289 (main) [STANDALONE]: Handle NULL result.
3290
f990cbf9
VS
32912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3294
9c6e84b8
VS
32952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 Cryptodisk write support.
3298
3299 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3300 (grub_cryptodisk_decrypt): Moved logic to ...
3301 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3302 (grub_cryptodisk_write): Implement.
3303 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3304 (grub_util_fd_write): ... this. Make global.
3305 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3306
87cf9744
VS
33072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * include/grub/list.h (grub_list_remove): Don't crash if element is
3310 removed twice.
3311
ca8c0baf
VS
33122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 Rename ofconsole to console.
3315
3316 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3317 as sysnonym to console.
3318 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3319 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3320 Rename grub_ofconsole_ to grub_console_. All users updated
3321 (grub_console_term_output): Rename "ofconsole" to "console".
3322 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3323 as "console".
3324
64c8b8f6
VS
33252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3328 handling.
3329 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3330 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3331 GRUB_DISK_DEVICE_FILE_ID.
3332
f6c434d5
VS
33332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3336 and improve performance.
3337
5858b42d
VS
33382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3339
3340 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
3341 missing ieee1275/ prefix on whole disk.
3342
4ed3c26b
VS
33432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
3346 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
3347
df71143e
VS
33482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
3351
076e7c0f
VS
33522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 Merge common RAID and LVM logic to an abstract diskfilter.
3355 Add LDM support using the same framework.
3356
3357 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
3358 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
3359 (libgrubmods): Remove grub-core/disk/raid.c and
3360 grub-core/partmap/gpt.c.
3361 * grub-core/Makefile.core.def (ldm): New module.
3362 (raid): Renamed to diskfilter. All users updated.
3363 * grub-core/disk/raid.c: Moved to ...
3364 * grub-core/disk/diskfilter.c: ... here.
3365 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
3366 (lv_num): New var.
3367 (find_array): Renamed to ...
3368 (find_lv): ... this. Support multi-LV. Skip nameless LVs
3369 (grub_is_array_readable): Renamed to ...
3370 (grub_is_lv_readable): ... this. Support multinode hierarchy.
3371 (insert_array): New argument id.
3372 (is_node_readable): New function.
3373 (scan_device): Rename to ...
3374 (scan_disk): .. this. Restrict to one disk.
3375 (scan_devices): New function.
3376 (grub_diskfilter_iterate): Support multi-LV.
3377 Skip invisible and nameless LVs.
3378 (grub_diskfilter_memberlist): Support multi-LV.
3379 (grub_diskfilter_read_node): New function.
3380 (grub_raid_read): Most of logic moved to ...
3381 (read_segment): ... here
3382 (read_lv): New function.
3383 (grub_diskfilter_get_vg_by_uuid): New function.
3384 (grub_diskfilter_make_raid): Likewise.
3385 * grub-core/disk/ldm.c: New file.
3386 * grub-core/disk/lvm.c (vg_list): Removed.
3387 (lv_count): Likewise.
3388 (scan_depth): Likewise.
3389 (is_lv_readable): Likewise.
3390 (grub_lvm_getvalue): Advance pointer past the number.
3391 (find_lv): Removed.
3392 (do_lvm_scan): Refactored into ...
3393 (grub_lvm_detect): ... this. Support raid.
3394 (grub_lvm_iterate): Removed.
3395 (grub_lvm_memberlist): Likewise.
3396 (grub_lvm_open): Likewise.
3397 (grub_lvm_close): Likewise.
3398 (read_lv): Likewise.
3399 (read_node): Likewise.
3400 (is_node_readable): Likewise.
3401 (is_lv_readable): Likewise.
3402 (grub_lvm_read): Likewise.
3403 (grub_lvm_write): Likewise.
3404 (grub_lvm_dev): Use diskfilter
3405 (GRUB_MOD_INIT): Likewise.
3406 (GRUB_MOD_FINI): Likewise.
3407 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
3408 new interface.
3409 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
3410 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3411 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
3412 grub_diskfilter_read_node.
3413 Fix a bug with xor.
3414 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
3415 grub_diskfilter_read_node.
3416 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
3417 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
3418 (grub_disk_dev_iterate): Move from here...
3419 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
3420 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3421 Make global.
3422 (grub_hostdisk_find_partition_start): Likewise.
3423 (grub_hostdisk_os_dev_to_grub_drive): New function.
3424 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
3425 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
3426 * util/getroot.c (make_device_name): ... here.
3427 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3428 Move to ...
3429 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
3430 * grub-core/kern/emu/hostdisk.c
3431 (convert_system_partition_to_system_disk): Move to ...
3432 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
3433 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
3434 * util/getroot.c (device_is_wholedisk): ... here.
3435 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
3436 * util/getroot.c (find_system_device): ... here.
3437 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
3438 Move to ...
3439 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
3440 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3441 Move to ...
3442 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
3443 Handle LDM.
3444 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3445 Move to ...
3446 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
3447 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
3448 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
3449 DISKFILTER.
3450 * include/grub/raid.h: Renamed to ...
3451 * include/grub/diskfilter.h: ... this.
3452 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
3453 (GRUB_RAID_LAYOUT_*): Make into array.
3454 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
3455 (grub_diskfilter_vg): New struct.
3456 (grub_diskfilter_pv_id): Likewise.
3457 (grub_raid_member): Removed.
3458 (grub_raid_array): Likewise.
3459 (grub_diskfilter_pv): New struct.
3460 (grub_diskfilter_lv): Likewise.
3461 (grub_diskfilter_segment): Likewise.
3462 (grub_diskfilter_node): Likewise.
3463 (grub_diskfilter_get_vg_by_uuid): New proto.
3464 (grub_raid_register): Inline.
3465 (grub_diskfilter_unregister): Likewise.
3466 (grub_diskfilter_make_raid): New proto.
3467 (grub_diskfilter_vg_register): Likewise.
3468 (grub_diskfilter_read_node): Likewise.
3469 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
3470 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
3471 (grub_util_is_ldm): Likewise.
3472 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
3473 (grub_hostdisk_find_partition_start): Likewise.
3474 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
3475 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
3476 New definition.
3477 (grub_gpt_partition_map_iterate): New proto.
3478 * include/grub/lvm.h (grub_lvm_vg): Removed.
3479 (grub_lvm_pv): Likewise.
3480 (grub_lvm_lv): Likewise.
3481 (grub_lvm_segment): Likewise.
3482 (grub_lvm_node): Likewise.
3483 * util/getroot.c [...]
3484 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
3485 (probe_abstraction): Likewise.
3486 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
3487 (main): Remove dead logic.
3488
8a7f9b9c
VS
34892012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 Simplify root device discover and don't fail when trying to open
3492 incorrect devices.
3493
3494 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
3495 function.
3496 (get_diskname_from_path): Likewise.
3497 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
3498 of iterating.
3499
30545b85
VS
35002012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
3503
28ea58cf
VS
35042012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
3507 pastthe end.
3508
692dabca
VS
35092012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * util/grub-install.in: Add missing \.
3512 Reported by: gentoofan
3513
f6e4ea70
VS
35142012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
3517 (direct_read): Use correct compressed size.
3518 (grub_squash_read_data): Likewise.
3519
35202012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
3521
3522 * docs/grub.texi (Platform limitations): New section.
3523 (Platform-specific operations): Likewise.
3524 * docs/grub-dev.texi (Porting): Likewise.
3525
76261110
VS
35262012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 IEEE1275 disk write support.
3529
3530 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
3531 const void *.
3532 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
3533 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
3534 and seek loginc to ...
3535 (grub_ofdisk_prepare): ... here.
3536 (grub_ofdisk_write): Implement.
3537
fc36d603
VS
35382012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 ARC disk write support.
3541
3542 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
3543 (reopen): New argument writable. All users updated.
3544 Handle required access mode.
3545 (grub_arcdisk_write): Implement.
3546 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
3547 (grub_arc_firmware_vector): Make buffer to write a const buffer.
3548
e06c2e7a
VS
35492012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
3552 (read_sblock): Don't attempt to read superblocks outside the disk size.
3553
ff447958
VS
35542012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
3557 first superblock to find the second one when possible.
3558
9e88df39
VS
35592012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * util/grub-install.in: Fix an ARC bug.
3562 Print a warning if no platform-specific setup is available.
3563
bb26e4ff
VS
35642012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 Use static allocation rather than scratch pointer in reed_solomon.
3567 It decreases its size significantly and avoids a variable in .text.
3568
3569 * grub-core/lib/reed_solomon.c (scratch): Removed.
3570 (chosenstat): New const or static array.
3571 (sigma): Likewise.
3572 (errpot): Likewise.
3573 (errpos): Likewise.
3574 (sy): Likewise.
3575 (mstat): Likewise.
3576 (errvals): Likewise.
3577 (eqstat): Likewise.
3578 (pol_evaluate): Replace x with log_x argument. All users updated.
3579 (syndroms): Removed.
3580 (gauss_solve): Use statically allocated arrays.
3581 (rs_recover): Likewise.
3582 Calculate syndroms directly.
3583 (decode_block): Use statically allocated arrays.
3584 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
3585 (main) [TEST]: Allow -DTEST -DSTANDALONE.
3586
2e13ede5
VS
35872012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 Eliminate fixed limit on reed solomon decoder length.
3590
3591 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
3592 rather than hardcoding the address.
3593 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
3594 no_reed_solomon_length.
3595 Move gate_a20 to no-reed-solomon part.
3596 Don't force a particular size of no reed-solomon part.
3597 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3598 Removed.
3599 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
3600 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
3601
f8a9ab12
VS
36022012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 * grub-core/commands/wildcard.c (match_files): Handle filenames
3605 without explicit device.
3606 (wildcard_expand): Don't add explicit device if not already present.
3607 * tests/grub_script_echo1.in: Add a new expansion test.
3608
87edb894
VS
36092012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3610
3611 Replace single-linked with double-linked lists. It results in more
3612 compact and more efficient code.
3613
3614 * grub-core/kern/list.c (grub_list_push): Moved from here ...
3615 * include/grub/list.h (grub_list_push): ... to here. Set prev.
3616 (grub_list_remove): Moved from here ...
3617 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
3618 (grub_prio_list_insert): Set prev.
3619 * include/grub/list.h (grub_list): Add prev. All users updated.
3620
48b391e9
VS
36212012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 Handle newer autotools. Add some missing quotes while on it.
3624
3625 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
3626 (pkglib_DATA): Move grub-mkconfig_lib from here ...
3627 (pkgdata_DATA): ... here.
3628 * Makefile.util.def (update-grub_lib): Removed.
3629 * conf/Makefile.common (pkglib_DATA): Removed.
3630 (pkglib_SCRIPTS): Likewise.
3631 (pkgdata_DATA): New variable.
3632 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
3633 needed.
3634 Add missing quotes.
3635 Remove unused variable while on it.
3636 * tests/util/grub-shell.in: Likewise.
3637 * util/grub-install.in: Likewise.
3638 * util/grub-mkconfig.in: Likewise.
3639 * util/grub-mknetdir.in: Likewise.
3640 * util/grub-mkrescue.in: Likewise.
3641 * util/grub-mkstandalone.in: Likewise.
3642 * util/grub.d/00_header.in: Likewise.
3643 * util/grub.d/10_hurd.in: Likewise.
3644 * util/grub.d/10_illumos.in: Likewise.
3645 * util/grub.d/10_kfreebsd.in: Likewise.
3646 * util/grub.d/10_linux.in: Likewise.
3647 * util/grub.d/10_netbsd.in: Likewise.
3648 * util/grub.d/10_windows.in: Likewise.
3649 * util/grub.d/20_linux_xen.in: Likewise.
3650 * util/grub.d/30_os-prober.in: Likewise.
3651 * util/update-grub_lib.in: Removed.
3652
36532012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
3654
3655 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
3656 a workaround for intel problem.
3657
66832792
PRP
36582012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
36592012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
36602012-01-23 pfsmorigo
3661
3662 * util/grub-install.in: Support dd'in into PreP partition.
3663 * util/grub-probe.c (probe): Support discovering partition type.
3664 (main): Support -t msdos_parttype.
3665
7816a17e
VS
36662012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
3669 infinite recursion using counter.
3670 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
3671 init to skip it if the magic check fails.
3672 (dec_stream_header): Init s->crc32.
3673
8f9d3a8c
ZB
36742012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
36752012-01-22 Zachary Bedell <pendorbound@gmail.com>
36762012-01-22 Richard Laager <rlaager@wiktel.com>
3677
3678 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
3679 All users updated.
3680 (find_bestub): Determine correct size.
3681 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
3682 (scan_disk): Align the size down.
3683 Call check pool before find_bestub to have ashift.
3684
b055dd32
VS
36852012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
3688 dprintf in no-malloc zone.
3689
d779e9bd
ML
36902012-01-22 Mario Limonciello <mario_limonciello@dell.com>
3691
3692 * configure.ac: Add back in test for limits.h.
3693
b508af69
VS
36942012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 Support 4K-sector NTFS.
3697
3698 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
3699 (grub_ntfs_data): Remove blocksize.
3700 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
3701 Remove data argument. All users updated.
3702
dad9c8b5
VS
37032012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
3706 being in .text to avoid dprel references.
3707 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
3708 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
3709 (grub_arch_highmemsize): Likewise.
3710 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
3711 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
3712 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
3713
d43a777e
VS
37142012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
3717
3718 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
3719 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
3720
34e4208f
VS
37212012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
3724 GRUB_UTIL.
3725 (grub_set_datetime_cmos): Likewise.
3726
3ec0fc1c
VS
37272012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 Make XZ compression parameters dependent on target and not host CPU.
3730
3731 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
3732 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
3733
22489834
VS
37342012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
3737 set but not used variable.
3738
8502fbca
VS
37392012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
3742 created when no uuid support is compiled into mkfs.reiser.
3743
76df2068
VS
37442012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
3747 (utf8_to_macroman): Do the opposite.
3748 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
3749
64e3f8f6
VS
37502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * configure.ac: Refise build qemu_mips w/o unifont.
3753
9c271078
VS
37542012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3755
3756 Eliminate grub_min/grub_max prone to overflow usage.
3757
3758 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
3759 (poll_nonroot_hub): Likewise.
3760 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
3761 (grub_affs_label): Likewise.
3762 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
3763 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
3764 (grub_hfs_label): Likewise.
3765 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
3766 * grub-core/fs/zfs/zfs.c (MIN): Remove.
3767 (zap_leaf_array_equal): Use grub_size. Remove MIN.
3768 (zap_leaf_array_get): Likewise.
3769 (dnode_get_path): Likewise.
3770 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
3771 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
3772 * grub-core/script/execute.c (grub_script_break): Likewise.
3773 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
3774 grub_max.
3775 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
3776 * include/grub/misc.h (grub_min): Removed.
3777 (grub_max): Likewise.
3778
80662dbc
VS
37792012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3780
3781 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
3782 direct.inode = 0.
3783
e6da1467
VS
37842012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
3787
b1ac4cb1
VS
37882012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
3791
b4bf7c3b
VS
37922012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
3795 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
3796
8ee1101a
VS
37972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3798
3799 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
3800 rather than a hack for grub_strncasemap.
3801
38022012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 Support multiple initrds
3805 Note: part of this was accidently committed in r3739.
3806
3807 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
3808 initrd.
3809 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3810 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3811 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3812 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3813 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3814
4d1e2bc9
VS
38152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
3818 disks with unknown size.
3819 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
3820
75b49ebe
VS
38212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 Remove defines pertaining to arbitrary limits not affecting GRUB
3824 anymore.
3825
3826 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
3827 (EXT2_MAX_SYMLINKCNT): Likewise.
3828 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
3829 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
3830 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
3831 (GRUB_PXE_MAX_BLKSIZE): Likewise.
3832 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
3833 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
3834 (DN_MAX_OBJECT_SHIFT): Likewise.
3835 (DN_MAX_OFFSET_SHIFT): Likewise.
3836 (DN_MAX_OBJECT): Likewise.
3837 (DNODES_PER_LEVEL_SHIFT): Likewise.
3838 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
3839 (SPA_MAXBLOCKSIZE): Likewise.
3840 (SPA_BLOCKSIZES): Likewise.
3841 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
3842 (MZAP_MAX_BLKSZ): Likewise.
3843
74a1dce7
VS
38442012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
3847 handle NULL appropriately.
3848 Remove MIN.
3849
30c7d3ce
VS
38502012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 Fix efiemu.
3853
3854 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
3855 cpu/types.h.
3856 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
3857 * configure.ac: Fix efiemu check.
3858
3c76ea0c
VS
38592012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
3862 grub_probe.
3863 Reported by: adamwill
3864
7e532280
SG
38652012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
3866
3867 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
3868
30492374
VS
38692012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 Fix handling of wide characters in gfxterm.
3872
3873 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
3874 (clear_char): Likewise.
3875 (paint_char): Skip code == NULL chars.
3876 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
3877
e70cb72f
VS
38782012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 * grub-core/normal/charset.c: Move comment to right place.
3881
5c827cf9
VS
38822012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
3885 (GRUB_AFFS_FLAG_FFS): Put back where it was.
3886 (grub_affs_mount): Revert the correct version checking.
3887
53603892
VS
38882012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * docs/grub.texi (Unicode): Mention several other unsupported features.
3891
ff094b9b
VS
38922011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
3895 case statements as compile-time one.
3896 (direct_read): Prevent spurious warnings.
3897 (grub_squash_read_data): Likewise.
3898
c029da8a
VS
38992011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 Various squash4 fixes and LZO and XZ support.
3902
3903 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
3904 Add xzembed source files.
3905 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
3906 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
3907 (grub_squash_inode): New subtype long_dir.
3908 (SQUASH_TYPE_LONG_DIR): New inode type.
3909 (COMPRESSION): New enum.
3910 (XZBUFSIZ): New const.
3911 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
3912 (read_chunk): Use data->decompress.
3913 (zlib_decompress): New function.
3914 (lzo_decompress): Likewise.
3915 (xz_decompress): Likewise.
3916 (squash_mount): Set new data fields.
3917 (grub_squash_iterate_dir): Handle long dir.
3918 (squash_unmount): Free xzdec and xzbuf.
3919 (grub_squash_open): Check ino type.
3920 (direct_read): Stylistic fixes. Use data->decompress.
3921 (grub_squash_read_data): Likewise.
3922 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
3923 (get_byte): Likewise.
3924 (grub_zlib_disk_read): Removed.
3925 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
3926 (GRUB_POSIX_BOOL_DEFINED): New define.
3927 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
3928 * grub-core/lib/xzembed/xz.h: Addmissing includes.
3929 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
3930 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
3931
7a45a539
VS
39322011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 Don't override more informative errors.
3935
3936 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
3937 * grub-core/font/font.c (open_section): Likewise.
3938 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
3939 filename. Don't override errors.
3940 (grub_cmd_openbsd_ramdisk): Don't override errors.
3941 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
3942 (grub_cmd_initrd): Likewise.
3943 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3944 (grub_cmd_initrd): Likewise.
3945 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
3946 (grub_cmd_linux): Likewise.
3947 (grub_cmd_initrd): Likewise.
3948 (grub_cmd_payload): Likewise.
3949 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3950 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
3951 (grub_cmd_module): Likewise.
3952 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3953 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3954 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
3955 (grub_cmd_xnu_mkext): Likewise.
3956 (grub_cmd_xnu_ramdisk): Likewise.
3957 (grub_xnu_check_os_bundle_required): Likewise.
3958 (grub_xnu_load_kext_from_dir): Likewise.
3959 (grub_cmd_xnu_kextdir): Likewise.
3960 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
3961
b2d004db
VS
39622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
3965 as 1024 in block size field. Found on one of my test images.
3966 Small optimisation while on it.
3967
ec000eac
VS
39682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
3971 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
3972 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
3973 performance fixes while on it.
3974 (grub_sfs_close): Fix memory leak while on it.
3975 (grub_sfs_label): Convert Latin1 to UTF-8.
3976
f50e1165
VS
39772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
3980 space to avoid overflows.
3981 (grub_hfs_label): Convert from macroman to UTF-8.
3982
2ae254de
VS
39832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
3986
0108f491
VS
39872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
3990
f45f5f89
VS
39912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * unicode: Import Unicode 6.0 data.
3994
4d8c4765
VS
39952011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3996
63fa8ef9
VS
3997 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
3998 outside of range.
3999
40002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
4003
4004 * include/grub/charset.h (grub_getend): New function.
4005 * grub-core/script/function.c (grub_script_function_find): Use
4006 grub_getend.
4007 * grub-core/normal/completion.c (add_completion): Likewise.
4008
f3cb4a4e
VS
40092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
4012 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
4013 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
4014 (GRUB_UNICODE_TAG_END): Likewise.
4015 (GRUB_UNICODE_LAST_VALID): Likewise.
4016
5da8dbc5
VS
40172011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
4020 len and make it smaller. All users updated.
4021 * util/import_unicode.py: Put length and not end character.
4022 Check length.
4023
8569f13d
VS
40242011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 Make better Unicode-compliant and unify some UTF-8 code pathes.
4027
4028 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
4029 valid character.
4030 (grub_is_valid_utf8): Use grub_utf8_process.
4031 Check resulting code range.
4032 (grub_utf8_to_ucs4): Use grub_utf8_process.
4033 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
4034 valid character.
4035
cc4fddf5
VS
40362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
4039
bbc47747
VS
40402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 * docs/grub.texi (Filesystems): Mention AFS.
4043
f63d6bf4
VS
40442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * docs/grub.texi (Filesystems): Clarify restrictions.
4047 (Regexp): Mention non-Unicode regexp behaviour.
4048 (Other): Mention non-Unicode matching behaviour.
4049
74bbf0db
VS
40502011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4051
f63d6bf4 4052 Make HFS implementation use MacRoman.
74bbf0db
VS
4053
4054 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
4055 (macroman): New const array.
4056 (macroman_to_utf8): New function.
4057 (utf8_to_macroman): Likewise.
4058 (grub_hfs_find_dir): Use utf8_to_macroman.
4059 (grub_hfs_dir): Use macroman_to_utf8.
4060 Set case_insensitive.
4061
4ea0316e
VS
40622011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
4065
d3c13cbd
VS
40662011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 Integrate hints into autogeneration scripts.
4069
4070 * docs/grub.texi (Filesystems): Add a hostdisk example.
4071 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
4072 (grub-probe): Add ofpath.
4073 * gentpl.py: Remove group nosparc64.
4074 * grub-core/commands/search.c (cache_entry): New struct.
4075 (cache): New var.
4076 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
4077 * grub-core/commands/search_wrap.c (options): Add platform-specific
4078 hint options.
4079 (grub_cmd_search): Handle platform-specific hints.
4080 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
4081 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
4082 (grub_util_biosdisk_data): Likewise.
4083 (grub_util_biosdisk_open): Set device_map.
4084 (read_device_map): Handle "" as indication of no map.
4085 Set device_map.
4086 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
4087 (grub_util_biosdisk_get_compatibility_hint): New function.
4088 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
4089 * include/grub/emu/hostdisk.h
4090 (grub_util_biosdisk_get_compatibility_hint): New proto.
4091 * util/grub-install.in: Don't call grub-mkdevicemap.
4092 Add platform-specific hint to load.cfg.
4093 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
4094 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
4095 hints. Set root preliminary to compatibility hint, not to OS name.
4096 * util/grub-probe.c (PRINT_*): Add hints.
4097 (print): Make static.
4098 (escape_of_path): New function.
4099 (guess_bios_drive): Likewise.
4100 (guess_efi_drive): Likewise.
4101 (guess_baremetal_drive): Likewise.
4102 (print_full_name): Likewise.
4103 (probe): Handle hints.
4104 (main): Likewise.
4105 * util/ieee1275/devicemap.c: Removed.
4106 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
4107 updated.
4108 (grub_util_devname_to_ofpath): Return NULL on failure.
4109
4110 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
4111 resource leak.
4112 * util/getroot.c (grub_util_pull_device): Fix memory leak.
4113
4114 * po/POTFILES.in: Regenerated.
4115
4116 Allow purely long options
4117
4118 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
4119 (SHORT_ARG_USAGE): Likewise.
4120 (grub_arg_show_help): Compare opt with help_options.
4121 (parse_option): Receive opt as argument. If makes big simplificatons.
4122 All users updated
4123
00ce2df3
VS
41242011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
4127 Restructure to avoid warning.
4128
e77e325f
VS
41292011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * util/grub-install.in: Account for possible escaped comma in device
4132 name.
4133
165099ea
VS
41342011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
4137 channel.
4138
ce4a999d
VS
41392011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
4142 allocation and zero-setting.
4143 (grub_ieee1275_get_devname): Check that alias is complete.
4144
379586ad
VS
41452011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
4148 unaligned segments.
4149
9197b0ad
VS
41502011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
4153 prefix.
4154 (grub_ofdisk_open): Check and discard ieee1275 prefix.
4155 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4156 Add ieee1275 prefix.
4157
edddb7f9
VS
41582011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * docs/grub.texi (Filesystems): Update.
4161
a1a8b1b9
VS
41622011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 Support odc, newc and bigendian cpio formats.
4165
4166 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
4167 * grub-core/Makefile.core.def (newc): New module.
4168 (odc): Likewise.
4169 (cpio_be): Likewise.
4170 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
4171 (MAGIC): Likewise.
4172 (MAGIC2): Likewise.
4173 (head) [MODE_ODC]: Adapt for the format.
4174 (head) [MODE_NEWC]: Likewise.
4175 (head) [!MODE_*]: Write fields of interest as arrays.
4176 (MAGIC_USTAR): Removed.
4177 (read_number) [MODE_NEWC]: Change to hex.
4178 (read_number) [!MODE_*]: Parse binary arrays.
4179 (grub_cpio_find_file): Factor out the code for better structure and
4180 always use read_number.
4181 (grub_cpio_mount): Use MAGIC and MAGIC2.
4182 (grub_cpio_dir): Exit on first hook non-0 return.
4183 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
4184 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
4185 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
4186 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
4187 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
4188 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
4189 * grub-core/fs/newc.c: New file.
4190 * grub-core/fs/odc.c: Likewise.
4191 * grub-core/fs/cpio_be.c: Likewise.
4192
58eba9ee
VS
41932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 Fix handling of tar numbers occupying the whole field.
4196
4197 * grub-core/fs/cpio.c (read_number): New function.
4198 (grub_cpio_find_file): Use read_number instead of strtoull.
4199
a54a0e12
VS
42002011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
4203 occupying the whole field size.
4204
a6120aca
LA
42052011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
4206
4207 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
4208
a93964ce
VS
42092011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
4212
3ea1ca46
SG
42132011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
4214
4215 * grub-core/Makefile.core.def (lzma_decompress): Add missing
4216 TARGET_IMG_LDFLAGS.
4217
b87f7ef2
VS
42182011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * util/getroot.c (ESCAPED_PATH_MAX): New define.
4221 (mountinfo_entry): Increase the field size to take escaping into
4222 account.
4223 (find_root_device_from_libzfs): Add one byte to size of strings for
4224 security.
4225
62092395
VS
42262011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
4229 an assert.
4230 * util/grub-setup.c (setup): Likewise.
4231
1f0b1a77
VS
42322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
4235 _LzmaDecodeA.
4236
8eba9997
VS
42372011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * docs/grub.texi (Internationalisation): New section.
4240
dd0c91e9
VS
42412011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * docs/grub.texi (Loopback booting): New section.
4244
42452011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
4246
4247 * util/grub-mkstandalone.in: Fix minor typo errors.
4248
198e150a
VS
42492011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
4252
4253 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
4254 net/icmp.c and net/icmp6.c.
4255 (http): New module.
4256 (priority_queue): Likewise.
4257 * grub-core/io/bufio.c: Rewritten.
4258 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
4259 TYPE_WITH_CONFIGFILE_OPTION.
4260 (legacy_commands): Add bootp and dhcp.
4261 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
4262 (grub_legacy_parse): Likewise.
4263 * grub-core/lib/priority_queue.c: New file.
4264 * grub-core/net/arp.c: Add missing license header.
4265 (arp_find_entry): Removed.
4266 (arp_find_entry): Likewise.
4267 (grub_net_arp_resolve): Rename to ...
4268 (grub_net_arp_send_request): ...this.
4269 (grub_net_arp_receive): New card argument.
4270 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
4271 Set router and DNS server.
4272 (grub_net_configure_by_dhcp_ack): Handle routing information.
4273 (grub_cmd_bootp): Set checksum.
4274 (grub_bootp_init): Remove net_dhcp.
4275 * grub-core/net/dns.c: New file.
4276 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4277 completion.
4278 (get_card_packet): Handle allocation.
4279 (grub_efinet_findcards): Set mtu.
4280 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4281 (get_card_packet): Handle allocation.
4282 (emucard): Set mtu.
4283 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4284 (GRUB_MOD_INIT): Set mtu.
4285 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4286 mtu.
4287 (get_card_packet): Handle allocation.
4288 (grub_ofnet_findcards): Set mtu.
4289 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4290 assert.
4291 (grub_net_recv_ethernet_packet): Handle IPv6.
4292 * grub-core/net/http.c: New file.
4293 * grub-core/net/icmp.c: Likewise.
4294 * grub-core/net/icmp6.c: Likewise.
4295 * grub-core/net/ip.c (ip6addr): New type.
4296 (ip6hdr): Likewise.
4297 (reassemble): Likewise.
4298 (cmp): New function.
4299 (reassembles): New variable.
4300 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4301 (id): New variable.
4302 (send_fragmented): New function.
4303 (grub_net_send_ip_packet): Rename to ...
4304 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4305 Handle non-UDP.
4306 (grub_net_recv_ip_packets): Rename to ...
4307 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4308 (free_rsm): New function.
4309 (free_old_fragments): Likewise.
4310 (grub_net_recv_ip4_packets): New function.
4311 (grub_net_send_ip6_packet): Likewise.
4312 (grub_net_send_ip_packet): Likewise.
4313 (grub_net_recv_ip6_packets): Likewise.
4314 (grub_net_recv_ip_packets): Likewise.
4315 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4316 (LINK_LAYER_CACHE_SIZE): New const.
4317 (link_layer_find_entry): New function.
4318 (grub_net_link_layer_add_address): Likewise.
4319 (grub_net_link_layer_resolve_check): Likewise.
4320 (grub_net_link_layer_resolve): Likewise.
4321 (grub_net_ipv6_get_slaac): Likewise.
4322 (grub_net_ipv6_get_link_local): Likewise.
4323 (grub_cmd_ipv6_autoconf): Likewise.
4324 (parse_ip): Handle one number representation.
4325 (parse_ip6): New functoion.
4326 (match_net): Handle IPv6.
4327 (grub_net_resolve_address): Handle IPv6 and DNS.
4328 (grub_net_resolve_net_address): Handle IPv6.
4329 (route_cmp): New function.
4330 (grub_net_route_address): Find best route.
4331 (grub_net_addr_to_str): Handle IPv6.
4332 (grub_net_addr_cmp): New function.
4333 (grub_net_add_addr): Register local route.
4334 (print_net_address): Handle net address.
4335 (grub_net_poll_cards): Retransmit TCP.
4336 (grub_net_poll_cards_idle_real): Likewise.
4337 (have_ahead): New function.
4338 (grub_net_seek_real): Use underlying seek.
4339 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
4340 * grub-core/net/tcp.c: New file.
4341 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
4342 (cmp): New function.
4343 (ack): Likewise.
4344 (tftp_receive): Handle unordered input.
4345 (destroy_pq): New function.
4346 (tftp_close): Close pq.
4347 * grub-core/net/udp.c: Put missing license header.
4348 (grub_net_udp_socket): New function.
4349 (udp_socket_register): Likewise.
4350 (grub_net_udp_close): Likewise.
4351 (grub_net_recv_udp_packet): Check checksum.
4352 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
4353 * include/grub/misc.h (grub_memchr): New function.
4354 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
4355 (grub_net_card_driver): Return buf in recv.
4356 (grub_net_slaac_mac_list): New struct.
4357 (grub_network_level_protocol_id): Add ipv6.
4358 (grub_net_network_level_addr): Likewise.
4359 (grub_net_network_level_net_addr): Likewise.
4360 (grub_net_app_protocol): Add seek.
4361 (grub_net_socket): Removed.
4362 (grub_net_sockets): Likewise.
4363 (grub_net_socket_register): Likewise.
4364 (grub_net_socket_unregister): Likewise.
4365 (FOR_NET_SOCKETS): Likewise.
4366 (grub_net_add_addr): Add const.
4367 (GRUB_NET_BOOTP_*): New enum.
4368 (grub_net_addr_cmp): New proto.
4369 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
4370 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
4371 (grub_net_hwaddr_to_str): NEw proto.
4372 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
4373 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
4374 (grub_dns_init): New proto.
4375 (grub_dns_fini): Likewise.
4376 (grub_net_tcp_retransmit): Likewise.
4377 (grub_net_link_layer_add_address): Likewise.
4378 (grub_net_link_layer_resolve_check): Likewise.
4379 (grub_net_link_layer_resolve): Likewise.
4380 (grub_net_dns_lookup): Likewise.
4381 (grub_net_add_dns_server): Likewise.
4382 (grub_net_remove_dns_server): Likewise.
4383 (GRUB_NET_TRIES): New const.
4384 (GRUB_NET_INTERVAL): Likewise.
4385 * include/grub/net/arp.h: Mostly rewritten.
4386 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
4387 * include/grub/net/ip.h: Mostly rewritten.
4388 * include/grub/net/netbuff.h: Indent.
4389 * include/grub/net/tcp.h: New file.
4390 * include/grub/net/udp.h: Mostly rewritten.
4391 * include/grub/priority_queue.h: New file.
4392 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
4393 (grub_swap_bytes64_compile_time): Likewise.
4394 (grub_cpu_to_be16_compile_time): Likewise.
4395 (grub_cpu_to_be32_compile_time): Likewise.
4396 (grub_cpu_to_be64_compile_time): Likewise.
4397 (grub_be_to_cpu64_compile_time): Likewise.
4398
215c1800
VS
43992011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
4402 UINT_TO_PTR with cast.
4403
c17e546c
VS
44042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
4407 don't use them.
4408
ff6b18b6
VS
44092011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
4412 already there.
4413
70ffcc93
VS
44142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
4417 confusing ipxe.
4418
e5f4d260
VS
44192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
4422 Add missing const attribute.
4423 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
4424 Likewise.
4425 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
4426 Likewise.
4427
8e54b4b7
VS
44282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
4431 misaligned access.
4432 (serpent_setkey): Likewise.
4433 (serpent_encrypt_internal): Likewise.
4434 (serpent_decrypt_internal): Likewise.
4435 (serpent_encrypt): Don't put an alignment-increasing cast.
4436 (serpent_decrypt): Likewise.
4437 (serpent_test): Likewise.
4438
813c0a2b
VS
44392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
4442
f2b60fbd
VS
44432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
4446
4447 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
4448 grub_addr_t casts.
4449 (PTR_TO_UINT64): Likewise.
4450 (PTR_TO_UINT32): Likewise.
4451
5ef5c511
VS
44522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 * util/grub-mkimage.c (generate_image): Decrease the higher limit
4455 because of stack.
4456 * util/grub-setup.c (setup): Don't add redundancy past the higher load
4457 limit.
4458
c476e6df
VS
44592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
4462 text_width > available width a bit more gracefully.
4463
384ad7cc
VS
44642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
4467 current address calculation.
4468
96f8caf8
VS
44692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
4472 stack.
4473 (encode_block): Likewise.
4474
276b7a8b
VS
44752011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
4478 certainety.
4479
e3fd394a
VS
44802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
4483 non-RS part to avoid RS messing with GDT.
4484 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4485 Increase to suit in realmode routines.
4486
44872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * grub-core/kern/i386/realmode.S: Increase alignment.
4490 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
4491
ee9c2e7a
VS
44922011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
4495 be deterministic.
4496 (syndroms): Compute 0 syndrom.
4497 (rs_recover): Use 0 syndrom.
4498
7a7f7cc9
VS
44992011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
4502
a14b16d1
VS
45032011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
4506 brackets.
4507
9f59e9fc
VS
45082011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4509
ca1b552c
VS
4510 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
4511 account.
4512 (get_top_pad): Likewise.
4513 (get_right_pad): Likewise.
4514 (get_bottom_pad): Likewise.
4515
45162011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 4519
e739d698
VS
45202011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
4523 attribute as the structure isn't guaranteed to be properly aligned.
4524 (grub_efi_pci_device_path): Likewise.
4525 (grub_efi_pccard_device_path): Likewise.
4526 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
4527 specify the size of `memory_type'.
4528 (grub_efi_vendor_device_path): Likewise.
4529 (grub_efi_controller_device_path): Likewise.
4530 (grub_efi_acpi_device_path): Likewise.
4531 (grub_efi_expanded_acpi_device_path): Likewise.
4532 (grub_efi_atapi_device_path): Likewise.
4533 (grub_efi_scsi_device_path): Likewise.
4534 (grub_efi_fibre_channel_device_path): Likewise.
4535 (grub_efi_1394_device_path): Likewise.
4536 (grub_efi_usb_device_path): Likewise.
4537 (grub_efi_usb_class_device_path): Likewise.
4538 (grub_efi_i2o_device_path): Likewise.
4539 (grub_efi_mac_address_device_path): Likewise.
4540 (grub_efi_ipv4_device_path): Likewise.
4541 (grub_efi_ipv6_device_path): Likewise.
4542 (grub_efi_infiniband_device_path): Likewise.
4543 (grub_efi_uart_device_path): Likewise.
4544 (grub_efi_vendor_messaging_device_path): Likewise.
4545 (grub_efi_hard_drive_device_path): Likewise.
4546 (grub_efi_cdrom_device_path): Likewise.
4547 (grub_efi_vendor_media_device_path): Likewise.
4548 (grub_efi_file_path_device_path): Likewise.
4549 (grub_efi_protocol_device_path): Likewise.
4550 (grub_efi_piwg_device_path): Likewise.
4551 (grub_efi_bios_device_path): Likewise.
4552
cb8f88ea
VS
45532011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
4556 (grub_ucs4_to_utf8_alloc): Likewise.
4557 (grub_ucs4_to_utf8): Likewise.
4558 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
4559 (grub_ucs4_to_utf8_alloc): Likewise.
4560
309e5352
VS
45612011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 AFFS never uses unicode.
4564
4565 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
4566 (grub_latin1_to_utf8): New inline function.
4567 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
4568
e7987e1b
VS
45692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
4572 overflow.
4573
efc2616e
VS
45742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
4577 (grub_squash_dirent_header): Likewise.
4578 (read_chunk): Don't double swap.
4579 (grub_squash_iterate_dir): Fix swap sizes.
4580
3c349f5a
VS
45812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
4584
b453412d
VS
45852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
4588 (grub_hfs_iterate_dir): Likewise.
4589
12e9d4d1
VS
45902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 Fix video on platforms where unaligned access is forbidden.
4593 Make several optimisations while on it.
4594
4595 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
4596 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4597 (grub_video_fbblit_replace_32bit_1bit): Likewise.
4598 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4599 Disable.
4600 (grub_video_fbblit_replace_16bit_1bit):
4601 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4602 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4603 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
4604 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
4605 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4606 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4607 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
4608 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
4609 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
4610 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
4611 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
4612 (grub_video_fbblit_replace_index_RGB888): Likewise.
4613 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
4614 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
4615 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
4616 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4617 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
4618 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4619 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4620 Disable.
4621 (grub_video_fbblit_blend_XXX565_1bit):
4622 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4623 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
4624 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
4625 void *.
4626 * grub-core/video/fb/video_fb.c (common_blitter)
4627 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
4628 (grub_video_fb_create_render_target_from_pointer)
4629 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4630 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
4631 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
4632 definition.
4633 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
4634
ace96609
VS
46352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
4638 HH22 and HM10 relocations.
4639
fd261d73
VS
46402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
4643
e59b7857
VS
46442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
4647 allocation succeeded.
4648
9b4baaa4
VS
46492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
4652 argument a u8 pointer. All users updated.
4653 Handle unaligned buffers.
4654
dc713193
VS
46552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
4658 add_part to workaround compiler bug.
4659
30dd48c2
VS
46602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
4663
0c6087a8
VS
46642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
4667 Reserve alignment invariants.
4668 (grub_multiboot_load): Likewise.
4669 (retrieve_video_parameters): Likewise.
4670 (grub_multiboot_make_mbi): Likewise.
4671
c2e77777
VS
46722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
4675 incorrect pointer.
4676
b70b6d11
VS
46772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
4680 (grub_pata_pio_write): Likewise.
4681
02a2bf83
VS
46822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 Add noreturn attributes and remove unreachable code.
4685
4686 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
4687 code.
4688 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
4689 code. Mark as noreturn.
4690 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
4691 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
4692 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
4693 unreachable code.
4694 * grub-core/kern/main.c (grub_main): Mark as noreturn.
4695 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
4696 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
4697 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
4698 * include/grub/kernel.h (grub_main): Mark as noreturn.
4699 * include/grub/reader.h (grub_rescue_run): Likewise.
4700
2019d09e
VS
47012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
4704 redundant declaration.
4705
d1c501ee
VS
47062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 * include/grub/net.h (grub_net_network_level_interfaces): Remove
4709 redundant declaration.
4710 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
4711
61664420
VS
47122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
4715 to ensure alignment.
4716 (grub_hdparm_print_identify): Make argument uint16 * to ensure
4717 alignment. Ensure tmp alignment.
4718 (grub_cmd_hdparm): Ensure buf alignment.
4719 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
4720 to ensure alignment.
4721 (grub_ata_dumpinfo): Ensure text alignment.
4722 (grub_atapi_identify): Preserve alignment invariant.
4723 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
4724
0d51ee20
VS
47252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
4728 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
4729 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
4730 * include/grub/misc.h (grub_reboot)
4731 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
4732 (grub_halt) [__mips__]: Likewise.
4733
753ef8c1
VS
47342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
4737 Remove redundant declaration.
4738 (grub_mmap_get_post64): Likewise.
4739 (grub_mmap_get_upper): Likewise.
4740 (grub_mmap_get_lower): Likewise.
4741
85c85365
VS
47422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4743
4744 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
4745 uint32_t * to ensure alignment.
4746 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
4747
a23f2cc4
VS
47482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4749
93018f64
VS
4750 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
4751 uint16_t * to ensure alignment.
4752 (sun_pc_partition_map_iterate): Make `block' a union to ensure
4753 alignment.
4754
47552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
4758 to ensure alignment.
4759 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
4760
58acccd6
VS
47612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 * grub-core/fs/ntfs.c (u16at): Make into inline function.
4764 Handle unaligned pointers.
4765 (u32at): Likewise.
4766 (u64at): Likewise.
4767 (fixup): Use byte access instead of v16at.
4768 (find_attr): Fix imporper usage of v32at.
4769 (read_data): Likewise.
4770 (list_file): Handle byte-swapping and unaligned strings.
4771 (grub_ntfs_label): Likewise.
4772
9b05cad7
VS
47732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
4776 as it's not necessarily aligned.
4777
b3950b84
VS
47782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
4781 redundant declaration.
4782 (grub_serial_init): Likewise.
4783 (grub_terminfo_init): Likewise.
4784
fcd232b7
VS
47852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
4788 function.
4789 (ZAP_HASH_IDX): Likewise.
4790 (ZAP_LEAF_HASH_SHIFT): Likewise.
4791 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
4792 (LEAF_HASH): Likewise.
4793 (ZAP_LEAF_NUMCHUNKS): Likewise.
4794 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
4795 alignment invariants. Return pointer. All users updated.
4796 (ZAP_LEAF_ENTRY): Make into inline function.
4797 (NBBY): Removed.
4798 (xor): LIkewise.
4799 (xor_out): Use grub_crypto_xor.
4800 (dnode_get_path): Use grub_get_unaligned.
4801 (nvlist_find_value): Likewise.
4802 (grub_zfs_nvlist_lookup_uint64): Likewise.
4803 (grub_zfs_nvlist_lookup_string): Likewise.
4804 (get_nvlist_size): Likewise.
4805 (grub_zfs_open): Likewise.
4806 (fill_fs_info): Likewise.
4807 (grub_zfs_dir): Likewise.
4808 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
4809 alignment invariants.
4810 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
4811 necessarily aligned.
4812
f138623a
VS
48132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
4816
564840dc
VS
48172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4818
4819 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
4820 arithmetic to conserve alignment invariants.
4821
9b40df20
VS
48222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
4825 redundant declaration.
4826 (grub_efiemu_mm_obtain_request): Likewise.
4827 (grub_efiemu_prepare): Likewise.
4828
d1c930f9
VS
48292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
4832 to match types.
4833
4c5f3056
VS
48342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
4837 case of aunaligned recptr.
4838 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
4839 alignment.
4840 (grub_hfsplus_btree_search): Handle unaligned index.
4841
728cba91
VS
48422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
4845 to get freetag and skip.
4846
eb561f31
VS
48472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
4850 array.
4851 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
4852 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
4853
20993fbb
VS
48542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
4857 name for checksum and fix allocation algorithm.
4858
1f313b94
VS
48592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * include/grub/types.h (grub_properly_aligned_t): New type.
4862 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
4863 (grub_get_unaligned16): Add explicit casts.
4864 (grub_get_unaligned32): Likewise.
4865 (grub_get_unaligned64): Likewise.
4866 (grub_set_unaligned16): New function.
4867 (grub_set_unaligned32): Likewise.
4868
47ae27ec
VS
48692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4872
78c2cd1c
VS
48732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
4876 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
4877 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
4878
53072f9b
VS
48792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
4882 conditionals.
4883
055dc239
VS
48842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
4887 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
4888
496bd074
VS
48892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 Unify and improve RAID and crypto xor.
4892
4893 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
4894 changed to grub_crypto_xor
4895 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
4896 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
4897 Use bigger types when possible.
4898
ef6e4335
VS
48992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 * grub-core/disk/raid.c (scan_devices): Fix condition.
4902
5d048bf2
VS
49032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
4906 Make name a const ptr.
4907
ee533335
VS
49082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
4911 first argument a const pointer.
4912 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
4913 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
4914 proto.
4915 (grub_children_iterate): Likewise.
4916 (grub_machine_mmap_iterate): Remove redundant declaration.
4917
cc8f3668
VS
49182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
4921 (grub_cmd_acpi) [!x86]: Disable EBDA.
4922
c5fc563a
VS
49232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 Enable UTF8 in gnulib regexp.
4926
4927 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
4928 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
4929 (isupper): Use grub_isupper.
4930 (isascii): New inline function.
4931 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
4932 * grub-core/lib/posix_wrap/wctype.h: Likewise.
4933 * grub-core/normal/charset.c (grub_utf8_process): New function.
4934 (grub_utf8_to_utf16): Use grub_utf8_process.
4935 (grub_encode_utf8_character): New function.
4936 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
4937 * include/grub/charset.h (grub_utf8_process): New declaration.
4938 (grub_encode_utf8_character): Likewise.
4939 * include/grub/misc.h (grub_islower): New inline function.
4940 (grub_isupper): Likewise.
4941 (grub_strchrsub): Moved down to fix the definitions.
4942
0af2346f
VS
49432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
4946 specification.
4947
74dbd244
VS
49482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * include/grub/loader.h (grub_loader_register_preboot_hook):
4951 Use struct preboot * and not void * for handle. All users updated.
4952 (grub_loader_unregister_preboot_hook): Likewise.
4953
1bc8f60d
VS
49542011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
4957 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
4958 UTF-16-BE. All users updated.
4959 (grub_hfsplus_cmp_catkey): Fix unicode handling.
4960 (grub_hfsplus_iterate_dir): Likewise.
4961 (grub_hfsplus_label): Likewise.
4962
48d6e456
VS
49632011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
4966
bf3a3857
VS
49672011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 Add missing const qualifiers.
4970
4971 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
4972 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
4973 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
4974 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
4975 (grub_lvm_check_flag): Likewise.
4976 * grub-core/efiemu/i386/coredetect.c
4977 (grub_efiemu_get_default_core_name): Likewise
4978 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4979 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
4980 * grub-core/fs/ntfs.c (fixup): Likewise.
4981 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
4982 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
4983 (fzap_lookup): Likewise.
4984 (zap_lookup): Likewise.
4985 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
4986 * grub-core/lib/legacy_parse.c (check_option): Likewise.
4987 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
4988 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
4989 (grub_freebsd_add_meta_module): Likewise.
4990 (grub_cmd_freebsd_module): Likewise.
4991 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
4992 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
4993 (grub_xnu_writetree_get_size): Likewise.
4994 (grub_xnu_writetree_toheap_real): Likewise.
4995 (grub_xnu_find_key): Likewise.
4996 (grub_xnu_create_key): Likewise.
4997 (grub_xnu_create_value): Likewise.
4998 (grub_xnu_register_memory): Likewise.
4999 (grub_xnu_check_os_bundle_required): Likewise.
5000 (grub_xnu_scan_dir_for_kexts): Likewise.
5001 (grub_xnu_load_kext_from_dir): Likewise.
5002 * grub-core/normal/color.c (color_list): Likewise.
5003 * grub-core/normal/completion.c (current_word): Likewise.
5004 * grub-core/normal/menu_entry.c (insert_string): Likewise.
5005 * grub-core/term/serial.c (grub_serial_find): Likewise.
5006 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
5007 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
5008 Likewise.
5009 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
5010 (grub_freebsd_add_meta_module): Likewise.
5011 * include/grub/lib/arg.h (grub_arg_option): Likewise.
5012 * include/grub/net.h (grub_net_card_driver): Likewise.
5013 (grub_net_card): Likewise.
5014 (grub_net_app_protocol): Likewise.
5015 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
5016 * include/grub/serial.h (grub_serial_find): Likewise.
5017 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
5018 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
5019 (grub_xnu_create_value): Likewise.
5020 (grub_xnu_find_key): Likewise.
5021 (grub_xnu_scan_dir_for_kexts): Likewise.
5022 (grub_xnu_load_kext_from_dir): Likewise.
5023
5024 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
5025 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
5026 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
5027 Moved from here ...
5028 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
5029
112b4837
CW
50302011-11-28 Colin Watson <cjwatson@ubuntu.com>
5031
5032 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
5033
49e891ac
VS
50342011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
5037 (read_device): Fix size calculation.
5038
fd258e5c
RM
50392011-11-25 Robert Millan <rmh@gnu.org>
5040
5041 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
5042 (find_root_device_from_libzfs): Add zpool output parser to be used
5043 as fallback when libzfs isn't available.
5044
78845dc2
SG
50452011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
5046
5047 * po/Makefile.in.in: Add missing escape-continuation.
5048
adac5211
VS
50492011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
5052
10b64f1c
VS
50532011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
5056
bb416954
VS
50572011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
5060
bdfe9eeb
VS
50612011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
5064
581ffa8a
VS
50652011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 * grub-core/lib/adler32.c: Add missing license specification.
5068 * grub-core/lib/crc64.c: Likewise.
5069 * grub-core/loader/i386/pc/plan9.c: Likewise.
5070 * grub-core/partmap/plan.c: Likewise.
5071
2536cf64
LK
50722011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
5073
5074 Add facility to debug GRUB with gdb under qemu.
5075
5076 * grub-core/gdb_grub.in: New file.
5077 * grub-core/gmodule.pl.in: Likewise.
5078 * grub-core/Makefile.core.def (gmodule.pl): New script.
5079 (gdb_grub): Likewise.
5080
bc108a4a
VS
50812011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * util/grub-mount.c (argp_parser): Accept relative pathes.
5084 * util/grub-fstest.c (argp_parser): Likewise.
5085
111c1778
VS
50862011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 Plan9 support.
5089
5090 * Makefile.util.def (libgrubmods): Add
5091 grub-core/partmap/plan.c.
5092 * docs/grub.texi: Notice Plan9 support.
5093 * grub-core/Makefile.core.def (plan9): New module.
5094 (part_plan): Likewise.
5095 * grub-core/loader/i386/pc/plan9.c: New file.
5096 * grub-core/partmap/plan.c: Likewise.
5097 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
5098 define.
5099 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
5100 * include/grub/mm.h (grub_extend_alloc): New inline function.
5101
c30be3b6
VS
51022011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 Make Reed-Solomon faster by using power of generator representation of
5105 GF(256)*.
5106
5107 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
5108 (gf_double_t): Likewise.
5109 (gf_invert): Removed.
5110 (gf_powx): New array.
5111 (gf_powx_inv): Likewise.
5112 (scratch): Move higher.
5113 (gf_reduce): Removed.
5114 (gf_mul): Use powx.
5115 (gf_invert): Likewise.
5116 (init_inverts): Replaced with ...
5117 (init_powx): ...this. All users updated.
5118 (pol_evaluate): Replace multiplications with additions.
5119 (rs_encode): Likewise.
5120 (gauss_eliminate): Call gf_invert.
5121 (grub_reed_solomon_add_redundancy): Call init_powx.
5122 (grub_reed_solomon_recover): Call init_powx unconditionally.
5123
fa5aeffc
VS
51242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
5127
a346b81c
VS
51282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
5131 disk->partiton for safety.
5132
d89ee414
VS
51332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5136 Fix a memory leak.
5137 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
5138
91ee7b6d
VS
51392011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
5142
91e5a33d
VS
51432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
5146
9edd7be2
VS
51472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 Fix spaces handling in proc/self/mountinfo.
5150
5151 * util/getroot.c (unescape): New function.
5152 (grub_find_root_device_from_mountinfo): Use unescape.
5153
ba102053
VS
51542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 Support ZFS embedding.
5157
5158 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
5159 (grub_zfs_fs): Register grub_zfs_embed.
5160
aa94b870
VS
51612011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 Fix MIPS compilation.
5164
5165 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
5166 * include/grub/offsets.h: Rename decompressor fields from
5167 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
5168 * util/grub-mkimage.c (image_targets): Use new names.
5169
5fbdac14
VS
51702011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 Defer multiboot device parsing until we're in compressed part.
5173
5174 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
5175 bsd_part. setdevice has fallen into disuse.
5176 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
5177 (bsd_part): Likewise.
5178 (boot_dev): New variable.
5179 (multiboot_trampoline): Don't parse multiboot device.
5180 Pass multiboot device in %edx.
5181 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
5182 grub_boot_device.
5183 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
5184 Likewise.
5185 * grub-core/kern/i386/pc/startup.S: Save edx.
5186 (grub_boot_drive): Removed.
5187 (grub_install_dos_part): Likewise.
5188 (grub_install_bsd_part): Likewise.
5189 (grub_boot_device): New variable.
5190 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
5191 (grub_install_bsd_part): Likewise.
5192 (grub_boot_drive): Likewise.
5193 (grub_boot_device): New variable.
5194 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
5195 Removed.
5196 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5197 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
5198 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
5199 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
5200 * util/grub-install.in: Remove redundant condition.
5201
691cbb58
VS
52022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 Fix bug introduced by previous commit.
5205
5206 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
5207
60240b8b
VS
52082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 Use decompressors framework on i386-pc. It increases core size
5211 by 46 bytes but improves compatibility and maintainability.
5212
5213 * grub-core/Makefile.core.def (lzma_decompress): New image.
5214 (kernel): Add i386_pc_ldflags.
5215 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
5216 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
5217 to real_to_prot, prot_to_real and device info.
5218 * include/grub/offsets.h: Renamed decompressor offsets.
5219 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
5220 (image_target_desc): Remove raw_size and rename decompressor fields.
5221 (compress_kernel): Handle lzma.
5222 (generate_image): Handle decompressors on i386-pc.
5223
e9d3421c
VS
52242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * configure.ac: Add -fno-asynchronous-unwind-tables.
5227
2b23074a
VS
52282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 Move assembly code to C by using intwrap. It increases core size
5231 by 88 bytes but improves compatibility and maintainability.
5232
5233 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
5234 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
5235 ... here. Translated to C.
5236 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
5237 * grub-core/term/i386/pc/console.c (grub_console_getkey):
5238 ... here. Translated to C.
5239 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
5240 * grub-core/term/i386/pc/console.c (grub_console_getxy):
5241 ... here. Translated to C.
5242 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
5243 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
5244 ... here. Translated to C.
5245 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
5246 * grub-core/term/i386/pc/console.c (grub_console_cls):
5247 ... here. Translated to C.
5248 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
5249 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
5250 ... here. Translated to C.
5251 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
5252 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
5253 Translated to C.
5254 * grub-core/term/i386/pc/console.c (int10_9): New function.
5255 (grub_console_putchar): Likewise.
5256 * include/grub/i386/pc/console.h: Removed the not anymore shared
5257 functions.
5258
678f4b67
VS
52592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 Move grub_chainloader_real_boot out of the kernel.
5262
5263 * grub-core/Makefile.am: Remove machine/loader.h.
5264 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5265 Removed.
5266 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
5267 variable.
5268 (grub_relocator16_keep_a20_enabled): Likewise.
5269 (grub_relocator16_boot): Fill new variables.
5270 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
5271 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
5272 relocator.
5273 (grub_chainloader_unload): Likewise.
5274 (grub_chainloader_cmd): Likewise.
5275 * include/grub/i386/pc/loader.h: Removed.
5276 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5277 and esi. All initialisers updated.
5278
4626edf6
VS
52792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
52802011-11-12 Colin Watson <cjwatson@ubuntu.com>
5281
5282 * Makefile.util.def (grub-mount): New util.
5283 * .bzrignore: Add grub-mount.
5284 * configure.ac: Check for fuse and enable grub-mount if available.
5285 * docs/man/grub-mount.h2m: New file.
5286 * util/grub-mount.c: Likewise.
5287
10f0117b
VS
52882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 * grub-core/commands/efi/fixvideo.c: Gettextize.
5291 * grub-core/commands/hashsum.c: Likewise.
5292 * grub-core/commands/i386/cmostest.c: Likewise.
5293 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5294 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5295 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5296 * grub-core/commands/lsmmap.c: Likewise.
5297 * grub-core/commands/menuentry.c: Likewise.
5298 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5299 * grub-core/commands/setpci.c: Likewise.
5300 * grub-core/loader/i386/bsd.c: Likewise.
5301 * grub-core/loader/i386/linux.c: Likewise.
5302 * util/getroot.c: Likewise.
5303 * util/grub-editenv.c: Likewise.
5304 * util/grub-fstest.c: Likewise.
5305 * util/grub-mkfont.c: Likewise.
5306 * util/grub-mkimage.c: Likewise.
5307 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5308 * util/grub-pe2elf.c: Likewise.
5309 * util/grub-probe.c: Likewise.
5310 * util/grub-setup.c: Likewise.
5311 * util/ieee1275/ofpath.c: Likewise.
5312 * util/misc.c: Likewise.
5313 * util/raid.c: Likewise.
5314
566f779b
RM
53152011-11-11 Robert Millan <rmh@gnu.org>
5316
5317 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5318 __attribute__((unused)) from `os_dev', which *is* being used.
5319
b50787de
VS
53202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5323 forgotten define.
5324 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5325 GRUB_IA64_DL_GOT_ALIGN.
5326 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5327 GRUB_IA64_DL_TRAMP_ALIGN.
5328
119d11c8
VS
53292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 Replace grub_fatal with normal errors in i386 linux loader.
5332
5333 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5334 (allocate_pages): Check find_efi_mmap_size return value.
5335 (grub_e820_add_region): Return error.
5336 (grub_linux_boot): Check mmap return value.
5337
6e0632e2
VS
53382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * grub-core/commands/acpihalt.c: Gettextized.
5341 * grub-core/commands/cacheinfo.c: Likewise.
5342 * grub-core/commands/cmp.c: Likewise.
5343 * grub-core/commands/efi/loadbios.c: Likewise.
5344 * grub-core/commands/gptsync.c: Likewise.
5345 * grub-core/commands/ieee1275/suspend.c: Likewise.
5346 * grub-core/commands/legacycfg.c: Likewise.
5347 * grub-core/commands/memrw.c: Likewise.
5348 * grub-core/commands/minicmd.c: Likewise.
5349 * grub-core/commands/parttool.c: Likewise.
5350 * grub-core/commands/time.c: Likewise.
5351 * grub-core/commands/videoinfo.c: Likewise.
5352 * grub-core/disk/geli.c: Likewise.
5353 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
5354 * grub-core/disk/luks.c: Likewise.
5355 * grub-core/disk/lvm.c: Likewise.
5356 * grub-core/font/font_cmd.c: Likewise.
5357 * grub-core/fs/zfs/zfscrypt.c: Likewise.
5358 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5359 * grub-core/gfxmenu/view.c: Likewise.
5360 * grub-core/kern/emu/hostdisk.c: Likewise.
5361 * grub-core/kern/emu/main.c: Likewise.
5362 * grub-core/kern/emu/misc.c: Likewise.
5363 * grub-core/kern/emu/mm.c: Likewise.
5364 * grub-core/kern/mips/arc/init.c: Likewise.
5365 * grub-core/kern/mips/loongson/init.c: Likewise.
5366 * grub-core/kern/partition.c: Likewise.
5367 * grub-core/lib/i386/halt.c: Likewise.
5368 * grub-core/lib/mips/arc/reboot.c: Likewise.
5369 * grub-core/lib/mips/loongson/reboot.c: Likewise.
5370 * grub-core/loader/i386/pc/chainloader.c: Likewise.
5371 * grub-core/loader/i386/xnu.c: Likewise.
5372 * grub-core/loader/multiboot.c: Likewise.
5373 * grub-core/net/bootp.c: Likewise.
5374 * grub-core/net/net.c: Likewise.
5375 * grub-core/normal/term.c: Likewise.
5376 * grub-core/partmap/bsdlabel.c: Likewise.
5377 * grub-core/parttool/msdospart.c: Likewise.
5378 * grub-core/term/gfxterm.c: Likewise.
5379 * grub-core/term/terminfo.c: Likewise.
5380 * grub-core/video/i386/pc/vbe.c: Likewise.
5381 * util/grub-menulst2cfg.c: Likewise.
5382 * util/grub-mkdevicemap.c: Likewise.
5383 * util/grub-mklayout.c: Likewise.
5384 * util/grub-mkrelpath.c: Likewise.
5385 * util/grub-script-check.c: Likewise.
5386 * util/ieee1275/grub-ofpathname.c: Likewise.
5387 * util/resolve.c: Likewise.
5388
073aa7a9
VS
53892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 Support %1$d syntax.
5392
5393 * tests/printf_unit_test.c: New file.
5394 * Makefile.util.def (printf_test): New test.
5395 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
5396
c76b5417
VS
53972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
5400 fix.
5401
df067ad1
VS
54022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
5405 dprintf.
5406 * grub-core/font/font.c (grub_font_load): Likewise.
5407
5b289bc5
VS
54082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * util/grub-macho2img.c: Add comment concerning gettext.
5411 * grub-core/lib/legacy_parse.c: Likewise.
5412
c1860f87
VS
54132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
5416 (grub_xvasprintf): Likewise.
5417
d35d0d37
VS
54182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 Add const keyword to grub_env_get and gettextize week days.
5421
5422 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
5423 (grub_read_hook_datetime): Return const char *.
5424 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
5425 updated.
5426 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5427 Mark for gettext.
5428 (grub_get_weekday_name): Return const char *. Call gettext.
5429 * grub-core/script/argv.c (grub_script_argv_append): Receive const
5430 char * and len as the argument. All users updated.
5431 (grub_script_argv_split_append): Receive const char *.
5432 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
5433 * include/grub/env.h (grub_env_get): Likewise.
5434 (grub_env_read_hook_t): Return const char *.
5435 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
5436 (grub_script_argv_split_append): Likewise.
5437
9aed8a71
VS
54382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
5441
067fdf00
VS
54422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
5445 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
5446
a8bd9d39
VS
54472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
5450 Fix prototype.
5451
f7ce5baf
VS
54522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 Fix mips compilation.
5455
5456 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
5457 normal decoder.
5458 (hashes): Use in embed decoder as well (for sizes).
5459 (dec_stream_header): Fix embed decompressor logic.
5460 (dec_stream_footer): Likewise.
5461
9bb182f3
VS
54622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
5465 an error and not a fatal on unrecognised relocation types.
5466
63a9e6f6
VS
54672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5470 Issue error rather than printf on unknown arguments.
5471
4c458569
VS
54722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
5475 Make buf a const.
5476
e2d22baf
VS
54772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
5480 Fix module name.
5481
53dc8590
VS
54822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
5485 leftover debug printf.
5486
6c189294
VS
54872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
5490
f7688369
VS
54912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
5494 A stylistic fix.
5495
11a775a3
VS
54962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
5499
33f784e8
SL
55002011-11-10 Shea Levy <slevy@tieronedesign.com>
5501
5502 Allow all modules to perform serial IO
5503
5504 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
5505 * include/grub/serial.h (grub_serial_port_configure): New inline
5506 function.
5507 (grub_serial_port_fetch): Likewise.
5508 (grub_serial_port_put): Likewise.
5509 (grub_serial_port_fini): Likewise.
5510 (grub_serial_find): New proto.
5511
f6276525
VS
55122011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 Put symlink at the end of the node and fix a potential
5515 memory corruption.
5516
5517 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
5518 Make symlink into an array.
5519 (set_rockridge): Set have_symlink and alloc_dirents.
5520 (grub_iso9660_read_symlink): Use new layout.
5521 (grub_iso9660_iterate_dir): Fix memory corruption.
5522 Use new layout.
5523 (grub_iso9660_dir): Set have_symlink.
5524 (grub_iso9660_open): Likewise.
5525
c3591189
VS
55262011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 Remove local keyword.
5529
5530 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
5531 (version_test_gt): Likewise.
5532 (version_find_latest): Likewise.
5533 (gettext_printf): Likewise.
5534 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
5535
cb544caa
VS
55362011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
5539
45bd824d
VS
55402011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 Fix ZFS memory and resource leaks.
5543
5544 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
5545 All users updated.
5546 Free type on exit.
5547 (fill_vdev_info): New parameter inserted. All users updated.
5548 (check_pool_label): Likewise.
5549 (scan_disk): Likewise.
5550 (scan_devices): Close non-inserted disks.
5551 (fzap_iterate): Free l.
5552 (unmount_device): Free children descripto memory.
5553
ad9a2f44
VS
55542011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
5557 argument (access out of bounds).
5558
6b68db81
VS
55592011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
5562 >= 6 drives.
5563
28840fda
VS
55642011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
5567 Fix declaration.
5568
8a5a3a5b
VS
55692011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 Fix several memory leaks.
5572
5573 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
5574 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
5575 (grub_cpio_dir): Likewise.
5576 * grub-core/fs/fat.c (grub_fat_label): Likewise.
5577 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
5578 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
5579 (grub_romfs_label): Likewise.
5580 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
5581 (squash_unmount): New function.
5582 (grub_squash_dir): Fix memory leak.
5583 (grub_squash_open): Likewise.
5584 (grub_squash_read): Likewise.
5585 (grub_squash_mtime): Likewise.
5586 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
5587 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
5588 * util/grub-fstest.c (fstest): Likewise.
5589
57b01250
VS
55902011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
5593 avoid accessing beyond the array.
5594
19e81ba7
VS
55952011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5596
5597 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
5598
52b656c0
VS
55992011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 Several AFFS fixes.
5602
5603 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
5604 (GRUB_AFFS_FLAG_FFS): Removed.
5605 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
5606 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
5607 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
5608 (grub_fshelp_node): Make block 32-bit.
5609 Add block_cache and last_block_cache.
5610 (grub_affs_read_block): Fill and use block cache.
5611 (grub_affs_read_file): Removed.
5612 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
5613 boot block.
5614 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
5615 safety.
5616 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
5617 space.
5618 (grub_affs_close): Free block cache.
5619 (grub_affs_read): Use grub_fshelp_read_file directly.
5620
438a746a
VS
56212011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
5624 with no error set.
5625
49a45021
VS
56262011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
5629 used variable.
5630 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5631 Likewise.
5632
3ae17eb8
VS
56332011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
5636
5637 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
5638 byteswap when needed.
5639
27610c38
VS
56402011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 Fix FreeBSD compilation.
5643
5644 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
5645 to avoid circular dependency.
5646 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
5647 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
5648 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
5649
4a19b601
VS
56502011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 Fix ZFS crypto error types.
5653
5654 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
5655 (grub_gcm_decrypt): Likewise.
5656 (grub_zfs_load_key_real): Fix error code type. Handle possible error
5657 from PBKDF2.
5658
958ee221
VS
56592011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 Illumos support.
5662
5663 * Makefile.util.def (10_illumos): New script.
5664 * configure.ac: Set COND_HOST_ILLUMOS.
5665 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
5666 Support Illumos calls.
5667 (find_partition_start) [__sun__]: Likewise.
5668 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
5669 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
5670 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
5671 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
5672 device.
5673 * util/grub-probe.c (probe) [__sun__]: Do character check.
5674 * util/grub.d/10_illumos.in: New file.
5675
cac14fb6
VS
56762011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 Support escaped commas in hostdisk.
5679
5680 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
5681 (find_grub_drive): Use unescape_cmp.
5682 (make_device_name): Escape commas.
5683
78e08dc3
VS
56842011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
5687
9f421dd1
VS
56882011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
5691 variable.
5692
ed64e9e2
VS
56932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 Support trampoline jumps on powerpc.
5696
5697 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
5698 __ia64__ path.
5699 (grub_dl_load_segments): Set mod->sz.
5700 (grub_dl_flush_cache): Flush whole space occupied by module, not just
5701 segments.
5702 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
5703 (jump): Likewise.
5704 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
5705 function.
5706 (trampoline): New struct.
5707 (trampoline_template): New const.
5708 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
5709 * include/grub/dl.h (grub_dl): Add sz element.
5710 [__powerpc__]: Follow __ia64__.
5711 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
5712 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
5713 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
5714 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
5715
3084ede4
VS
57162011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 ZFS crypto support.
5719
5720 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
5721 * grub-core/Makefile.core.def (zfscrypt): New module.
5722 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
5723 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
5724 it. All users updated.
5725 (grub_zfs_decrypt): New var.
5726 (grub_zfs_load_key): Likewise.
5727 (zio_checksum_functions): Add SHA256+MAC.
5728 (zio_checksum_verify): Handle incomplete comparison due to MAC.
5729 (zio_read): Handle encrypted blocks.
5730 (zap_verify): Remove incorrect check.
5731 (fzap_iterate): Handle non-standard fzap.
5732 (zap_iterate): Likewise.
5733 (zap_iterate_u64): New function.
5734 (dnode_get_fullpath): Load keys.
5735 * grub-core/fs/zfs/zfscrypt.c: New file.
5736 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
5737 (grub_crypto_ecb_encrypt): Make input const.
5738 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
5739 (grub_crypto_ecb_encrypt): Make input const.
5740 (GRUB_CIPHER_AES): New macro.
5741 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
5742 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
5743 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
5744 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
5745 prefix. All users updated.
5746 (grub_zfs_add_key): New proto.
5747 (grub_zfs_decrypt): Likewise.
5748 (grub_zfs_load_key): Likewise.
5749 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
5750 * util/grub-fstest.c (options): Add -K option.
5751 (argp_parser): Likewise.
5752
b632b404
VS
57532011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 Support zle compression on ZFS.
5756
5757 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
5758 (decomp_table): Add zle.
5759 * include/grub/zfs/zio.h (zio_compress): Add zle.
5760
c7ba4f69
VS
57612011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 Support BtrFS embedding.
5764
5765 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
5766 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
5767 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
5768 * util/grub-setup.c (setup): Use fs embedding if available.
5769 Add additional sanity check.
5770
455377d9
VS
57712011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * util/grub-install.in: Fix condition for config_opt.
5774
c2fd16ca
VS
57752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 Support third redundancy strip on raidz3.
5778
5779 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
5780 Return error on singularity. All users updated.
5781 (read_device): Don't stop on 3rd failure on raidz3.
5782
8622923b
VS
57832011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 Support case-insensitive ZFS subvolumes.
5786
5787 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
5788 All users updated.
5789 (zap_hash): Likewise.
5790 (name_cmp): New function.
5791 (zap_leaf_array_equal): New parameter case_insensitive.
5792 All users updated.
5793 (zap_leaf_lookup): Likewise.
5794 (fzap_lookup): Likewise.
5795 (zap_lookup): Likewise.
5796 (dnode_get_path): New parameter case_insensitive. Retrieve case
5797 sensitiviness of a volume. All users updated.
5798 (dnode_get_fullpath): New parameter case_insensitive.
5799 All users updated.
5800 (grub_zfs_dir): Set info.case_insensitiveness.
5801
95f2e860
VS
58022011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 Support second redundancy strip on raidz(2,3).
5805
5806 * grub-core/fs/zfs/zfs.c (powx): New array.
5807 (powx_inv): Likewise.
5808 (poly): New const.
5809 (xor_out): New function.
5810 (gf_mul): Likewise.
5811 (recovery): Likewise.
5812 (read_device): Use second redundancy strip.
5813
11ee4389
VS
58142011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 Use a power of generator representation of GF(256) multiplication group
5817 to save space time and complexity.
5818
5819 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
5820 (raid6_table2): Likewise.
5821 (powx): New array.
5822 (powx_inv): Likewise.
5823 (poly): New const.
5824 (grub_raid_block_mul): Replace with ...
5825 (grub_raid_block_mulx): ...this.
5826 (grub_raid6_init_table): Rewritten.
5827 (grub_raid6_recover): Use power of generator representation.
5828
09e2763f
VS
58292011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
5832 for the right device.
5833
8bec9a28
VS
58342011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
5837 expected by grub-mkimage and it's more clear since there is no implicit
5838 padding.
5839
dbd3a32e
VS
58402011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
5843 disk.
5844 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5845
182c872a
PMH
58462011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
5847
5848 * util/grub-mkrescue.in: Fix handling xorriso option.
5849
1e51cabd
VS
58502011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5851
5852 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
5853 NULL.
5854
9cc3581d 58552011-11-03 crocket <crockabiscuit@gmail.com>
5856
5857 * util/grub.d/10_linux.in: Add Slackware initrd naming.
5858
158dc1ea
VS
58592011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5860
5861 XZ CRC64 and SHA256 support.
5862
5863 * Makefile.util.def (libgrubmods): Add crc64.c.
5864 * grub-core/Makefile.core.def (crc64): New module.
5865 * grub-core/lib/crc64.c: New file.
5866 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
5867 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
5868 Fix the type.
5869 (MAX_HASH_SIZE): New define.
5870 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
5871 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
5872 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5873 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5874 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
5875 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
5876 Handle non-crc32 hashes.
5877 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
5878 (dec_stream_header): Handle non-crc32 hashes.
5879 (dec_stream_footer): Likewise.
5880 (dec_block_header): Likewise.
5881 (dec_main): Likewise.
5882 (xz_dec_init): Likewise.
5883 (xz_dec_reset): Likewise.
5884 (xz_dec_end): Likewise.
5885 * util/import_gcry.py: Add CRC64 line.
5886
9d9b3d2f
VS
58872011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
5890 as well.
5891
7d0ac931
VS
58922011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5893
5894 Make reiserfs label retrieval similar to other *_label functions.
5895
5896 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
5897 (REISERFS_MAX_LABEL_LENGTH): Removed.
5898 (REISERFS_LABEL_OFFSET): Likewise.
5899 (grub_reiserfs_label): Rewritten.
5900
59012011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
5904 field.
5905
cf5ba824
VS
59062011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
5909
17744004
VS
59102011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5911
5912 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
5913 drive failure on both raidz and raidz2.
5914
aca5aefc
VS
59152011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 Fix RAIDZ(2) for >= 5 devices.
5918
5919 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
5920 asize argument. All users updated.
5921
ce8ca56e
VS
59222011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 Fix RAIDZ(2).
5925
5926 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
5927 (fill_vdev_info_real): Set ashift.
5928 (read_device): Rewrite RAIDZ part based on reverse engineering.
5929
7c01e783
VS
59302011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5931
5932 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
5933 don't report potentially unavialiable fields in debug output.
5934 (find_path): Fix double-free and memory leak.
5935
ce109e84
VS
59362011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 Read label on UFS1.
5939
5940 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
5941 (grub_ufs_fs): Always set .label.
5942
87661123
VS
59432011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 Use shifts in UFS.
5946
5947 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
5948 (grub_ufs_data): New field log2_blksz.
5949 (grub_ufs_read_file): Use shifts.
5950 (grub_ufs_mount): Check block size and logarithm it.
5951
46bc1dc2
VS
59522011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
5955 long symlinks.
5956
19ee2987
VS
59572011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 Handle symlinks and long names on tar and cpio.
5960
5961 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
5962 (ATTR_FILE): Likewise.
5963 (ATTR_DIR): Likewise.
5964 (ATTR_LNK): Likewise.
5965 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
5966 (grub_cpio_find_file): Fill mode, handle linkname field as well as
5967 L and K entries.
5968 (grub_cpio_mount): Zero-fill data.
5969 (handle_symlink): New function.
46bc1dc2
VS
5970 (grub_cpio_dir): Handle symlinks.
5971 (grub_cpio_open): Likewise.
5972 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 5973
c83a08d8
VS
59742011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 Fix iso9660 filename limitations and fix memory leaks.
5977
5978 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
5979 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
5980
45cdd3ea
VS
59812011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 Fix JFS file name length limitations.
5984
5985 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
5986 (grub_jfs_diropen): Fix maximum filename length.
5987 (grub_jfs_getent): Fix filename length.
5988 (grub_jfs_lookup_symlink): Fix size checks.
5989
94ef05c2
VS
59902011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
5993 string.
5994
785ab8c7
VS
59952011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5996
eb0b6b45
VS
5997 Leverage BFS implementation to read AFS.
5998
5999 * Makefile.util.def (libgrubmods): Add afs.c.
6000 * grub-core/Makefile.core.def (afs): New module
6001 * grub-core/fs/afs.c: New file.
6002 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
6003
60042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 6007
c4a1628f
VS
60082011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 * grub-core/fs/bfs.c: Run indent.
6011
5825b379
VS
60122011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 BFS implementation based on the specification.
6015
6016 * grub-core/fs/bfs.c: New file.
6017 * Makefile.util.def (libgrubmods): Add bfs.c.
6018 * grub-core/Makefile.core.def (bfs): New module.
6019
42b2a706
VS
60202011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 * util/grub-fstest.c (cmd_cp): Clarify error message.
6023 (cmd_cmp): Likewise.
6024
61b99bfc
YB
60252011-10-30 Yves Blusseau <blusseau@zetam.org>
6026
6027 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
6028 and befs_be.
6029
faba3d16
VS
60302011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 Remove afs and befs because of copyright problem.
6033
6034 * grub-core/fs/afs.c: Removed.
6035 * grub-core/fs/afs_be.c: Removed.
6036 * grub-core/fs/befs.c: Removed.
6037 * grub-core/fs/befs_be.c: Removed.
6038 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
6039 * grub-core/Makefile.core.def (afs): Removed.
6040 (afs_be): Likewise.
6041 (befs): Likewise.
6042 (befs_be): Likewise.
6043
c39224b0
VS
60442011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 Prefer rockridge over Joliet.
6047
6048 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
6049 to ...
6050 (set_rockridge): ... here.
6051 (grub_iso9660_mount): Check rockridge on the primary label when
6052 discovering. Ignore Joliet if Rockridge is present.
6053
e551115a
VS
60542011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 Use shifts in nilfs2.
6057
6058 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
6059 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
6060 (grub_nilfs2_palloc_entries_per_group): Replace with ...
6061 (grub_nilfs2_log_palloc_entries_per_group): ... this.
6062 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
6063 (grub_nilfs2_entries_per_block): Replaced with ...
6064 (grub_nilfs2_log_entries_per_block_log): ... this.
6065 (grub_nilfs2_blocks_per_group): Replaced with ...
6066 (grub_nilfs2_blocks_per_group_log): ... this.
6067 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
6068 (grub_nilfs2_blocks_per_desc_block_log): ... this.
6069 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
6070 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
6071 (grub_nilfs2_palloc_entry_offset): Replaced ...
6072 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
6073 (grub_nilfs2_dat_translate): Use shifts.
6074 (grub_nilfs2_read_inode): Likewise.
6075 (GRUB_MOD_INIT): Ensure that logs are correct.
6076
564dd58c
VS
60772011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 Use shifts in minix filesystem.
6080
6081 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
6082 (GRUB_MINIX_ZONE2SECT): Likewise.
6083 (grub_minix_data): Replace block_size with log_block_size.
6084 (grub_minix_read_file): Use shifts.
6085 (grub_minix_mount): Check block size and take a logarithm.
6086
ed9ba06d
VS
60872011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 Use shifts in squash4.
6090
6091 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
6092 (squash_mount): Check block size and take logarithm.
6093 (direct_read): Use shifts.
6094
ad03fe76
VS
60952011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 Correct befs block counting logic.
6098
6099 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
6100 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
6101 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
6102 (grub_afs_read_inode): Use block_shift.
6103 (RANGE_SHIFT): New definition.
6104 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
6105 unexpected conditions, use shifts and appropriate types.
6106 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
6107
6563f63d
VS
61082011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * grub-core/disk/raid.c (scan_devices): Check partition.
6111 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6112
5b1ae25f
VS
61132011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 Support BFS (befs) UUID.
6116
6117 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
6118 (grub_afs_small_data_element_header): New struct.
6119 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
6120 (grub_afs_read_attribute) [MODE_BFS]: New function.
6121 (grub_afs_iterate_dir): Allocate for complete inode.
6122 (grub_afs_mount): Likewise.
6123 (grub_afs_uuid) [MODE_BFS]: New function.
6124 (grub_afs_fs) [MODE_BFS]: Add .uuid.
6125
f8d82408
VS
61262011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
6129 (zfs_unmount): Fix memory leak.
6130
5773fb64
VS
61312011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 Support NTFS reparse points.
6134
6135 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
6136 (symlink_descriptor): New struct.
6137 (grub_ntfs_read_symlink): New function.
6138 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
6139 (grub_ntfs_open): Likewise.
6140
91c3fdde
VS
61412011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
6144
3be82e10
VS
61452011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 fstest xnu_uuid subcommand.
6148
6149 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
6150 grub-core/commands/xnu_uuid.c.
6151 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
6152 (fstest): Handle xnu_uuid.
6153 (options): Document xnu_uuid.
6154 (argp_parser): Parse xnu_uuid.
6155
8e32442e
VS
61562011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
6159 -l argument. Add newline at the end if printing.
6160 (GRUB_MOD_INIT): Document -l.
6161
52a05075
VS
61622011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
6165
1869edb5
VS
61662011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 ZFS multi-device and version 33 support.
6169
6170 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
6171 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
6172 (grub_zfs_data): Add multidev-ice-related fields.
6173 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
6174 (dva_get_offset): Make dva const.
6175 (zfs_fetch_nvlist): New function.
6176 (fill_vdev_info_real): Likewise.
6177 (fill_vdev_info): Likewise.
6178 (check_pool_label): Likewise.
6179 (scan_disk): Likewise.
6180 (scan_devices): Likewise.
6181 (read_device): Likewise.
6182 (read_dva): Likewise.
6183 (zio_read_gang): Use read_dva.
6184 (zio_read_data): Likewise.
6185 (zap_leaf_lookup): Add missing endian conversion.
6186 (zap_verify): Add missing endian conversion. All users updated.
6187 (fzap_lookup): Likewise.
6188 (fzap_iterate): Likewise.
6189 (dnode_get_path): Handle SA bonus.
6190 (nvlist_find_value): Make input const. All users updated.
6191 (unmount_device): New function.
6192 (zfs_unmount): Use unmount_device.
6193 (zfs_mount): Use scan_disk.
6194 (zfs_mtime): New function.
6195 (grub_zfs_open): Handle system attributes.
6196 (fill_fs_info): Likewise.
6197 (grub_zfs_dir): Likewise.
6198 (grub_zfs_fs): Add mtime.
6199 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
6200 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
6201 (SA_MTIME_OFFSET): Likewise.
6202 (SA_SYMLINK_OFFSET): Likewise.
6203 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
6204 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
6205 (fstest): Support zfsinfo.
6206 (argp_parser): Likewise.
6207
186b4028
VS
62082011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6209
6210 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
6211 error.
6212
62132011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
6214
6215 ZFS fixes.
6216
6217 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
6218 sharing the same block. Iterate over correct number of indices.
6219 (dnode_get_path): Handle symlinks correctly.
6220
c0584900
VS
62212011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
6224
67e2bd71
VS
62252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 Read label on HFS+.
6228
6229 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
6230 (grub_hfsplus_btree_search): Fix types.
6231 (grub_hfsplus_label): Implement.
6232
e9cc6b7b
VS
62332011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
6236
19832ddb
VS
62372011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
6240
66b40850
VS
62412011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 Fix symlink handling on iso9660.
6244
6245 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
6246 All users updated.
6247 (grub_iso9660_susp_iterate): Accept zero-size iterate.
6248 (grub_iso9660_read_symlink): Moved most of code ...
6249 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
6250
db821363
VS
62512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6254 Use union to avoid breaking strict-aliasing rules.
6255
e1211949
VS
62562011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 Support multi-extent iso files.
6259
6260 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
6261 Add node.
6262 (grub_fshelp_node): Revamp. All users updated.
6263 (FLAG_*): New enum.
6264 (read_node): New function.
6265 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
6266 All users updated.
6267 (grub_iso9660_mount): Don't attempt to read sua when there is none.
6268 (get_node_size): New function.
6269 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
6270 entries.
6271 Fix memory leak on . and ..
6272 (grub_iso9660_read): Use read_node.
6273 (grub_iso9660_close): Free node.
6274
d4888031
VS
62752011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6276
6277 Fix tar 4G limit and handle paths containing dot.
6278
6279 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6280 (canonicalize): New function.
6281 (grub_cpio_find_file): Use canonicalize. Store offs in
6282 grub_disk_addr_t.
6283 (grub_cpio_dir): Use grub_disk_addr_t.
6284 (grub_cpio_open): Likewise.
6285
9f12e664
VS
62862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6289
6290 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6291 unused flags.
6292 (grub_squash_inode): Add long_file and block_size.
6293 (grub_squash_cache_inode): New struct.
6294 (grub_squash_dirent): Make types into enum.
6295 (SQUASH_TYPE_LONG_REGULAR): New type.
6296 (grub_squash_frag_desc): Add field size.
6297 (SQUASH_BLOCK_FLAGS): New enum.
6298 (grub_squash_data): Use grub_squash_cache_inode.
6299 (grub_fshelp_node): Make ino_chunk 64-bit.
6300 (read_chunk): Minor argument change. All users updated.
6301 (squash_mount): Use correct le_to_cpu.
6302 (grub_squash_open): Handle LONG_REGULAR.
6303 (direct_read): New function.
6304 (grub_squash_read_data): Handle blocks correctly.
6305
9f326fba
VS
63062011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6309
f4d9b64b
VS
63102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6313
5bbd28b8
VS
63142011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 Fix 2G limit on ZFS.
6317
6318 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6319 types.
6320 (uberblock_verify): Likewise.
6321 (dmu_read): Likewise.
6322 (grub_zfs_read): Likewise. Remove invalid cast.
6323
68c72069
VS
63242011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6327 (grub_jfs_blkno): Fix incorrect shift.
6328 (grub_jfs_read_file): Use more appropriate types.
6329
6e536dc8
VS
63302011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 Support triple indirect on minix2 and minix3.
6333
6334 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6335 Declare triple_indir_zone.
6336 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6337 indirect.
6338
e0864e7a
VS
63392011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 Minix FS fixes.
6342
6343 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
6344 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
6345 Rename ctime to mtime. All users updated.
6346 (grub_minix_get_file_block): Fix types and double indirect computations.
6347
89481cab
VS
63482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
6351 if no label is found.
6352 (grub_fat_iterate_dir): Fix file size type.
6353 (grub_fat_iterate_dir): Likewise.
6354
f646e143
VS
63552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
6358 save some space.
6359 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6360 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6361
534d769e
VS
63622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6363
6364 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
6365
e084ba18
VS
63662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 * util/import_gcry.py: Accept space between # and include.
6369
3471ecdf
VS
63702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
6373
124df5f6
VS
63742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 Fine grainely disable warnings on lexer. Remove Wno-error on it.
6377
6378 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
6379 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
6380 yylex_strncpy.
6381 * grub-core/script/yylex.l: Add fine-grained #pragma.
6382
4defb8d5
VS
63832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
6386 New inline function.
6387 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
6388 Likewise.
6389 (memset) [GRUB_UTIL]: Likewise.
6390 (memcmp) [GRUB_UTIL]: Likewise.
6391
4e94ae65
VS
63922011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
6395 inline function rather than a define.
6396
18c575e5
VS
63972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 * util/grub-setup.c: Add missing include.
6400
f8bc22a8
VS
64012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6402
6403 * util/ieee1275/grub-ofpathname.c: Add missing include.
6404
3ce69fc9
VS
64052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
6408 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
6409 Likewise.
6410
d1e293bb
VS
64112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
6414 grub_memcmp usage.
6415
7a5c54a4
VS
64162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 * util/grub-install.in: Add datarootdir as per automake manual
6419 suggestion.
6420 * util/grub-mknetdir.in: Likewise.
6421
64222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
6423
6424 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
6425 suggestion.
6426 * util/grub.d/10_kfreebsd.in: Likewise.
6427 * util/grub.d/10_linux.in: Likewise.
6428 * util/grub.d/10_netbsd.in: Likewise.
6429 * util/grub.d/10_windows.in: Likewise.
6430 * util/grub.d/20_linux_xen.in: Likewise.
6431
766f7d08
VS
64322011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 Remove redundant grub_kernel_image_size.
6435
6436 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
6437 _edata and _start.
6438 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
6439 the small code. It moves it only by few bytes but simplifies the code.
6440 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
6441 _start.
6442 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
6443 (grub_kernel_image_size): Removed.
6444 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
6445 (grub_kernel_image_size): Removed.
6446 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
6447 compiled with Apple toolchain.
6448 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
6449 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
6450 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
6451 (grub_total_module_size): Likewise.
6452 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
6453 Removed.
6454 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
6455 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
6456 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6457 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
6458 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
6459 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
6460 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
6461 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
6462 Removed.
6463 (grub_total_module_size): Removed.
6464 * util/grub-mkimage.c (image_target_desc): Remove image_size.
6465 (image_targets): Likewise.
6466 Set .compressed_size to no field on sparc.
6467 (generate_image): Remove kernel_image_size handling.
6468
fcf1d672
SJ
64692011-10-19 Szymon Janc <szymon@janc.net.pl>
6470
6471 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
6472 NULL pointer dereference.
6473
de9c615e
VS
64742011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
6477 done with a dedicated section.
6478
6479 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
6480 Ensure the correct position of boot_path.
6481 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
6482 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
6483 other fields.
6484 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
6485 * include/grub/boot.h: Removed. All references removed.
6486 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6487 Removed.
6488 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
6489
e55599dc
VS
64902011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
6493 name.
6494
36dd20ad
VS
64952011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
6498
f8f72eb8
VS
64992011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6502 Don't add the bogus brackets.
6503
a374751b
VS
65042011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 ExFAT support.
6507
6508 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6509 * grub-core/Makefile.core.def (exfat): New module.
6510 * grub-core/fs/exfat.c: New file.
6511 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
6512 (GRUB_FAT_ATTR_*): Make into an enum.
6513 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
6514 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
6515 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
6516 (GRUB_FAT_MAXFILE): Removed.
6517 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
6518 (grub_current_fat_bpb_t): New type.
6519 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
6520 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
6521 (grub_fat_dir_node_t): New type.
6522 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
6523 (fat_log2) [MODE_EXFAT]: Removed.
6524 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
6525 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
6526 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
6527 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
6528 (grub_fat_label) [MODE_EXFAT]: New function.
6529 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
6530 reserved_first_sector to 0.
6531
544c2487
VS
65322011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 Move grub_reboot out of the kernel.
6535
6536 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
6537 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
6538 * grub-core/lib/efi/reboot.c: ... here.
6539 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
6540 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6541 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
6542 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
6543 * grub-core/lib/i386/reboot_trampoline.S: ... here.
6544 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
6545 * grub-core/lib/ieee1275/reboot.c: ... here.
6546 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
6547 * grub-core/lib/mips/arc/reboot.c: ... here.
6548 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
6549 * grub-core/lib/mips/loongson/reboot.c: ...here.
6550 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
6551 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
6552 * include/grub/emu/misc.h (grub_reboot): New function declaration.
6553 * include/grub/i386/reboot.h: New file.
6554 * include/grub/mips/loongson/ec.h: Fix includes.
6555 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
6556 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
6557 * grub-core/lib/i386/reboot.c: New file.
6558
a97501d2
VS
65592011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 Make grub_prefix into module to fix the arbitrary limit and save
6562 some space.
6563
6564 * grub-core/kern/emu/main.c (grub_prefix): Removed.
6565 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
6566 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
6567 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
6568 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
6569 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
6570 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
6571 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
6572 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6573 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
6574 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
6575 * include/grub/ia64/efi/kernel.h: Removed.
6576 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
6577 (grub_prefix): Removed.
6578 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
6579 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
6580 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
6581 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
6582 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
6583 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
6584 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
6585 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
6586 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
6587 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
6588 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6589 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6590 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6591 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6592 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
6593 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
6594 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
6595 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6596 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
6597 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
6598 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
6599 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
6600 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
6601 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
6602 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
6603 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
6604 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
6605 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
6606 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
6607 from module.
6608 * util/grub-mkimage.c (image_target_desc): Removed prefix and
6609 prefix_end.
6610 (image_targets): Likewise.
6611 (generate_image): Put prefix as a module.
6612
39705fad
VS
66132011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 Replace grub_module_iterate with FOR_MODULES.
6616
6617 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
6618 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
6619 (grub_efi_modules_addr): ...this.
6620 * grub-core/kern/efi/init.c (grub_modbase): New variable.
6621 (grub_efi_init): Set grub_modbase.
6622 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
6623 (grub_modbase): New variable.
6624 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
6625 (grub_modbase): New variable.
6626 (grub_machine_init): Set grub_modbase.
6627 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
6628 (grub_modbase): New variable.
6629 (grub_machine_init): Set grub_modbase.
6630 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
6631 (grub_modbase): New variable.
6632 (grub_machine_init): Set grub_modbase.
6633 * grub-core/kern/main.c (grub_module_iterate): Remove.
6634 (grub_modules_get_end): Use grub_modbase.
6635 (grub_load_modules): Use FOR_MODULES.
6636 (grub_load_config): Likewise.
6637 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
6638 (grub_modbase): New variable.
6639 (grub_machine_init): Set grub_modbase.
6640 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
6641 (grub_modbase): New variable.
6642 (grub_machine_init): Set grub_modbase.
6643 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
6644 Removed.
6645 (grub_modbase): New variable.
6646 (grub_machine_init): Set grub_modbase.
6647 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
6648 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
6649 (grub_module_iterate): Likewise.
6650 (grub_modbase): New variable declaration.
6651 (FOR_MODULES): New macro.
6652
2afb7f6c
VS
66532011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * configure.ac: Check for __ctzdi2 and __ctzsi2.
6656 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
6657
366e34fa
VS
66582011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 Fix few obvious type discrepancies.
6661
6662 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
6663 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
6664 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
6665 variable.
6666 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
6667 and connected types.
6668 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
6669 offset.
6670 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
6671 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
6672 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
6673 and connected types.
6674
177b960e
VS
66752011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 Fix python 3.x incompatibilities.
6678
6679 * gentpl.py: Put brackets around print strings.
6680 * util/import_gcry.py: Open explicitly as utf-8.
6681 Use in instead of has_key.
6682
3b619ae1
VS
66832011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
6686 (GRUB_XFS_INO_AGBITS): Make into inline function.
6687 (GRUB_XFS_INO_INOINAG): Likewise.
6688 (GRUB_XFS_INO_AG): Likewise.
6689 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6690 (GRUB_XFS_EXTENT_OFFSET): Likewise.
6691 (GRUB_XFS_EXTENT_BLOCK): Likewise.
6692 (GRUB_XFS_EXTENT_SIZE): Likewise.
6693 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
6694 (GRUB_XFS_NEXT_DIRENT): Likewise.
6695 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
6696 (grub_xfs_read_file): Fix offset type.
6697
8bcebcb8
RM
66982011-10-15 Robert Millan <rmh@gnu.org>
6699
6700 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
6701
0017e5ef
RM
67022011-10-15 Robert Millan <rmh@gnu.org>
6703
6704 Fix build problem on FreeBSD and GNU/kFreeBSD.
6705
6706 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
6707
d8919552
VS
67082011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
6711
6712 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
6713 types.
6714 (grub_hfsplus_btree_recoffset): Likewise.
6715 (grub_hfsplus_btree_recptr): Likewise.
6716 (grub_hfsplus_find_block): Likewise.
6717 (grub_hfsplus_btree_search): Likewise.
6718 (grub_hfsplus_read_block): Likewise.
6719 (grub_hfsplus_read_file): Likewise.
6720 (grub_hfsplus_mount): Likewise.
6721 (grub_hfsplus_btree_iterate_node): Likewise.
6722 (grub_hfsplus_btree_search): Likewise.
6723 (grub_hfsplus_iterate_dir): Likewise.
6724 (grub_hfsplus_read): A small code simplification.
6725
c81296b6
VS
67262011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 * grub-core/kern/emu/hostdisk.c
6729 (convert_system_partition_to_system_disk): Don't assume that children
6730 of mapper nodes are mapper nodes.
6731
0eb8ffb1
VS
67322011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6733
6734 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
6735 * include/grub/misc.h (grub_isxdigit): New function.
6736 * grub-core/video/colors.c (my_isxdigit): Removed. All users
6737 switched to grub_isxdigit.
6738 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
6739 number starting with a letter.
6740
a98f4a08
RM
67412011-10-09 Robert Millan <rmh@gnu.org>
6742
6743 LVM support for FreeBSD and GNU/kFreeBSD.
6744
6745 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
6746 GNU/kFreeBSD.
6747 (LVM_DEV_MAPPER_STRING): Move from here ...
6748 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
6749 * util/getroot.c: Include `<grub/util/lvm.h>'.
6750 (grub_util_get_dev_abstraction): Enable
6751 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
6752 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
6753 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
6754 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
6755 support it.
6756 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
6757 GNU/kFreeBSD.
6758 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
6759 when LVM abstraction is required for ${GRUB_DEVICE}.
6760
050e8e90
SJ
67612011-10-06 Szymon Janc <szymon@janc.net.pl>
6762
6763 Add support for LZO compression in GRUB:
6764 - import of minilzo library,
6765 - LZO decompression for btrfs,
6766 - lzop files decompression.
6767
6768 * grub-core/io/lzopio.c: New file.
6769 * grub-core/lib/adler32.c: Likewise.
6770 * grub-core/lib/minilzo/lzoconf.h: Likewise.
6771 * grub-core/lib/minilzo/lzodefs.h: Likewise.
6772 * grub-core/lib/minilzo/minilzo.c: Likewise.
6773 * grub-core/lib/minilzo/minilzo.h: Likewise.
6774 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
6775 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
6776 grub-core/lib/minilzo/minilzo.c to common.
6777 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
6778 cflags in cppflags.
6779 * grub-core/Makefile.core.def (btrfs): Likewise.
6780 * grub-core/Makefile.core.def (lzopio): New module.
6781 (adler32): Likewise.
6782 * grub-core/fs/btrfs.c: Include minilzo.h.
6783 (GRUB_BTRFS_COMPRESSION_LZO): New define.
6784 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
6785 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
6786 (grub_btrfs_lzo_decompress): New function.
6787 (grub_btrfs_extent_read): Add support for LZO compression type.
6788 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
6789 (GRUB_USHRT_MAX): Likewise.
6790 (GRUB_UINT_MAX): Likewise.
6791 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
6792 (UINT_MAX): Likewise.
6793 (CHAR_BIT): Likewise.
6794 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
6795 grub-core/lib/posix_wrap/limits.h
6796 (UCHAR_MAX): Likewise.
6797 * include/grub/file.h (grub_file_filter_id): New compression filter
6798 GRUB_FILE_FILTER_LZOPIO.
6799 * include/grub/file.h (grub_file_filter_id): Set
6800 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
6801 * include/grub/types.h (grub_get_unaligned16): New function.
6802 (grub_get_unaligned32): Likewise.
6803 (grub_get_unaligned64): Likewise.
6804 * util/import_gcry.py (cryptolist): Add adler32.
6805
0eb8ffb1
VS
68062011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
6809 in perspective decreases the complexity of build system and fixes
6810 compilation right now.
6811
ce79cc99 68122011-10-01 Ales Nesrsta <starous@volny.cz>
6813
6814 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
6815 (fixed problem related to using UHCI with coreboot).
6816
8667a314
BC
68172011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
6818
6819 * gentpl.py: Use Autogen macros so that the output template file
6820 (Makefile.tpl) size is reduced.
6821
fc5efcc0
MK
68222011-09-29 Mads Kiilerich <mads@kiilerich.com>
6823
6824 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
6825 extra_dist.
6826
d1ab689d
ML
68272011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6828
6829 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
6830 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
6831
c05de032
ML
68322011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6833
6834 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
6835 _fullpath.
6836
cca7ccd8
ML
68372011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6838
6839 Remove extra declaration of sleep for mingw32.
6840
6841 * util/misc.c (sleep) [__MINGW32__]: Removed.
6842 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
6843
e0b0dc83
GS
68442011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6845
6846 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
6847 type and packname.
6848 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
6849 Resurrected.
6850 (NETBSD_BTINFO_BOOTWEDGE): New definition.
6851 (grub_netbsd_btinfo_bootwedge): New struct.
6852 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6853 New function.
6854 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
6855
91a1a164
TH
68562011-09-28 Thomas Haller <thomas.haller@fen-net.de>
6857
6858 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
6859 loader.
6860
2ded951e
AB
68612011-09-28 Andreas Born <futur.andy@googlemail.com>
6862
6863 Fix incorrect identifiers in bash-completion.
6864
6865 * util/bash-completion.d/grub-completion.bash.in
6866 (_grub_mkpasswd-pbkdf2): Rename to ...
6867 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
6868 (_grub_script-check): Rename to ...
6869 (_grub_script_check): ... this. All users updated.
6870
69915030
VS
68712011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6874 Return 0 if disk isn't biosdisk.
6875
20fd15f9
GS
68762011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6877
6878 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
6879 on NetBSD.
6880 * Makefile.util.def (grub-fstest): Likewise.
6881
1a7d7db9
GS
68822011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6883
6884 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
6885 Get sector size from disk label.
6886
2221ab6c
CW
68872011-09-05 Colin Watson <cjwatson@ubuntu.com>
6888
6889 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
6890 */README* as well as README*.
6891 Reported by: Axel Beckert.
6892
ca51c4a0
VS
68932011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
6896 case of less than 256 MiB of RAM.
6897
ab80f326
VS
68982011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6899
6900 * grub-core/commands/wildcard.c (make_regex): Handle @.
6901
4155e697
VS
69022011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 * util/grub-install.in: Move cryptodisk logic to appropriate place.
6905
ab178c08
SJ
69062011-08-21 Szymon Janc <szymon@janc.net.pl>
6907
6908 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
6909 AC_LANG_CONFTEST macros.
6910
7dc3c686
SJ
69112011-08-20 Szymon Janc <szymon@janc.net.pl>
6912
6913 Add grub-fstest option to uncompress data for commands.
6914
6915 * util/grub-fstest.c (uncompress): New var.
6916 (options): New option -u.
6917
fe8d4a7b
SJ
69182011-08-20 Szymon Janc <szymon@janc.net.pl>
6919
6920 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6921 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
6922
a5219af1
SJ
69232011-08-20 Szymon Janc <szymon@janc.net.pl>
6924
6925 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
6926 file type was not recognized correctly (not gzip or corrupted).
6927
f87abff5
VS
69282011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
6931 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
6932
d94497ea
VS
69332011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
6936 loongson.
6937 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6938 video_radeon_fuloong2e.
6939 * grub-core/video/radeon_fuloong2e.c: New file.
6940 * include/grub/video.h (grub_video_id_t): Add new ID
6941 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
6942
0d1fd011
VS
69432011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
6946 define.
6947 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
6948 that PRID matches the detected subplatform and reset the subplatform
6949 if it doesn't.
6950
84beb0ee
VS
69512011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
6954
1227c133
VS
69552011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6956
6957 Fix PCI iterating on functions >= 4.
6958
6959 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
6960 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
6961 Removed.
6962 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
6963 (grub_pci_read): Fix bitmask.
6964 (grub_pci_read_word): Likewise.
6965 (grub_pci_read_byte): Likewise.
6966 (grub_pci_write): Likewise.
6967 (grub_pci_write_word): Likewise.
6968 (grub_pci_write_byte): Likewise.
6969
9594c689
VS
69702011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
6973 can still be specified in TARGET_CFLAGS)
6974
14a2562c
VS
69752011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
6978
6979 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
6980 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
6981 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
6982 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
6983 (FULOONG): Rename to ...
6984 (FULOONG2F): ... this. All users updated.
6985 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
6986 (machtype_fuloong2f_str): ... this.
6987 (machtype_fuloong2e_str): New string.
6988 Check for machtype_fuloong2e_str.
6989 * grub-core/loader/mips/linux.c (loongson_machtypes)
6990 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
6991 * grub-core/term/serial.c (loongson_defserial)
6992 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
6993 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
6994 loongson_defserial.
6995 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
6996 Rename to ...
6997 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
6998 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
6999 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
7000 to IMAGE_FULOONG2F_FLASH. All users updated.
7001 (image_targets): Rename images.
7002 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
7003
b526cbb6
SJ
70042011-08-19 Szymon Janc <szymon@janc.net.pl>
7005
7006 Make enable of disk cache statistics code configurable.
7007
7008 * configure.ac: --enable-cache-stats added.
7009 * config.h.in (DISK_CACHE_STATS): New define.
7010 * grub-core/Makefile.core.def (cacheinfo): New command.
7011 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
7012 * grub-core/commands/cacheinfo.c: New file.
7013 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
7014 moved to cacheinfo.c.
7015 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
7016 debug code.
7017 * include/grub/disk.h: Likewise.
7018
fb739ccd
SJ
70192011-08-19 Szymon Janc <szymon@janc.net.pl>
7020
7021 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
7022 * grub-core/Makefile.am: Likewise.
7023
2bba8cfd
VS
70242011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
7027 non-zero pull.
7028
43526629
VS
70292011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
7032 All users updated.
7033 (grub_jfs_lookup_symlink): Use correct starting inode.
7034
5c144cc8
VS
70352011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 * util/grub-setup.c (main): Add missing gcry initialisation.
7038
b1257f65
VS
70392011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 Don't accept text modes on EFI when booting Linux.
7042
7043 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
7044 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
7045
828bc390
ML
70462011-08-15 Mario Limonciello <mario_limonciello@dell.com>
70472011-08-15 Colin Watson <cjwatson@ubuntu.com>
7048
7049 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
7050 use of "/path/.." as in grub-install for EFI as well as handling
7051 symlinks correctly.
7052 Fixes Debian bug #637768.
7053
5f60ccac
CW
70542011-08-15 Colin Watson <cjwatson@ubuntu.com>
7055
7056 * util/grub-probe.c: Remove duplicate #include.
7057
6dc212f9
RM
70582011-08-10 Robert Millan <rmh@gnu.org>
7059
7060 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
7061
7062 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
7063 function.
7064 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
7065 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
7066
66816d85
RM
70672011-08-03 Robert Millan <rmh@gnu.org>
7068
7069 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
7070 la_array as packed.
7071 Reported by: Zachary Bedell
7072
20168fca
CW
70732011-07-26 Colin Watson <cjwatson@ubuntu.com>
7074
7075 * configure.ac: The Loongson port requires grub-mkfont due to its
7076 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
7077 be built.
7078
303b6246
CW
70792011-07-26 Colin Watson <cjwatson@ubuntu.com>
7080
7081 * util/grub-install.in: Don't source grub-mkconfig_lib until after
7082 processing arguments (otherwise help2man fails when GRUB has not yet
7083 been installed).
7084
6795300e
VS
70852011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7086
41aa28ea
VS
7087 New script grub-mkstandalone.
7088
7089 * Makefile.util.def (grub-mkstandalone): New script.
7090 * docs/man/grub-mkstandalone.h2m: New file.
7091 * util/grub-mkstandalone.in: Likewise.
7092
70932011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 Support ATA disks with 4K sectors.
6795300e
VS
7096
7097 * include/grub/ata.h (grub_ata): New member log_sector_size.
7098 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
7099 (grub_ata_identify): Read sector size.
7100 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
7101
92227597
VS
71022011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * util/grub-install.in: Don't use uhci outside of x86.
7105
c77069f5
VS
71062011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * util/grub-mkrescue.in: Add missing quotes.
7109
71102011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
7111
7112 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
7113 dereference.
7114
583168a2
VS
71152011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
7118
6be1c01f
VS
71192011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 * include/grub/video.h: add missing EXPORT_FUND on
7122 grub_video_edid_checksum and grub_video_edid_preferred_mode.
7123
a1167439
VS
71242011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 * include/grub/mips/kernel.h: Fix define conflict.
7127
bf66054f
VS
71282011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
7131 all four ways.
7132
8fc4fa45
CW
71332011-07-21 Colin Watson <cjwatson@ubuntu.com>
7134
7135 Preferred resolution detection for VBE.
7136
7137 * grub-core/video/video.c (grub_video_edid_checksum): New function.
7138 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
7139 the Flat Panel extension, in line with the X.org VESA driver.
7140 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
7141 New function.
7142 (grub_vbe_bios_get_ddc_capabilities): Likewise.
7143 (grub_vbe_bios_read_edid): Likewise.
7144 (grub_vbe_get_preferred_mode): Likewise.
7145 (grub_video_vbe_setup): When the mode is "auto", try to get the
7146 preferred mode from VBE, and use the largest mode that is no larger
7147 than the preferred mode (some BIOSes expose a preferred mode that is
7148 not in their mode list!). If this fails, fall back to 640x480 as a
7149 safe conservative choice.
7150 (grub_video_vbe_get_edid): New function.
7151 (grub_video_vbe_adapter): Add get_edid.
7152 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
7153 (struct grub_video_adapter): Add get_edid.
7154 (grub_video_edid_checksum): Add prototype.
7155 (grub_video_edid_preferred_mode): Likewise.
7156 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
7157 structure.
7158
7159 * grub-core/commands/videoinfo.c (print_edid): New function.
7160 (grub_cmd_videoinfo): Print EDID if available.
7161
7162 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
7163 is more appropriate on a wider range of platforms than 640x480.
7164 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
7165 documentation.
7166
ca5572a9
VS
71672011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7168
7169 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
7170
e4bcf625
VS
71712011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 * po/POTFILES.in: Regenerate.
7174
c4edd548
VS
71752011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
7178 incorrect memory usage.
7179
16a2bab0
VS
71802011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * util/grub-install.in: Source grub-mkconfig_lib.
7183
2e418de6
VS
71842011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 Remove getroot.c from core on emu platform.
7187
7188 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
7189 kern/emu/raid.c.
7190 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
7191 useless.
7192 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
7193 * util/getroot.c (get_win32_path): ... here.
7194 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
7195 * util/getroot.c (fini_libzfs): ... here.
7196 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
7197 * util/getroot.c (grub_get_libzfs_handle): ... here.
7198 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
7199 Moved from here...
7200 * util/getroot.c (grub_find_zpool_from_dir): ... here.
7201 * grub-core/kern/emu/misc.c
7202 (grub_make_system_path_relative_to_its_root): Moved from here...
7203 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
7204 * grub-core/kern/emu/getroot.c: Moved from here ...
7205 * util/getroot.c: ... here. All users updated.
7206 * grub-core/kern/emu/raid.c: Moved from here ...
7207 * util/raid.c: ... here. All users updated.
7208
def9832a
VS
72092011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * po/POTFILES.in: Regenerate.
7212
cd8fe79a
VS
72132011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 Fix compilation on GNU/Linux.
7216
7217 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
7218 Disable geli.
7219 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
7220 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
7221 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
7222
a251b719
VS
72232011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
72242011-07-07 Michael Gorven <michael@gorven.za.net>
72252011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
7226
7227 LUKS and GELI support.
7228
7229 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
7230 grub-core/disk/luks.c, grub-core/disk/geli.c,
7231 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
7232 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
7233 grub-core/lib/arg.c.
7234 (libgrubmods.a): Remove gcrypts cflags and cppflags.
7235 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
7236 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
7237 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
7238 (grub-bin2h): Add libgcry.a.
7239 (grub-mkimage): Likewise.
7240 (grub-mkrelpath): Likewise.
7241 (grub-script-check): Likewise.
7242 (grub-editenv): Likewise.
7243 (grub-mkpasswd-pbkdf2): Likewise.
7244 (grub-pe2elf): Likewise.
7245 (grub-fstest): Likewise.
7246 (grub-mkfont): Likewise.
7247 (grub-mkdevicemap): Likewise.
7248 (grub-probe): Likewise.
7249 (grub-ofpath): Likewise.
7250 (grub-mklayout): Likewise.
7251 (example_unit_test): Likewise.
7252 (grub-menulst2cfg): Likewise.
7253 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
7254 * grub-core/Makefile.core.def (cryptodisk): New module.
7255 (luks): Likewise.
7256 (geli): Likewise.
7257 * grub-core/disk/AFSplitter.c: New file.
7258 * grub-core/disk/cryptodisk.c: Likewise.
7259 * grub-core/disk/geli.c: Likewise.
7260 * grub-core/disk/luks.c: Likewise.
7261 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
7262 grub_util_is_lvm.
7263 (grub_util_get_dm_abstraction): New function.
7264 (grub_util_follow_gpart_up): Likewise.
7265 (grub_util_get_geom_abstraction): Likewise.
7266 (grub_util_get_dev_abstraction): Use new functions.
7267 (grub_util_pull_device): Pull GELI and LUKS.
7268 (grub_util_get_grub_dev): Handle LUKS and GELI.
7269 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
7270 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
7271 (follow_geom_up): Removed.
7272 (grub_util_fd_seek): New function.
7273 (open_device): Use grub_util_fd_seek.
7274 (nread): Rename to ..
7275 (grub_util_fd_read): ... this. All users updated.
7276 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7277 (grub_crypto_cbc_decrypt): Likewise.
7278 (grub_crypto_hmac_write): Likewise.
7279 (grub_crypto_hmac_buffer): Likewise.
7280 (grub_password_get): Extend to util.
7281 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7282 New member modname.
7283 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7284 * include/grub/cryptodisk.h: New file.
7285 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7286 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7287 LUKS and GELI.
7288 (grub_util_follow_gpart_up): New proto.
7289 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7290 (grub_util_fd_read): Likewise.
7291 (grub_cryptodisk_cheat_mount): Likewise.
7292 (grub_util_cryptodisk_print_uuid): Likewise.
7293 (grub_util_get_fd_sectors): Likewise.
7294 * util/grub-fstest.c (mount_crypt): New var.
7295 (fstest): Mount crypto if requested.
7296 (options): New option -C.
7297 (argp_parser): Parse -C.
7298 (main): Init and fini gcry.
7299 * util/grub-install.in: Support cryptodisk install.
7300 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7301 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7302 cryptodisk.
7303 (prepare_grub_to_access_device): Likewise.
7304 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7305 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7306 (probe_cryptodisk_uuid): New function.
7307 (probe_abstraction): Likewise.
7308 (probe): Use new functions.
7309 * util/import_gcry.py: Create Makefile.utilgcry.def.
7310 Add modname member.
7311
9bfdcbbc
VS
73122011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 Lazy device scanning.
7315
7316 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7317 (grub-setup): Remove util/raid.c.
7318 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7319 * grub-core/disk/lvm.c (scan_depth): New variable.
7320 (grub_lvm_iterate): Rescan if necessary.
7321 (find_lv): New function based on grub_lvm_open.
7322 (grub_lvm_open): Use find_lv. Rescan on error.
7323 (is_node_readable): New function.
7324 (is_lv_readable): Likewise.
7325 (grub_lvm_scan_device): Skip already found disks.
7326 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7327 Stop if searched device is found and readable.
7328 * grub-core/disk/raid.c (inscnt): New variable.
7329 (scan_depth): Likewise.
7330 (scan_devices): New function based on grub_raid_register. Abort if
7331 looked for device is found.
7332 (grub_raid_iterate): Rescan if needed.
7333 (find_array): NEw function based on -grub_raid_open.
7334 (grub_raid_open): Use find_array and rescan.
7335 (insert_array): Set became_readable_at.
7336 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7337 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7338 New function.
7339 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
7340 (grub_util_pull_device): New function.
7341 (grub_util_get_grub_dev): Call grub_util_pull_device.
7342 * util/raid.c: Moved to ..
7343 * grub-core/kern/emu/raid.c: ... here.
7344 (grub_util_raid_getmembers): New parameter "bootable".
7345 All users updated. Support 1.x.
7346 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
7347 All users updated.
7348 * include/grub/disk.h (grub_disk_pull_t): New enum.
7349 (grub_disk_dev): Change iterate prototype.
7350 All users updated.
7351 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
7352 New proto.
7353 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
7354 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
7355 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
7356 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
7357 All users updated.
7358 * include/grub/util/raid.h: Removed.
7359
1c358e59
VS
73602011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * po/POTFILES.in: Regenerate.
7363
abee94ed
VS
73642011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 Unify sparc init with other ieee1275.
7367
7368 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
7369 instead of kern/sparc64/ieee1275/init.c.
7370 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
7371 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
7372 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
7373 grub/machine/kernel.h.
7374 (grub_ieee1275_original_stack) [__sparc__]: New variable.
7375 (grub_claim_heap) [__sparc__]: Use sparc version.
7376 (grub_machine_init): Moved args parsing to
7377 (grub_parse_cmdline): ...this.
7378 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
7379 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
7380 New definition.
7381 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
7382
7383 Move BOOTP to separate file.
7384
7385 * grub-core/Makefile.core.def (net): Add net/bootp.c.
7386 * grub-core/net/net.c: Move all BOOTP functions to
7387 * grub-core/net/bootp.c: ... here.
7388
7389 Use frame interface on PXE.
7390
7391 * grub-core/Makefile.core.def (pxecmd): Removed.
7392 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
7393 * grub-core/commands/i386/pc/pxecmd.c: Removed.
7394 * grub-core/i386/pc/pxe.c: Moved from here ...
7395 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
7396 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
7397 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
7398
7399 EFI network support.
7400
7401 * grub-core/Makefile.core.def (efinet): New module.
7402 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
7403 here...
7404 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
7405 All users updated.
7406 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
7407 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
7408 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
7409 * grub-core/net/drivers/efi/efinet.c: New file.
7410 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
7411 (grub_efi_net_config): New extern var.
7412
7413 Various cleanups and bugfixes.
7414
7415 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
7416 error.
7417 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
7418 disk declared as partition.
7419 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
7420 leak on failure.
7421 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
7422 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
7423 (grub_debug_zalloc): Likewise.
7424 (grub_debug_realloc): Likewise.
7425 (grub_debug_memalign): Likewise.
7426 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
7427 Check that target is IPv4.
7428 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
7429 local-mac-address as fallback.
7430 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
7431 memory leak.
7432 * grub-core/net/ip.c (ipchksum): Rename to ...
7433 (grub_net_ip_chksum): ... this. All users updated.
7434 (grub_net_recv_ip_packets): Special handling for DHCP.
7435 * util/grub-mkimage.c (generate_image): Zero-out aout header.
7436
7437 Unify prefix handling
7438
7439 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
7440 (grub_machine_get_bootlocation): ... this.
7441 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
7442 (grub_machine_get_bootlocation): ... this.
7443 (grub_prefix): New variable.
7444 (prefix): Removed.
7445 (root_dev): New variable.
7446 (dir): Likewise.
7447 (main): Use new variables.
7448 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
7449 Revamped into ...
7450 (grub_machine_get_bootlocation): ... this.
7451 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
7452 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
7453 (grub_machine_get_bootlocation): ... this.
7454 (grub_machine_set_prefix): Removed.
7455 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
7456 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
7457 Revamped into ...
7458 (grub_machine_get_bootlocation): ... this.
7459 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
7460 (grub_set_prefix_and_root): ... this. All users updated.
7461 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
7462 Revamped into ...
7463 (grub_machine_get_bootlocation): ... this.
7464 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
7465 (grub_machine_get_bootlocation): New proto.
7466 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
7467
7468 Less intrusive and more reliable seek on network implementation.
7469
7470 * grub-core/kern/file.c (grub_file_net_seek): Removed.
7471 (grub_file_seek): Don't call grub_file_net_seek.
7472 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
7473 (grub_net_fs_read_real): .. this.
7474 (grub_net_seek_real): Use net->offset.
7475 (grub_net_fs_read): Seek if necessary.
7476
7477 Unify IEEE1275 netwotk config with the other platforms.
7478
7479 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
7480 New variable.
7481 (grub_machine_get_bootlocation): Support network.
7482 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7483 Support type and device parsing.
7484 (grub_ieee1275_get_device_type): New function.
7485 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
7486 into ...
7487 (grub_ieee1275_net_config_real): ... this.
7488 (grub_ofnet_probecards): Removed.
7489 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
7490 * include/grub/ieee1275/ofnet.h: Removed.
7491 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
7492 extern var.
7493 (grub_ieee1275_get_device_type): New function.
7494
7495 Unify network device closing across platforms and make more robust.
7496
7497 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
7498 grub_grubnet_fini.
7499 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
7500 already.
7501 * grub-core/net/net.c (grub_net_network_level_interface_register):
7502 Update num_ifaces.
7503 (grub_net_card_unregister): Close all interfaces.
7504 (receive_packets): Don't poll if no iterfaces are registered.
7505 Open if necessary.
7506 (grub_net_fini_hw): New function.
7507 (grub_net_restore_hw): Likewise.
7508 (fini_hnd): New variable.
7509 (GRUB_MOD_INIT): Register preboot hook.
7510 (GRUB_MOD_FINI): Run and unregister preboot hook.
7511
7512 Poll network cards when idle.
7513
7514 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
7515 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
7516 * grub-core/net/net.c (receive_packets): Save last poll time.
7517 (grub_net_poll_cards_idle_real): New function.
7518 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
7519 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
7520 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
7521
7522 Rename ofnet interfaces.
7523
7524 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
7525 (grub_ofnet_findcards): Use ofnet_%s names.
7526
7527 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
7528
7529 Cleanup socket opening.
7530
7531 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
7532 (grub_net_fs_close): Likewise.
7533 (grub_net_fs_read_real): Use eof member.
7534 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
7535 (+grub_net_udp_close): New inline function.
7536
7537 * include/grub/net/tftp.h: Moved to the top of ...
7538 * grub-core/net/tftp.c: ... here.
7539 * include/grub/net/ip.h: Moved mostly to the top of ...
7540 * grub-core/net/ip.c: ... here.
7541 * include/grub/net/ethernet.h: Moved mostly to the top of ...
7542 * grub-core/net/ethernet.c: ... here.
7543
7544 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
7545
7546 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
7547 FS name.
7548
7549 * include/grub/net/ip.h (ipv4_ini): Removed.
7550 (ipv4_fini): Likewise.
7551
7552 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
7553 (grub_net_send_ip_packets): Likewise.
7554
cf1337aa
VS
75552011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
7558 grub_read_cmos prototype.
7559
93c06ff9
VS
75602011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 VGA text support in qemu-mips
7563
7564 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
7565 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
7566 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
7567 text.
7568 * grub-core/kern/i386/qemu/init.c: Renamed to ...
7569 * grub-core/kern/vga_init.c: ... this.
7570 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
7571 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
7572 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
7573 Adjust.
7574 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
7575 GRUB_MACHINE_PCI_IO_BASE.
7576
748ccabe
VS
75772011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 MIPS qemu flash support.
7580
7581 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
7582 magic.
7583 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
7584 (grub_machine_init): Probe memory if its size isn't known.
7585 * util/grub-mkimage.c (image_targets): Add flash targets.
7586 (generate_image): Handle flash targets.
7587
d7345994
VS
75882011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7589
7590 MIPS qemu at_keyboard support.
7591
7592 * gentpl.py (videoinkernel): Add qemu-mips.
7593 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
7594 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
7595 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
7596 modules.
7597 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
7598 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
7599 * grub-core/term/serial.c (grub_serial_register)
7600 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
7601
a07a81b3
VS
76022011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 CMOS support on sparc.
7605
7606 * gentpl.py (cmos): Add powerpc and sparc.
7607 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
7608 powerpc and sparc.
7609 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
7610 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
7611 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
7612 grub_set_datetime_cmos.
7613 * grub-core/lib/ieee1275/cmos.c: New file.
7614 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
7615 (find_rtc): Set no_ieee1275_rtc on error.
7616 (grub_get_datetime): Call grub_get_datetime_cmos on error.
7617 (grub_set_datetime): Call grub_set_datetime_cmos on error.
7618 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
7619 fail. Move value to argument. All users updated
7620 (grub_cmos_write): Likewise.
7621 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
7622 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
7623 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
7624 grub_get_datetime_cmos and grub_set_datetime_cmos.
7625
77546584
GS
76262011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7627
7628 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
7629 sourcing grub-mkconfig_lib.
7630 * util/update-grub_lib.in: Likewise.
7631 * util/grub.d/00_header.in: Likewise.
7632 * util/grub.d/10_hurd.in: Likewise.
7633 * util/grub.d/10_kfreebsd.in: Likewise.
7634 * util/grub.d/10_linux.in: Likewise.
7635 * util/grub.d/10_netbsd.in: Likewise.
7636 * util/grub.d/10_windows.in: Likewise.
7637 * util/grub.d/20_linux_xen.in: Likewise.
7638 * util/grub.d/30_os-prober.in: Likewise.
7639
54894791
CW
76402011-06-28 Colin Watson <cjwatson@ubuntu.com>
7641
7642 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
7643 default_bg_color rather than black.
7644 (grub_gfxterm_fullscreen): Likewise.
7645 (grub_gfxterm_background_color_cmd): Save new background color in
7646 default_bg_color.
7647
8d5d8444
VS
76482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
7651
5afeb5bd
VS
76522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
7655 mismerge.
7656
ba7df45e
VS
76572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 Chainloading on coreboot support.
7660
7661 * grub-core/Makefile.core.def (chain): Add coreboot.
7662 * grub-core/loader/i386/coreboot/chainloader.c: New file.
7663
d0b526b2
VS
76642011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
7667 if it happens.
7668
5ff1d945
VS
76692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 Implement time command.
7672
7673 * grub-core/Makefile.core.def (time): New module.
7674 * grub-core/commands/time.c: New file.
7675 * grub-core/script/parser.y: Remove "time" keyword.
7676 * grub-core/script/yylex.l: Likewise.
7677
5ebaad7e
VS
76782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
7681
bdea3798
VS
76822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
7685 when handling leftovers.
7686
b28c5655
VS
76872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
7690 so that help2man doesn't fail.
7691
b6f945dc
VS
76922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
7695 type in pointers on sparc64.
7696 (get_card_packet): Likewise.
7697
f9b75e8a
CW
76982011-06-27 Colin Watson <cjwatson@ubuntu.com>
7699
7700 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
7701 with `*'.
7702 (grub_cmd_videoinfo): Fetch current video mode.
7703
1e3d9b86
VS
77042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
7707 because of underlying system restrictions.
7708
efff4b1c
VS
77092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
7712 necessary.
7713
9fc9ce37
VS
77142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7715
7716 Coreboot video support.
7717
7718 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
7719 (vbe): Likewise.
7720 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
7721 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
7722 here ...
7723 * grub-core/kern/i386/int.S: ... here.
7724 * grub-core/video/i386/pc/vbe.c: Updated includes.
7725 * grub-core/video/i386/pc/vga.c: Likewise.
7726 * include/grub/i386/coreboot/memory.h
7727 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
7728 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
7729 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
7730 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
7731 Disable interrupts.
7732 * include/grub/i386/pc/vga.h: Removed. All users updated.
7733
41bec7fe
VS
77342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
7737 definitions for dprintf.
7738 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
7739
ca80309d
VS
77402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
7743 prototype.
7744 (get_card_packet): Likewise.
7745
9e322ce8
YB
77462011-06-26 Yves Blusseau <blusseau@zetam.org>
7747
7748 Display the path of the file when file is not found
7749
7750 * grub-core/fs/fat.c: Display the filename when file is not found.
7751 * grub-core/fs/fshelp.c: Likewise.
7752 * grub-core/fs/hfs.c: Likewise.
7753 * grub-core/fs/jfs.c: Likewise.
7754 * grub-core/fs/minix.c: Likewise.
7755 * grub-core/fs/ufs.c: Likewise.
7756 * grub-core/fs/btrfs.c: Likewise.
7757 * grub-core/commands/i386/pc/play.c: Likewise.
7758
cbf597af
SJ
77592011-06-26 Szymon Janc <szymon@janc.net.pl>
7760
7761 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
7762 pointer checks before calling grub_free().
7763 * grub-core/commands/wildcard.c (match_devices): Likewise.
7764 * grub-core/commands/wildcard.c (match_files): Likewise.
7765 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
7766 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
7767 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
7768 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
7769 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
7770 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
7771 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
7772 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7773 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
7774
6295b32f
P
77752011-06-25 Patrick <p55@mailinator.com>
7776
7777 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
7778
77c0840b
VS
77792011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
7782 (grub_pxe_send): Likewise.
7783 (GRUB_MOD_INIT): Fix types.
7784
40ea05de
SJ
77852011-06-24 Szymon Janc <szymon@janc.net.pl>
7786
7787 * grub-core/io/xzio.c: Fix code style issues
7788
90162423
MRA
77892011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
77902011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
7791
7792 Network infrastructure.
7793 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
7794
7795 * include/grub/net/arp.h: New file.
90162423
MRA
7796 * include/grub/net/device.h: Likewise.
7797 * include/grub/net/ethernet.h: Likewise.
7798 * include/grub/net/ip.h: Likewise.
7799 * include/grub/net/netbuff.h: Likewise.
7800 * include/grub/net/tftp.h: Likewise.
7801 * include/grub/net/udp.h: Likewise.
7802 * include/grub/ieee1275/ofnet.h: Likewise.
7803 * include/grub/emu/export.h: Likewise.
7804 * include/grub/net.h: Likewise.
7805 * grub-core/net/arp.c: Likewise.
7806 * grub-core/net/ethernet.c: Likewise.
7807 * grub-core/net/ip.c: Likewise.
7808 * grub-core/net/udp.c: Likewise.
7809 * grub-core/net/tftp.c: Likewise.
7810 * grub-core/net/netbuff.c: Likewise.
7811 * grub-core/net/net.c: Likewise.
7812 * grub-core/net/drivers/emu/emunet.c: Likewise.
7813 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
7814 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
7815 export.h.
7816 * grub-core/Makefile.core.def (net): New module.
7817 (tftp): Likewise.
7818 (ofnet): Likewise.
7819 (emunet): Likewise.
7820 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
7821 network protocols.
7822 * grub-core/kern/device.c (grub_net_open) : New variable.
7823 (grub_device_open): Handle network device.
7824 (grub_device_close): Likewise.
7825 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
7826 (grub_grubnet_fini): Likewise.
7827 (grub_file_seek): Seek in network device.
7828 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
7829 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
7830 network root.
7831 (grub_machine_fini): Call grub_grubnet_fini.
7832 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
7833 network.
7834 (grub_ieee1275_get_aliasdevname): New function.
7835 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7836 Add unofficial Solaris network info.
7837 (grub_multiboot_make_mbi): Likewise.
7838 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
7839 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
7840 * include/grub/device.h (grub_fs): Removed.
7841 * include/grub/err.h (grub_err_t): Add network-related values.
7842 * include/grub/i386/pc/pxe.h: Removed bootp parts.
7843 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
7844 (grub_ieee1275_get_aliasdevname): New proto.
7845 * include/grub/net.h: Rewritten.
423a1849 7846
031f22a0
VS
78472011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7848
7849 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
7850 names.
7851
4388ca72
VS
78522011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7853
7854 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
7855 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
7856 it truncates the output.
7857 Reported by: Ximin Luo.
7858
98e2f506
VS
78592011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
7862
2a5e94d8
VS
78632011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
7866 partmap before abstraction.
7867
535c1910
AK
78682011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
7869
7870 * util/grub-mkconfig_lib.in: Add missing quotes.
7871
bc09e1a2
VS
78722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
7875 old method if mountinfo would return /dev/root and /dev/root doesn't
7876 exist.
7877
290766fb
VS
78782011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 ZFS zlib support
7881
7882 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
7883 (decomp_table): Add zlib entries.
7884 (zio_read): USe 8 bits for compression function rather than 3.
7885 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
7886
78872011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * grub-core/disk/ahci.c: Add missing license statements.
7890 * grub-core/fs/romfs.c: Likewise.
7891 * grub-core/lib/ia64/setjmp.S: Likewise.
7892 * grub-core/loader/i386/pc/freedos.c: Likewise.
7893 * grub-core/loader/ia64/efi/linux.c: Likewise.
7894 * grub-core/video/colors.c: Likewise.
7895 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
7896
5ab3f48a
VS
78972011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 AHCI support.
7900
7901 * grub-core/Makefile.core.def (ata_pthru): Removed.
7902 (ahci): New module.
7903 (pata): Likewise.
7904 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
7905 on unload.
7906 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
7907 readwrite.
7908 (grub_hdparm_do_check_powermode_cmd): Likewise.
7909 (grub_hdparm_do_smart_cmd): Likewise.
7910 (grub_hdparm_set_val_cmd): Likewise.
7911 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
7912 * grub-core/disk/ahci.c: New file.
7913 * grub-core/disk/ata.c: Factor out the low-level part into ...
7914 * grub-core/disk/pata.c: ... here.
7915 * grub-core/disk/ata_pthru.c: Contents moved to ...
7916 * grub-core/disk/pata.c: ... here.
7917 * grub-core/disk/scsi.c (grub_scsi_names): New array.
7918 (grub_scsi_iterate): Use grub_scsi_names.
7919 (grub_scsi_open): Likewise.
7920 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
7921 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
7922 (grub_ata_regs_t): New struct.
7923 (grub_disk_ata_pass_through_parms): Likewise.
7924 (grub_ata_device): Renamed to ...
7925 (grub_ata): ... this.
7926 (grub_ata_dev): New struct.
7927 Removed all low-level inline functions.
7928 * include/grub/scsi.h: Add PATA and AHCI subsystems.
7929 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
7930 iterate hooks and open. All users updated.
7931 * util/grub-install.in: Handle AHCI disk module.
7932
c31dc5f5
SJ
79332011-06-23 Szymon Janc <szymon@janc.net.pl>
7934
7935 Add support for DRI and RSTn markers in JPEG files.
7936
7937 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
7938 (JPEG_MARKER_RST0): Likewise.
7939 (JPEG_MARKER_RST1): Likewise.
7940 (JPEG_MARKER_RST2): Likewise.
7941 (JPEG_MARKER_RST3): Likewise.
7942 (JPEG_MARKER_RST4): Likewise.
7943 (JPEG_MARKER_RST5): Likewise.
7944 (JPEG_MARKER_RST6): Likewise.
7945 (JPEG_MARKER_RST7): Likewise.
7946 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
7947 (grub_jpeg_decode_dri): New function.
7948 (grub_jpeg_decode_sos): Move image data related part into
7949 grub_jpeg_decode_data function.
7950 (grub_jpeg_decode_data): New function.
7951 (grub_jpeg_reset): New function.
7952 (grub_jpeg_decode_jpeg): Handle new markers.
7953
fe12fd5b
VS
79542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * util/ieee1275/ofpath.c (check_sas): Close fd.
7957 (main): Free of_path.
7958 Reported by: David Volgyes <dvolgyes>.
7959
03147f46
VS
79602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
7963 Reported by: David Volgyes <dvolgyes>.
7964
cad3237f
VS
79652011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
7968 file after stat.
7969 Reported by: David Volgyes <dvolgyes>.
7970
13548d26
VS
79712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
7974
7975 Reported by: David Volgyes <dvolgyes>.
7976
e061a1b5
VS
79772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
7980 Prevent memory leak.
7981
1abe47dc
VS
79822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7983
7984 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
7985 (main): Close file.
e061a1b5 7986 Reported by: David Volgyes <dvolgyes>.
1abe47dc 7987
fbc62666
VS
79882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
7991 to continue if allocation is failed.
7992
7993 Reported by: David Volgyes <dvolgyes>.
7994
e98c83e9
DV
79952011-06-23 David Volgyes <dvolgyes>
7996
7997 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
7998 dereference.
7999
a199a8cd
VS
80002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 Fix spurious warning.
8003
8004 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
8005 (acorn_partition_map_find): Use .bin member.
8006
e2d1dba0
VS
80072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
8010 /dev/root as a valid device.
8011
8a5d6919
JM
80122011-06-23 Jim Meyering <meyering@redhat.com>
8013
e2d1dba0
VS
8014 Avoid NULL deref in grub_device_open.
8015
8a5d6919
JM
8016 * grub-core/kern/device.c (grub_device_open): Don't dereference
8017 a NULL pointer upon failed grub_env_get.
8018
f7db6f4a
VS
80192011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 Support non-512B sectors and agglomerate reads.
8022
8023 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
8024 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
8025 (disk_io_guid): Removed.
8026 (make_devices): Locate solely by BlockIO.
8027 (grub_efidisk_open): Fill log_sector_size and total_sectors.
8028 (grub_efidisk_read): Use read_blocks.
8029 (grub_efidisk_write): Use write_blocks.
8030 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
8031 log_sector_size.
8032 (get_safe_sectors): Handle non-512B sectors.
8033 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
8034 sectors.
8035 (grub_biosdisk_write): Handle non-512B sectors.
8036 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
8037 (grub_scsi_read): Remove special non-512B block handling (now handled
8038 one level up).
8039 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
8040 and do sanity checks.
8041 (grub_disk_adjust_range): Handle non-512B sectors.
8042 (transform_sector): New function.
8043 (grub_disk_read_small): Likewise.
8044 (grub_disk_read): Rewritten.
8045 (grub_disk_write): Handle non-512B sectors.
8046 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
8047 log_sector_size.
8048 (open_device): Use log_sector_size.
8049 (grub_util_biosdisk_read): Likewise.
8050 (grub_util_biosdisk_write): Likewise.
8051 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
8052 non-512B sectors.
8053 (pc_partition_map_embed): Likewise.
8054 * include/grub/disk.h (grub_disk): New field log_sector_size.
8055 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
8056 (GRUB_DISK_CACHE_BITS): Increased to 6.
8057 * util/grub-fstest.c (fstest): New command testload.
8058 (argp_parser): Likewise.
8059
881ac815
RM
80602011-06-16 Robert Millan <rmh@gnu.org>
8061
8062 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
8063 `ata' driver on kernel of FreeBSD 9.
8064
8065 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
8066 (get_ataraid_disk_name): New functions.
8067 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
8068 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
8069 get_ataraid_disk_name() and get_ada_disk_name().
8070
1e9aef7d
CW
80712011-06-13 Colin Watson <cjwatson@ubuntu.com>
8072
8073 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
8074 input format.
8075
351c7c8a
CW
80762011-05-29 Colin Watson <cjwatson@ubuntu.com>
8077
8078 * docs/grub.texi (Obtaining and Building GRUB): Substitute
8079 `ftp.gnu.org' for `alpha.gnu.org'.
8080
6b4e6430
CW
80812011-05-27 Colin Watson <cjwatson@ubuntu.com>
8082
8083 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
8084 partitions under /dev/disk/by-id/.
8085
c64db050
CW
80862011-05-27 Colin Watson <cjwatson@ubuntu.com>
8087
8088 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
8089 after ten consecutive open failures. Scanning all the way up to
8090 10000 is excessive and can cause serious performance problems in
8091 some configurations.
8092 Fixes Ubuntu bug #787461.
8093
245f4aba
VS
80942011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
8097 opening new one.
8098
f767c929
VS
80992011-05-21 Colin Watson <cjwatson@ubuntu.com>
81002011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8101
8102 Don't stat devices unless we have to.
8103
8104 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
8105 dir == /dev/mapper.
8106 (grub_guess_root_device): Use already known os_dev if possible.
8107 * grub-core/kern/emu/hostdisk.c
8108 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
8109 if device is known to be a dm one.
8110
f35fa3a6
CW
81112011-05-20 Colin Watson <cjwatson@ubuntu.com>
8112
8113 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
8114 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
8115 Reported by: Pawel Tecza.
8116
9a79fcf2
VS
81172011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
8120 (lsefisystab): Likewise.
8121 (lssal): Likewise.
8122 (lsefimmap): Likewise.
8123 (hdparm): Enable on qemu-mips.
8124 (setjmp): Add ia64 nodist.
8125 (serial): Simplify tags.
8126
63e3eea9
CW
81272011-05-18 Colin Watson <cjwatson@ubuntu.com>
8128
8129 * Makefile.util.def (grub-ofpathname): Install manual page.
8130
09728256
CW
81312011-05-18 Colin Watson <cjwatson@ubuntu.com>
8132
8133 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
8134
8b63a142
CW
81352011-05-18 Colin Watson <cjwatson@ubuntu.com>
8136
8137 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
8138
e775d8ed
VS
81392011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
8142 into dprintf.
8143
bf947d36
VS
81442011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 Use full 64-bit division.
8147
8148 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
8149 (grub_divmod64): ... this.
8150 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
8151 version.
8152
b84f26c5
CW
81532011-05-18 Colin Watson <cjwatson@ubuntu.com>
8154
8155 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
8156 `source'.
8157
5626056f
CW
81582011-05-18 Colin Watson <cjwatson@ubuntu.com>
8159
8160 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
8161 to avoid accidents when debugging with 'sh -x'.
8162 * grub-core/gensyminfo.sh.in: Likewise.
8163 * tests/example_scripted_test.in: Likewise.
8164 * tests/grub_cmd_regexp.in: Likewise.
8165 * tests/grub_script_blanklines.in: Likewise.
8166 * tests/grub_script_dollar.in: Likewise.
8167 * tests/grub_script_expansion.in: Likewise.
8168 * tests/grub_script_final_semicolon.in: Likewise.
8169 * tests/partmap_test.in: Likewise.
8170 * tests/util/grub-shell-tester.in: Likewise.
8171 * tests/util/grub-shell.in: Likewise.
8172
e2965f4a
CW
81732011-05-18 Colin Watson <cjwatson@ubuntu.com>
8174
8175 Move gfxmenu color handling to video, so that gfxterm can use it
8176 too.
8177
8178 * grub-core/gfxmenu/named_colors.c: Move to ...
8179 * grub-core/video/colors.c: ... here. Rename
8180 grub_gui_get_named_color to grub_video_get_named_color.
8181 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
8182 * grub-core/video/colors.c (my_isxdigit): ... here.
8183 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
8184 Move to ...
8185 * grub-core/video/colors.c (parse_hex_color_component): ... here.
8186 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
8187 to ...
8188 * grub-core/video/colors.c (grub_video_parse_color): ... here.
8189
8190 * include/grub/gui.h (grub_gui_color_t): Move to ...
8191 * include/grub/video.h (grub_video_rgba_color_t): ... here.
8192 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
8193 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
8194 * include/grub/gui.h (grub_gui_map_color): Move to ...
8195 * include/grub/video.h (grub_video_map_rgba_color): ... here.
8196 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
8197 to ...
8198 * include/grub/video.h (grub_video_get_named_color): ... here.
8199 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
8200 * include/grub/video.h (grub_video_parse_color): ... here.
8201
8202 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
8203 video/colors.c.
8204 (gfxmenu): Remove gfxmenu/named_colors.c.
8205 (video) [videomodules]: Add video/colors.c.
8206
8207 Add a background_color command.
8208
8209 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
8210 function.
8211 (GRUB_MOD_INIT): Register background_color command.
8212 (GRUB_MOD_FINI): Unregister background_color command.
8213 (redraw_screen_rect): Allow blend/replace of text layer to be
8214 controlled independently from whether there is a background bitmap.
8215 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
8216 changing bitmap.
8217
1e4b4390
VS
82182011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8219
26618ff0
VS
8220 Patch BPB in ntldr and chainloader --bpb.
8221
1e4b4390
VS
8222 * grub-core/fs/fat.c: Include grub/fat.h.
8223 (grub_fat_bpb): Moved to ...
8224 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
8225 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
8226 grub/ntfs.h.
8227 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
8228 Moved from here...
8229 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
8230 here.
8231 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
8232 New function.
8233 (grub_chainloader_cmd): Patch BPB if --bpb is given.
8234 (GRUB_MOD_INIT): Show --bpb.
8235 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
8236 * grub-core/normal/main.c (features): New variable.
8237 (GRUB_MOD_INIT): Set feature_* variables.
8238 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
8239 proto.
8240 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
8241
cf02731e
VS
82422011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
8245 for cleanness.
8246
e3a1073f
VS
82472011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 FreeDOS direct loading support.
8250
8251 * docs/grub.texi (Supported OS): Add FreeDOS.
8252 * grub-core/Makefile.core.def (freedos): New module.
8253 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
8254 variable.
8255 (grub_relocator16_boot): Handle %ebx.
8256 * grub-core/lib/i386/relocator16.S: Likewise.
8257 * grub-core/loader/i386/pc/freedos.c: New file.
8258
05caa461
VS
82592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8260
8261 Long Linux command line support.
8262
8263 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8264 (maximal_cmdline_size): New variable.
8265 (allocate_pages): Use maximal_cmdline_size.
8266 (grub_cmd_linux): Set and use maximal_cmdline_size.
8267 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8268 (allocate_pages): Use maximal_cmdline_size.
8269 (grub_cmd_linux): Set and use maximal_cmdline_size.
8270 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
8271 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
8272 and cmdline_size.
8273
a2491e23
VS
82742011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
82752011-05-18 Colin Watson <cjwatson@ubuntu.com>
8276
8277 Improve devmapper support
8278
8279 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8280 (grub_util_is_lvm): New function.
8281 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8282 than lvm if not dmraid.
8283 Handle mapped md nodes.
8284 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8285 (grub_util_device_is_mapped): ... this. Make always available. All users
8286 updated.
8287 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8288 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8289 dmraid nodes.
8290 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8291
6ad6223e
VS
82922011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8295
8296 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8297 * grub-core/modinfo.sh.in: New file.
8298 * grub-core/Makefile.core.def (modinfo.sh): New script.
8299 * util/grub-mknetdir.in: Use modinfo.sh.
8300 * util/grub-mkrescue.in: Likewise.
8301
543a8f6e
VS
83022011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8305 Fix potential usage of Elf32 instead of Elf64 when compiling on
8306 32-bit architecture. Add endianness macros while on it.
8307
4959e111
VS
83082011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 Use mipsel- rather than mips- in directories involving mipsel ports to
8311 allow both endiannesses coexist.
8312
8313 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8314 mips. All conditions adjusted.
8315 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8316 variable.
8317 * util/grub-install.in: Adjust conditions to take renaming into account.
8318 * util/grub-mkimage.c (image_targets): Likewise. New target
8319 mips-qemu_mips-elf for bigendian mips.
8320
35341bbc
VS
83212011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 Avoid unnecessary copying on MIPS.
8324
8325 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8326 early if src == dest.
8327 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8328 compression is none.
8329
b772baed
VS
83302011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8331
8332 Reduce memory footprint on SGI by putting modules before the kernel
8333 as opposed to after.
8334
8335 * grub-core/Makefile.core.def (kernel): Increase linking address.
8336 (none_decompress): Likewise.
8337 (xz_decompress): Likewise.
8338 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
8339 address.
8340 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
8341 layout change.
8342 (grub_arch_modules_addr): New function.
8343 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
8344 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
8345 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
8346 here.
8347 * grub-core/kern/mips/startup.S (total_size): Rename to ...
8348 (grub_total_modules_size): ... this. Make global.
8349 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
8350 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
8351 New definition.
8352 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
8353 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
8354 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
8355 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
8356 * util/grub-mkimage.c (image_target_desc): New flag
8357 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
8358 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
8359 (generate_image): Handle images with modules before kernel.
8360
566a1917
VS
83612011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 Prevent potential loss of memory map by overwrite on qemu-mips.
8364
8365 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8366 Save ram size in $s4.
8367 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
8368 All users changed to grub_arch_memsize.
8369 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
8370 Loongson.
8371 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
8372 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
8373 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
8374 external variable.
8375
5d420cd9
CW
83762011-05-17 Colin Watson <cjwatson@ubuntu.com>
8377
8378 * .bzrignore: Remove grub-dumpbios.
8379
d064b830
CW
83802011-05-17 Colin Watson <cjwatson@ubuntu.com>
8381
8382 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
8383 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
8384 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
8385 existing options which append).
8386 * docs/grub.texi (Simple configuration): Document new options.
8387 Reported by: Ian Jackson. Fixes Debian bug #617538.
8388
3ca2b466
CW
83892011-05-17 Colin Watson <cjwatson@ubuntu.com>
8390
8391 * util/grub-fstest.c (cmd_cat): New function.
8392 (fstest): Handle CMD_CAT.
8393 (options): Add cat.
8394 (argp_parser): Handle cat.
8395
24c9143a
CW
83962011-05-17 Colin Watson <cjwatson@ubuntu.com>
8397
8398 * Makefile.util.def (grub-bin2h): Don't install.
8399 * docs/man/grub-bin2h.h2m: Remove.
8400
90f7ac19
VS
84012011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
8404 place.
8405
8d4a5178
VS
84062011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 Reenable qemu-mips port.
8409
8410 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
8411 Fix small arc bug while on it.
8412 * gentpl.py: Handle qemu_mips.
8413 * grub-core/Makefile.am: Likewise.
8414 * grub-core/Makefile.core.def: Likewise.
8415 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
8416 inappropriate includes.
8417 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
8418 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
8419 * grub-core/kern/main.c (grub_modules_get_end)
8420 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
8421 * grub-core/kern/mips/qemu-mips: Moved to ..
8422 * grub-core/kern/mips/qemu_mips: ... this.
8423 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
8424 (grub_machine_init): Call terminfo_init and serial_init.
8425 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
8426 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8427 New variable.
8428 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
8429 parameter passing.
8430 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
8431 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
8432 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8433 * include/grub/mips/qemu_mips/cmos.h: New file.
8434 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
8435 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
8436 Removed.
8437 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
8438 Use correct mips-style address.
8439 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
8440 (GRUB_TICKS_PER_SECOND): Removed.
8441 (grub_get_rtc): Likewise.
8442 (grub_cpu_idle): Likewise.
8443 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
8444 New definition.
8445 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
8446 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
8447 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
8448 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
8449 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8450 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8451 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
8452 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
8453
400b9371
VS
84542011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 SGI ARCS port.
8457
8458 * Makefile.util.def (libgrubmods.a): Add dvh.c.
8459 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
8460 platforms.
8461 * configure.ac: New target mips-arc.
8462 * gentpl.py: Likewise.
8463 * grub-core/Makefile.am: Likewise.
8464 * grub-core/Makefile.core.def: Likewise.
8465 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
8466 (none_decompress): Likewise.
8467 (lsdev): New module.
8468 (datetime): Use lib/arc/datetime.c on ARC.
8469 (part_dvh): New module.
8470 * grub-core/commands/arc/lsdev.c: New file.
8471 * grub-core/disk/arc/arcdisk.c: Likewise.
8472 * grub-core/kern/mips/arc/init.c: Likewise.
8473 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
8474 aligned addresses.
8475 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
8476 support.
8477 (grub_arch_dl_relocate_symbols): Likewise.
8478 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
8479 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
8480 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
8481 platforms.
8482 * grub-core/lib/arc/datetime.c: New file.
8483 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
8484 pci.h on non-loongson.
8485 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
8486 (grub_linux_boot): Set unused registers to 0.
8487 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
8488 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
8489 * grub-core/mmap/mips/uppermem.c: ...here.
8490 * grub-core/partmap/dvh.c: New file.
8491 * grub-core/term/arc/console.c: Likewise.
8492 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
8493 (grub_terminfo_set_current): Add terminal "arc".
8494 (grub_terminfo_readkey): Support ARC sequences.
8495 * include/grub/arc/arc.h: New file.
8496 * include/grub/arc/console.h: Likewise.
8497 * include/grub/disk.h (grub_disk_dev_id): Add
8498 GRUB_DISK_DEVICE_ARCDISK_ID.
8499 * include/grub/mips/arc/kernel.h: New file.
8500 * include/grub/mips/arc/memory.h: Likewise.
8501 * include/grub/mips/arc/time.h: Likewise.
8502 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
8503 * include/grub/mips/kernel.h (grub_halt): ... here.
8504 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
8505 here...
8506 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
8507 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
8508 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
8509 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
8510 proto.
8511 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
8512 from here ...
8513 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
8514 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
8515 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
8516 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
8517 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
8518 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
8519 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
8520 (grub_phys_addr_t): Moved from here ...
8521 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
8522 (grub_vtop): Moved from here ...
8523 * include/grub/mips/memory.h (grub_vtop): ... here.
8524 (grub_map_memory): Moved from here ...
8525 * include/grub/mips/memory.h (grub_map_memory): ... here.
8526 (grub_unmap_memory): Moved from here ...
8527 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
8528 (grub_machine_mmap_iterate): Moved from here ...
8529 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
8530 (grub_mmap_get_lower): Moved from here ...
8531 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
8532 (grub_mmap_get_upper): Moved from here ...
8533 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
8534 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8535 here ...
8536 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8537 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
8538 here ...
8539 * include/grub/mips/time.h (grub_get_rtc): ... here.
8540 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8541 here ...
8542 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8543 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
8544 here ...
8545 * include/grub/mips/time.h (grub_cpu_idle): ... here.
8546 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
8547 definition.
8548 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
8549 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
8550 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
8551 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
8552 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8553 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8554 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
8555 (GRUB_MACHINE_LINK_ADDR): Likewise.
8556 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
8557 to 6.
8558 * util/grub-install.in: Run dvhtool on ARC.
8559 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 8560 (generate_image): Handle ECOFF output for mips-arc.
400b9371 8561
c8ecc840
VS
85622011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
8565 blocks.
8566
153a4b55
VS
85672011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
8570 after enabling port.
8571
ff44d107
VS
85722011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 Skip incorrect USB devices.
8575
8576 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
8577 configcnt == 0.
8578 * include/grub/usb.h (grub_usb_err_t): New enum value
8579 GRUB_USB_ERR_BADDEVICE.
8580
638dbe4f
VS
85812011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 Fuloong video init support.
8584
8585 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
8586 well.
8587 (grub_vga_read_arx): New function.
8588 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
8589 definition.
8590 (framebuffer): New members io, mmioptr and mmiobase.
8591 (read_sis_cmd): New function.
8592 (write_sis_cmd): Likewise.
8593 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
8594 rather than 640x400.
8595 * grub-core/video/sis315_init.c: New file.
8596
c3fc520c
VS
85972011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8598
8599 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
8600 non-loongson.
8601 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
8602 to grub_dl_register_symbol.
8603
67b1e5c9
VS
86042011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 Fix compilation errors.
8607
8608 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
8609 potentially unused.
8610 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
8611 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
8612 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
8613 to loongson machines.
8614
b756f75f
VS
86152011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 Several FS mtime support.
8618
8619 * grub-core/fs/affs.c (grub_affs_time): New struct.
8620 (grub_affs_file): New field mtime.
8621 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
8622 type. Removed 'size'. New field 'di'. All users updated.
8623 (grub_affs_mount): Simplify checsum checking.
8624 (grub_affs_iterate_dir): New helper grub_affs_create_node.
8625 (grub_affs_dir): Handle mtime.
8626 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
8627 (grub_cpio_dir): Likewise.
8628 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
8629 (grub_hfs_filerec): New field mtime.
8630 (grub_hfs_dir): Handle mtime.
8631 (grub_hfs_mtime): New function.
8632 (grub_hfs_fs): Register grub_hfs_mtime.
8633 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
8634 (grub_iso9660_dir): New field mtime.
8635 (grub_fshelp_node): New field dirent.
8636 (iso9660_to_unixtime): New function.
8637 (iso9660_to_unixtime2): Likewise.
8638 (grub_iso9660_read_symlink): Use node->dirent.
8639 (grub_iso9660_iterate_dir): Likewise.
8640 (grub_iso9660_dir): Set mtime.
8641 (grub_iso9660_mtime): New function.
8642 (grub_iso9660_fs): Register grub_iso9660_mtime.
8643 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
8644 (grub_jfs_inode): New fields atime, ctime and mtime.
8645 (grub_jfs_dir): Set mtime.
8646 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8647 * grub-core/fs/ntfs.c (list_file): Set mtime.
8648 (grub_ntfs_dir): Likewise.
8649 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
8650 (grub_reiserfs_iterate_dir): Set mtime.
8651 (grub_reiserfs_dir): Likewise.
8652 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
8653 (grub_fshelp_node): Likewise.
8654 (grub_sfs_iterate_dir): Set mtime.
8655 (grub_sfs_dir): Likewise.
8656 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
8657 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
8658 (grub_xfs_inode): New fields atime, mtime, ctime.
8659 (grub_xfs_dir): Set mtime.
8660 * include/grub/datetime.h (grub_datetime2unixtime): New function.
8661 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
8662 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
8663
8664 Support UDF symlinks.
8665
8666 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
8667 (grub_ufs_read_symlink): New function. All users updated.
8668
8669 Check amiga partmap checksum.
8670
8671 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
8672 (grub_amiga_partition): Likewise.
8673 (amiga_partition_map_checksum): New function.
8674 (amiga_partition_map_iterate): Check checksum.
8675
5470225d
VS
86762011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 ROMFS support.
8679
8680 * Makefile.util.def (libgrubmods.a): Add romfs.
8681 * grub-core/Makefile.core.def (romfs): New module.
8682 * grub-core/fs/romfs.c: New file.
8683
d4680a35
VS
86842011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8685
8686 Squashfs v4 support.
8687
8688 * Makefile.util.def (libgrubmods.a): Add squash4.
8689 * grub-core/Makefile.core.def (squash4): New module.
8690 * grub-core/fs/squash4.c: New file.
8691 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
8692 disk_input_start, disk_input.
8693 (get_byte): Handle disk_input.
8694 (grub_zlib_disk_read): New function.
8695 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
8696
bcb18e74
FZ
86972011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
86982011-05-15 Feiran Zheng <famcool@gmail.com>
8699
8700 * Makefile.util.def (libgrubmods.a): Add minix3.
8701 * grub-core/Makefile.core.def (minix3): New module.
8702 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
8703 (GRUB_MINIX_BSIZE): Removed.
8704 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
8705 (grub_minix_ino_t): New type.
8706 (grub_minix_le_to_cpu_ino): New macro.
8707 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
8708 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
8709 (grub_minix_data): New field block_size.
8710 (grub_minix_read_file): Handle 64-bit correctly.
8711 * grub-core/fs/minix3.c: New file.
8712
32297d5f
TG
87132011-05-15 Tristan Gingold <gingold@free.fr>
87142011-05-15 Robert Millan <rmh.grub@aybabtu.com>
87152011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 IA64 support.
8718
8719 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
8720 * configure.ac: Add ia64-efi target.
8721 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
8722 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
8723 * gentpl.py: Add ia64_efi platform.
8724 Rename x86_efi to efi and Add ia64-efi. All users updated.
8725 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
8726 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
8727 Remove kern/generic/rtc_get_time_ms.c on EFI.
8728 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
8729 kern/ia64/dl_helper.c on ia64-efi.
8730 Add kern/emu/cache.c on emu.
8731 (linux): Use on loader/ia64/efi/linux.c on ia64.
8732 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
8733 whether symbol is a function.
8734 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
8735 (grub_symbol): New field 'isfunc'.
8736 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
8737 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
8738 (grub_dl_load_segments): Place all sections into the same region.
8739 [__ia64__]: Create trampolines and got.
8740 [GRUB_MACHINE_EMU]: Call mprotect.
8741 (grub_dl_resolve_symbols): Resolve symbol type as well.
8742 [__ia64__]: Create function descriptors.
8743 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
8744 (grub_rtc_get_time_ms): ... this. Expressions simplified.
8745 (grub_get_rtc): New function.
8746 * grub-core/kern/emu/cache.c [__ia64__]: New file.
8747 * grub-core/kern/emu/cache.S: Renamed to ...
8748 * grub-core/kern/emu/cache_s.S: ... this.
8749 [__ia64__]: Add a nop.
8750 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
8751 [__ia64__]: New function.
8752 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
8753 * grub-core/kern/ia64/dl.c: New file.
8754 * grub-core/kern/ia64/dl_helper.c: Likewise.
8755 * grub-core/kern/ia64/efi/init.c: New file.
8756 * grub-core/kern/ia64/efi/startup.S: Likewise.
8757 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
8758 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
8759 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
8760 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
8761 * grub-core/loader/ia64/efi/linux.c: New file.
8762 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
8763 (GRUB_MOD_DEP): Likewise.
8764 (grub_dl) [__ia64__]: New fields got and tramp.
8765 (grub_dl): New field 'base'.
8766 (grub_dl_register_symbol): New argument isfunc. All users updated.
8767 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
8768 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
8769 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
8770 (grub_ia64_dl_get_tramp_got_size): New proto.
8771 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
8772 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
8773 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
8774 * include/grub/efi/api.h: Skip call wrappers on ia64.
8775 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
8776 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
8777 * include/grub/elf.h (ELF_ST_INFO): New definition.
8778 * include/grub/ia64/efi/kernel.h: New file.
8779 * include/grub/ia64/efi/memory.h: Likewise.
8780 * include/grub/ia64/efi/time.h: Likewise.
8781 * include/grub/ia64/kernel.h: Likewise.
8782 * include/grub/ia64/setjmp.h: Likewise (from glibc).
8783 * include/grub/ia64/time.h: New file.
8784 * include/grub/ia64/types.h: Likewise.
8785 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
8786 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
8787 New protos.
8788 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
8789 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8790 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
8791 * util/grub-mkimage.c (image_target_desc): New field pe_target.
8792 All users updated.
8793 (EFI64_HEADER_SIZE): New definition. All users updated.
8794 (image_targets): Add ia64-efi.
8795 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
8796 jumpers_addr. All users updated.
8797 Create function descriptors.
8798 (count_funcs): New function.
8799 (unaligned_uint32): New struct.
8800 (MASK20): New definition.
8801 (MASK19): Likewise.
8802 (MASKF21): Likewise.
8803 (add_value_to_slot_20b): New function.
8804 (add_value_to_slot_21_real): Likewise.
8805 (add_value_to_slot_21): Likewise.
8806 (ia64_kernel_trampoline): New struct.
8807 (nopm): New variable.
8808 (jump): Likewise.
8809 (make_trampoline): New function.
8810 (relocate_addresses): Handle ia64.
8811 (make_reloc_section): Likewise.
8812 (load_image): Likewise.
8813
983b414d
VS
88142011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
8817 warning. Move variables before code while on it.
8818
5d063cdc
VS
88192011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8820
8821 Fuloong support.
8822
8823 * configure.ac: Rename yeeloong platform to loongson. All users updated.
8824 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
8825 * grub-core/boot/mips/loongson/fuloong.S: New file.
8826 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
8827 Explicitly init CS5536.
8828 [FULOONG]: Don't use serial until CS5536 is available.
8829 Set GPIO based on dumps.
8830 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
8831 [FULOONG]: Handle GPIO and memory controller differences.
8832 Parse machine type in $a2.
8833 * grub-core/boot/mips/startup_raw.S: Determine and save the
8834 architecture.
8835 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
8836 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
8837 init on architecture type.
8838 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8839 SIS315E. Don't init at_keyboard on fuloong.
8840 (grub_halt): Support Fuloong.
8841 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
8842 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
8843 (loongson_machtypes): New array.
8844 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
8845 type.
8846 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
8847 config. All users updated. Handle CS5536 serial.
8848 * grub-core/term/serial.c (grub_serial_register): Conditionalise
8849 default port on machine type. Register serial as inactive.
8850 * grub-core/video/sis315pro.c: New file.
8851 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
8852 definition.
8853 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
8854 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
8855 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
8856 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
8857 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
8858 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
8859 to ...
8860 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
8861 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
8862 definition.
8863 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
8864 (grub_arch_machine): New extern var.
8865 * include/grub/mips/loongson/serial.h
8866 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
8867 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
8868 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
8869 (GRUB_MACHINE_SERIAL_PORT0): ... this.
8870 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
8871 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
8872 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
8873 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
8874 * include/grub/term.h (grub_term_register_input_inactive): New inline
8875 function.
8876 (grub_term_register_output_inactive): Likewise.
8877 * include/grub/video.h (grub_video_driver_id): New value
8878 GRUB_VIDEO_DRIVER_SIS315PRO.
8879 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
8880 New field "names". All users updated.
8881 New field value IMAGE_FULOONG_FLASH.
8882 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
8883
6ada82d1
JU
88842011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
8885
8886 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
8887 and add some clarification.
8888
90c571a4
VS
88892011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
8892 platforms if kernel is compressed.
8893
de04eecf
VS
88942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
8897 unused modules since currently referrence counter isn't reliable and
8898 there isn't much memory to recover there anyway.
8899
57688121
VS
89002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
8903 rather than resetting it to allow modules to reference themselves
8904 in init.
8905
3d2c7e35
VS
89062011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
8909 counter on dependencies since grub_dl_unref already handles this.
8910
b25db218
VS
89112011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
8914 on error if not already done.
8915
25a45338
VS
89162011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8917
8918 Fix few potential memory misusage.
8919
8920 * grub-core/font/font.c (load_font_index): Don't free char_index to
8921 avoid double free.
b25db218
VS
8922 (grub_font_load): Zero-fill font at alloc for safety.
8923 Close file on error.
8924 (free_font): Free bmp_idx.
25a45338 8925
0cac83df
VS
89262011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 * docs/grub.texi (Installation): Fix several outdated claims.
8929
2217a143
VS
89302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 Handle module_license on windows.
8933
8934 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
8935 sections shifted.
8936 (insert_string): Make argument const char * instead of char *.
8937 (write_section_data): Handle long section names.
8938 Handle module_license.
8939
d4de6b01
VS
89402011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
8943 handle class-free menuentries.
8944 (grub_normal_add_menu_entry): Add a check to be sure.
8945
4c2a3b43
VS
89462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
8949 PgUp and PgDown.
8950
85c6210f
VS
89512011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 * configure.ac: Bump version to 1.99.
8954
36084912
VS
89552011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 Give ATA device a bit more time on first try in order to allow disks
8958 to spin up.
8959
8960 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
8961 if dev->present is 1. Reset dev->present on failure.
8962 (grub_ata_device_initialize): Set dev->present to 1.
8963 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
8964 (grub_ata_device): New member 'present'.
8965
bda0e219
VS
89662011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 * util/grub-mkimage.c (generate_image): Update hash.
8969
19e1c41b
VS
89702011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 Flush caches on DMA memory.
8973
8974 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
8975 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
8976 (grub_dma_free): Likewise.
8977 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
8978
91bbcc0c
VS
89792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8980
8981 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
8982 to avoid asm treating ld and sd as macros.
8983
60ddfad3
VS
89842011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
8987 decompressor.
8988
a298aa04
VS
89892011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
8992 grub_decompress_core since later would fail if grub_decompress_core
8993 is too far.
8994
9b44feca
VS
89952011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
8998 R_MIPS_JALR since it's used by newer compiler.
8999
56dbe7b4
VS
90002011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
9003
52856af2
VS
90042011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9005
9006 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
9007 file_path to 0 for surety.
9008 (grub_chainloader_boot): Set exit_data to NULL.
9009 Unset the loader once done.
9010 (grub_cmd_chainloader): Fix confusing error message if file is empty.
9011
9c9bfc6d
VS
90122011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
9015 unknown key into a dprintf.
9016
dd94a3df
VS
90172011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
9020 on first non-existant partition.
9021
fa68d99c
VS
90222011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
9025 openning fails.
9026 Reported by: Mark Korenberg.
9027
157effb7
VS
90282011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
9031 overflow.
9032
ea75312f
VS
90332011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 * util/grub-mkimage.c (main): Explicitely flush and sync the output
9036 before closing to ensure that it will be readable by grub-setup.
9037
072b5d31
VS
90382011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
9041 (devpath_1): Use MAKE_PIWG_PATH.
9042 (devpath_2): Likewise.
9043 (devpath_3): Likewise.
9044 (devpath_4): Likewise.
9045 (devpath_5): Likewise.
9046 (devpath_6): Likewise.
9047
9048 The appleldr.mod was checked that to be binary identical to previous
9049 version.
9050
7fae0051
Z
90512011-05-05 Zach <mikezackles>
9052
9053 Support 2010 Macbooks.
9054
9055 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
9056 (devs): Add devpath_6.
9057
7c515bee
VS
90582011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
9061 /dev/random. /dev/urandom is good enough for our purposes (salting).
9062
ed660bd8
VS
90632011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
9066
ee5614b7
VS
90672011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
9070 hexadecimal.
9071
664889a6
VS
90722011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9073
9074 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
9075 and not 0 on failure.
9076
bd405bbc
CW
90772011-05-03 Colin Watson <cjwatson@ubuntu.com>
9078
9079 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
9080 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
9081 disk; otherwise grub_fs_probe will not fall back to the next
9082 filesystem.
9083 (grub_pxefs_open): Likewise, for consistency.
9084 Reported and tested by: Ezekiel Grave.
9085
4ebff753
CW
90862011-05-03 Colin Watson <cjwatson@ubuntu.com>
9087
9088 * tests/partmap_test.in: Don't hardcode path to parted.
9089 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
9090
8f942553
CW
90912011-05-01 Colin Watson <cjwatson@ubuntu.com>
9092
9093 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
9094 of `ls' to find out which devices are available.
9095
3c62402d
VS
90962011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9097
9098 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
9099 than source address for efi mmap buffer.
9100
723f63f2
VS
91012011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
9104 wrong action on non-detecting the magic.
9105
68797f92
VS
91062011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
9109 already supplied by another part of the module (fixes compilation on
9110 FreeBSD).
9111
6be8715d
VS
91122011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
9115 match the one used by mdadm.
9116
e91dba5b
CW
91172011-04-21 Colin Watson <cjwatson@ubuntu.com>
9118
9119 * po/README: Add instructions for creating po/LINGUAS.
9120
c85140b3
CW
91212011-04-21 Colin Watson <cjwatson@ubuntu.com>
9122
9123 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
9124 #551428.
9125
9126 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
9127 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
9128 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
9129 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
9130 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
9131 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
9132 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
9133 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
9134 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
9135 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
9136 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
9137 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
9138 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
9139 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
9140 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
9141 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
9142 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
9143 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
9144 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
9145 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
9146 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
9147 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
9148
92051871
CW
91492011-04-21 Colin Watson <cjwatson@ubuntu.com>
9150
9151 * grub-core/kern/emu/getroot.c
9152 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
9153 test that was incorrectly reintroduced in r3214.
9154 Reported by: Ian Dall. Fixes Savannah bug #33133.
9155
b13f79a4
CW
91562011-04-21 Colin Watson <cjwatson@ubuntu.com>
9157
9158 Fix stack pointer handling in 16-bit relocator.
9159
9160 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
9161 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
9162 Fixes Ubuntu bug #683904.
9163
9b710a88
VS
91642011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9165
9166 * configure.ac: Bump version to 1.99~rc2.
9167
d97e7b59
VS
91682011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
9171 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
9172 * grub-core/lib/x86_64/setjmp.S: Likewise.
9173 * grub-core/lib/mips/setjmp.S: Likewise.
9174 * grub-core/lib/powerpc/setjmp.S: Likewise.
9175 * grub-core/lib/sparc64/setjmp.S: Likewise.
9176
0624551c
VS
91772011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
9180 * grub-core/lib/efi/datetime.c: Likewise.
9181
e8f28d4c
VS
91822011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
9185 New function.
9186 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
9187 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
9188 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
9189
bba79a15
VS
91902011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
9193 bitmap.
9194 (grub_gfxterm_term_init): Likewise.
9195
abc474ef
VS
91962011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 Take into account the decorations the computing menu entry width.
9199
9200 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
9201 (grub_gfxmenu_create_box): Register get_border_width.
9202 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
9203 if available.
9204 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
9205 get_border_width.
9206
e74b3947
EP
92072011-04-18 Endres Puschner <code@e7p.de>
9208
9209 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
9210 Don't skip first class.
9211
34faa595
VS
92122011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9213
9214 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
9215 chunks.
9216 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
9217
93a777e3
VS
92182011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 Complete 64-bit division support.
9221
9222 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
9223 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
9224 * include/grub/misc.h (grub_divmod64): Rename to ...
9225 (grub_divmod64_full): ... this.
9226 (grub_divmod64): New inline function.
9227
a5102d94
VS
92282011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 * util/grub-mkimage.c (generate_image): Add forgotten comma.
9231
f3fb7b36
VS
92322011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
9235 performing the necessary test.
9236
9ac718b0
VS
92372011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
9240 (kfreebsd.elf): Likewise.
9241 (pc-chainloader.elf): Likewise.
9242 (ntldr.elf): Likewise.
9243
50d2cc5a
VS
92442011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 Identify RAID by its UUID rather than (guessed) name.
9247
9248 * grub-core/disk/raid.c (ascii2hex): New function.
9249 (grub_raid_open): Accept mduuid/%s specification.
9250 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
9251 (get_mdadm_uuid): ... this.
9252 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
9253
e03f7bea
VS
92542011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
9257 to negative size.
9258
e74c3112
CW
92592011-04-13 Colin Watson <cjwatson@ubuntu.com>
9260
9261 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
9262 btrfs subvolume.
9263 * util/grub.d/20_linux_xen.in: Likewise.
9264
78fa584f
CW
92652011-04-13 Colin Watson <cjwatson@ubuntu.com>
9266
9267 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
9268 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
9269
9270 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9271 Build a list of relevant visible mounts using the mnt_id and
9272 parent_mnt_id fields, and then scan that list at the end.
9273
9d5f8162
CW
92742011-04-12 Colin Watson <cjwatson@ubuntu.com>
9275
9276 * docs/grub.texi (normal): New section.
9277 (normal_exit): New section.
9278 (Embedded configuration): Add reference to normal.
9279 (GRUB only offers a rescue shell): Likewise.
9280 * docs/grub-dev.texi (Error Handling): Fix typo.
9281
09a9d66f
CW
92822011-04-12 Colin Watson <cjwatson@ubuntu.com>
9283
9284 * NEWS: Drop obsolete entry about probe-only btrfs support.
9285
0c676933
CW
92862011-04-12 Colin Watson <cjwatson@ubuntu.com>
9287
9288 * util/import_gcry.py: Fix typo.
9289
ec9f5e0d
VS
92902011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * NEWS: Add btrfs support.
9293
fe6b2cba
VS
92942011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
92952011-04-11 Colin Watson <cjwatson@ubuntu.com>
9296
9297 BtrFS support. Written by me (Vladimir) with important bugfixes and
9298 even more important testing by Colin.
9299
9300 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9301 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9302 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9303 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9304 mem_input_off and mem_input. All users updated to accept in-RAM input.
9305 (gzio_seek): New function.
9306 (test_zlib_header): Likewise.
9307 (grub_gzio_read): Likewise.
9308 (grub_zlib_decompress): Likewise.
9309 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9310 Accept partial and non-virtual mounts.
9311 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9312 avoid receiving /dev/dm-X as device.
9313 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9314 Handle bind and partial mounts.
9315 * grub-core/lib/crc.c: New file.
9316 * include/grub/deflate.h: Likewise.
9317 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9318 proto.
9319 * include/grub/lib/crc.h: New file.
9320
e745cf0c
VS
93212011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 Implement automatic module license checking according to new GNU
9324 guidelines.
9325
9326 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9327 (grub_dl_load_core): Use grub_dl_check_license.
9328 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9329 (GRUB_MOD_LICENSE): Likewise.
9330 (GRUB_MOD_DUAL_LICENSE): Likewise.
9331 All modules updated.
9332
2a9bc016
CW
93332011-04-11 Colin Watson <cjwatson@ubuntu.com>
9334
9335 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9336 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9337 loaders.
9338 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
9339
8a3bc88e
VS
93402011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9341
9342 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
9343
af869a4a
VS
93442011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 * util/grub-fstest.c (read_file): Report GRUB error if file opening
9347 failed.
9348
9ee8d94f
VS
93492011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 * grub-core/kern/file.c (grub_file_open): Don't take into account the
9352 parenthesis in the middle of the filename.
9353
b01abe3e
VS
93542011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9355
9356 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
9357 rather than trying to put initrd way too high.
9358 Reported by: Ryan Lortie <desrt@desrt.ca>
9359
335bda1e
VS
93602011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9361
9362 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
9363 improperly removed string.
9364
5ca1a64d
VS
93652011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
9368 is_disk.
9369 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
9370 (open_device) Likewise.
9371 (grub_util_biosdisk_close): Likewise.
d8ce9995 9372 Reported by: Mark Korenberg.
5ca1a64d 9373
cbac5b1e
AK
93742011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
9375
9376 * util/grub-mkconfig_lib.in: Add missing quotes.
9377
088cdb65
CW
93782011-04-10 Colin Watson <cjwatson@ubuntu.com>
9379
9380 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
9381 is NULL.
9382
8b8a81fa
VS
93832011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 Dynamically count the number of lines for the lower banner.
9386
9387 * grub-core/normal/menu_entry.c (per_term_screen): New member
9388 num_entries.
9389 (print_down): Use num_entries.
9390 (update_screen): Likewise.
9391 (grub_menu_entry_run): Set num_entries.
9392 * grub-core/normal/menu_text.c (menu_viewer_data): New member
9393 num_entries.
9394 (grub_print_message_indented): Move real part to ...
9395 (grub_print_message_indented_real): ... here. Additional argument
9396 dry_run.
9397 (draw_border): Additional argument num_entries.
9398 (print_message): Additional argument dry_run.
9399 (print_entries): Receive menu viewer data.
9400 (grub_menu_init_page): New argment num_entries.
9401 (menu_text_set_chosen_entry): Use num_entries.
9402 (grub_menu_try_text): Likewise.
9403 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
9404 All users updated.
9405 (grub_ucs4_count_lines): New function.
9406 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
9407 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
9408 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
9409 (grub_term_border_height): Likewise.
9410 (grub_term_num_entries): Likewise.
9411
277f955b
VS
94122011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
9415 Remove now unused string.
9416
536ce85a
CW
94172011-04-09 Colin Watson <cjwatson@ubuntu.com>
9418
9419 * docs/grub-dev.texi (Finding your way around): Update for 1.99
9420 build system.
9421 (Getting started): GRUB is developed in Bazaar now, not Subversion.
9422
9423 (Comment): Fix typo.
9424 (Getting started): General copy-editing.
9425 (Typical Development Experience): Likewise.
9426 (Error Handling): Likewise.
9427 (Video API): Likewise.
9428
2cf09e32
CW
94292011-04-09 Colin Watson <cjwatson@ubuntu.com>
9430
9431 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
9432 throughout.
9433
1ec652f4
VS
94342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9435
9436 * util/grub-mkimage.c (main): Handle special naming of yeeloong
9437 directory.
9438
2c583728
CW
94392011-04-08 Colin Watson <cjwatson@ubuntu.com>
9440
9441 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
9442 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
9443 "development".
9444
d7a565e9
VS
94452011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
9448 grub_strcpy since the lines aren't necessarily 0-terminated.
9449
7c2e4909
VS
94502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9451
9452 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
9453 root on legacy.
9454
34c09785
VS
94552011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 * grub-core/commands/probe.c (options): Argument to set isn't optional.
9458 (GRUB_MOD_INIT): DEVICE isn't optional.
9459
6a6f8058
VS
94602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
9463 word on new line if it's too long anyway. Fixes a hang.
9464
2e335e90
VS
94652011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
9468 const.
9469 * util/grub-setup.c (main): Reuse md device name if available.
9470 * util/raid.c (grub_util_raid_getmembers): Receive device name and
9471 not GRUB name as argument.
9472 Based on patch by: Florian Wagner <fwagner>.
9473
10a7a867
VS
94742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9477 Place mbi on low memory for better compatibility.
9478
7a3d6cd9
VS
94792011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
9482
18dd6b47
VS
94832011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
94842011-04-08 Colin Watson <cjwatson@ubuntu.com>
9485
9486 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 9487 * conf/Makefile.common: Likewise.
18dd6b47 9488
3c0e3f14
VS
94892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9490
f7148863
VS
9491 * grub-core/normal/menu.c: Add missing include.
9492
94932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 9496
6d1fa41f
MZ
94972011-04-08 Martin Zuther <mzuther@mzuther.de>
9498
9499 * util/grub-mkconfig.in: Ignore emacsen backup.
9500
478182a8
VS
95012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
9504 on open.
9505 (grub_util_biosdisk_close): Likewise.
9506
72a89a54
VS
95072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
9510 const attribute and use grub_isdigit.
9511
b5ebecfa
A
95122011-04-06 Andrey <dev_null@ukr.net>
9513
9514 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
9515 gcc warning.
9516
7755f66e
VS
95172011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
9520 useful grub_dprintf's.
9521
461121ff
VS
95222011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
9525
2a961775
VS
95262011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
9529
adf594cc
VS
95302011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9531
9532 Output errors if theme loading failed.
9533
9534 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
9535 grub_gfxterm_fullscreen on error paths to ...
9536 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
9537 theme loading error.
9538
665900a3
VS
95392011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
9542 space for older compilers.
9543 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9544
a562b479
VS
95452011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
9548 and report them as not RAID members since they are useless for GRUB.
9549 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9550
850e9373
VS
95512011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 Increase LVM implementation robustness in order not to crash on
9554 configurations like pvmove. Previously code assumed that in some places
9555 only lvs or only pvs are used whereas it seems that they are used
9556 interchangeably.
9557
9558 * grub-core/disk/lvm.c (read_node): New function.
9559 (read_lv): Use read_node.
9560 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
9561 Match volumes only at the end when all lvs are found. Take both
9562 pvs (first) and lvs (second) into account.
9563 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
9564 mirror_* into node_*. All users updated.
9565 (grub_lvm_stripe): Merge this ...
9566 (grub_lvm_mirror): ... and this ...
9567 (grub_lvm_node): ... into this. All users updated.
9568
6f332153
VS
95692011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
9572 of function to allow further scanning for LVMs.
9573
829ea451
VS
95742011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
9577 on failed seek as it breaks open fd reusage.
9578
09ceb9a5
VS
95792011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9580
9581 * util/grub-install.in: Add a recommendation to use --recheck before
9582 reporting bugs.
9583
67e11623
VS
95842011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9585
9586 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
9587 are obtained.
9588
caee5efd
VS
95892011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 GRUB developper manual based on existing Internals section and
9592 contributions by the various authors with active copyright assignment.
9593
9594 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
9595 * docs/font_char_metrics.png: New file.
9596 * docs/font_char_metrics.txt: Likewise.
9597 * docs/grub-dev.texi: Likewise.
9598 * docs/grub.texi (Internals): Move from here ...
9599 * docs/grub-dev.texi: ... here.
9600
2cccc747
CW
96012011-04-01 Colin Watson <cjwatson@ubuntu.com>
9602
9603 Store the loopback device as data on loopback grub_disk structures,
9604 rather than the file it points to. This fixes use of freed memory
9605 if an existing loopback device is replaced.
9606
9607 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
9608 disk->data, not dev->file.
9609 (grub_loopback_read): Adjust file assignment to match.
9610 Fixes Ubuntu bug #742967.
9611
186ae367
CW
96122011-04-01 Colin Watson <cjwatson@ubuntu.com>
9613
9614 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
9615 when replacing an existing device.
9616
cfed2ad0
VS
96172011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9618
9619 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
9620 memory corruptions.
9621
9622 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
9623 unsigned.
9624 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
9625 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
9626 (grub_jfs_read_inode): Likewise.
9627 (grub_jfs_opendir): Likewise. Remove now useless casts.
9628 (grub_jfs_getent): Likewise.
9629 Make ino a grub_uint32_t rather than int.
9630 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
9631 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
9632 division and module with bit operations.
9633 (grub_jfs_find_file): Make ino a grub_uint32_t.
9634 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
9635
05d2ed32
CW
96362011-04-01 Colin Watson <cjwatson@ubuntu.com>
9637
9638 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
9639 warning. (This was in fact always initialised before use, but GCC
9640 wasn't smart enough to prove that.)
9641 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9642
91dc6073
VS
96432011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
9646 stack alignment.
9647 (efi_wrap_1): Likewise.
9648 (efi_wrap_2): Likewise.
9649 (efi_wrap_3): Likewise.
9650 (efi_wrap_4): Likewise.
9651 (efi_wrap_5): Likewise.
9652 (efi_wrap_6): Likewise.
9653 (efi_wrap_10): Likewise.
9654 Based on information by: Red Hat/Peter Jones.
9655
a8afc1d1
CW
96562011-03-31 Colin Watson <cjwatson@ubuntu.com>
9657
9658 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
9659 set-but-not-used variable.
9660
a826cc7d
CW
96612011-03-31 Colin Watson <cjwatson@ubuntu.com>
9662
9663 * docs/grub.texi (Simple configuration): Be more explicit about
9664 GRUB_DEFAULT, and add an example.
9665 Reported by: Leslie Rhorer.
9666
875b67ba
CW
96672011-03-30 Colin Watson <cjwatson@ubuntu.com>
9668
9669 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
9670 shell".
9671
fd7cd914
AS
96722011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9673
9674 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
9675 * util/grub.d/20_linux_xen.in: Likewise.
9676
090b1b6a
VS
96772011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * util/grub.d/10_linux.in: Try alternative config filenames where
9680 we parse config file.
9681 * util/grub.d/20_linux_xen.in: Likewise.
9682
baad885c
AS
96832011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9684
9685 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
9686 * util/grub.d/20_linux_xen.in: Likewise.
9687
241e41f5
VS
96882011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * grub-core/disk/raid.c (insert_array): Add few potentially
9691 useful grub_util_info.
9692 (grub_raid_register): Likewise.
9693
56445fb2
VS
96942011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
9697 Preserve partition number in mdadm code path.
9698
c871b1c6
VS
96992011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
9702 few potentially useful grub_util_info.
9703
5e631b4f
CW
97042011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
9707
2d5d0333
CW
97082011-03-30 Colin Watson <cjwatson@ubuntu.com>
9709
9710 * docs/grub.texi (default): Use @example rather than nested
9711 itemized lists to avoid breaking gendocs.
9712
3d7ed04e
CW
97132011-03-30 Colin Watson <cjwatson@ubuntu.com>
9714
9715 * docs/grub.texi (Future): Update.
9716
abf04200 97172011-03-30 Colin Watson <cjwatson@ubuntu.com>
9718
9719 * docs/grub.texi (Environment): New chapter.
9720 (Changes from GRUB Legacy): Link to "Environment block" section for
9721 details of limitations.
9722 (Simple configuration): Likewise. Link to documentation of gfxmode
9723 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
9724 respectively.
9725 (Shell-like scripting): Note that normal variables are stored in the
9726 environment.
9727 (gettext): Link to documentation of lang and locale_dir.
9728 (list_env): New section.
9729 (load_env): New section.
9730 (save_env): New section.
9731
9732 (Reporting bugs): Fix typo.
9733
e1ad0edd
VS
97342011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
9737 the example.
9738
5d803174
VS
97392011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 * grub-core/term/at_keyboard.c (set_scancodes)
9742 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
9743
2a2da1d0
CW
97442011-03-30 Colin Watson <cjwatson@ubuntu.com>
9745
9746 * docs/grub.texi (Menu-specific commands): Remove some semantics
9747 that were true in GRUB Legacy but not in GRUB 2.
9748 (submenu): New section.
9749 (false): New section.
9750 (read): New section.
9751 (true): New section.
9752
a7527639
CW
97532011-03-30 Colin Watson <cjwatson@ubuntu.com>
9754
9755 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
9756
97572011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
9758
9759 * docs/grub.texi (Simple configuration): Explain some of the
9760 current limitations of grub-mkconfig.
8a748df2 9761 Reported by: Leslie Rhorer.
e30af029 9762
fc858482
VS
97632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 Old macs search for boot.efi rather than for bootia32.efi.
9766
9767 * util/grub-install.in: Copy bootia32.efi to boot.efi.
9768 * util/grub-mkrescue.in: Likewise.
9769 Suggested by: Peter Jones.
9770
e1eb511d
VS
97712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9772
9773 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
9774
70e75364
VS
97752011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
9778 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
9779 (grub_lvm_mirror): New struct.
9780 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
9781 (grub_lvm_iterate): Iterate only visible volumes.
9782 (grub_lvm_read): Factor out to ..
9783 (read_lv): ... this. Support mirrors.
9784 (grub_lvm_read): New wrapper function.
9785 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
9786 stripped or mirrored.
9787
fc18f6a3
VS
97882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
9791
5c650f4c
CW
97922011-03-29 Colin Watson <cjwatson@ubuntu.com>
9793
9794 * docs/grub.texi (loopback): New section.
9795
61d7156b
CW
97962011-03-29 Colin Watson <cjwatson@ubuntu.com>
9797
9798 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
9799 removed -p option.
9800
994b8264
CW
98012011-03-29 Colin Watson <cjwatson@ubuntu.com>
9802
9803 * docs/grub.texi (BIOS installation): New section, partly based on
9804 previous text in other sections.
9805 (Installing GRUB using grub-install): Replace BIOS discussion with a
9806 cross-reference.
9807 (Images): Likewise.
9808
9e4d19e0
VS
98092011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 * grub-core/kern/emu/hostdisk.c (find_partition_start)
9812 [HAVE_DIOCGDINFO]: Add safety checks.
9813
a307c0b2
VS
98142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9815
9816 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
9817 per default compiled in kernel and prior to 8.0 isn't shipped at all.
9818
b4db4f39
CW
98192011-03-29 Colin Watson <cjwatson@ubuntu.com>
9820
9821 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
9822 real_sb->size is zero (e.g. RAID-0), get the disk size from
9823 real_sb->data_size instead.
9824 Fixes Ubuntu bug #743136.
9825
35e5f84c
VS
98262011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
9829 printf clauses for printing size and start.
9830
d2e29d81
VS
98312011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9832
9833 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
9834 Reported and tested by: Timothy Nikkel.
9835
ed5587af
VS
98362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9837
9838 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
9839 (dirty_region_add_real): ... this.
9840 (dirty_region_add): Don't discard margin refresh when performing
9841 scheduled repaint.
9842
a1dc717c
VS
98432011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 * grub-core/lib/relocator.c (allocate_regstart)
9846 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
9847 terminals are capabple of malloc-free operation.
9848 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9849 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9850
9f3677d3
VS
98512011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
9852
9853 * util/grub-setup.c: Copy the partition table zone if floppy support
9854 is disabled, even if no partition table is found.
9855
9856 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
9857 during POST if an invalid partition table is contained in the PBR
9858 of the active partition when GRUB is installed to a partition.
9859
24148725
CW
98602011-03-28 Colin Watson <cjwatson@debian.org>
9861
9862 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
9863 comment.
9864
f329eda7
CW
98652011-03-28 Colin Watson <cjwatson@debian.org>
9866
9867 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
9868 to be specific about what kind of RAID device we're scanning for.
9869
c482ad98
SG
98702011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
9871
9872 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
9873 return freed string.
9874
5ee04984
VS
98752011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9876
9877 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
9878
f4727da9
VS
98792011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 Use libgeom on FreeBSD to detect partitions.
9882
9883 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
9884 (grub-mkrelpath): Likewise.
9885 (grub-script-check): Likewise.
9886 (grub-editenv): Likewise.
9887 (grub-mkpasswd-pbkdf2): Likewise.
9888 (grub-fstest): Likewise.
9889 (grub-mkfont): Likewise.
9890 (grub-mkdevicemap): Likewise.
9891 (grub-probe): Likewise.
9892 (grub-setup): Likewise.
9893 (grub-ofpathname): Likewise.
9894 (grub-mklayout): Likewise.
9895 (example_unit_test): Likewise.
9896 (grub-menulst2cfg): Likewise.
9897 * grub-core/Makefile.core.def (grub-emu): Likewise.
9898 (grub-emu-lite): Likewise.
9899 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
9900 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
9901 define HAVE_DIOCGDINFO.
9902 (follow_geom_up) [FreeBSD]: New function.
9903 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
9904 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
9905 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
9906 unconditionally of HAVE_DIOCGDINFO.
9907
82fe6c75
VS
99082011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9909
9910 Fix FreeBSD compilation problem.
9911
9912 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
9913 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
9914
4c6c9431
CW
99152011-03-24 Colin Watson <cjwatson@ubuntu.com>
9916
9917 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
9918 Switch back to page zero before loading a kernel, since some kernel
9919 drivers expect that.
9920 Thanks to: Felix Kuehling.
9921
c7064d94
VS
99222011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
9925 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
9926 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
9927
3f71cded
VS
99282011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
9931 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
9932
ef6de21a
VS
99332011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9934
9935 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
9936 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
9937 malloc is disabled.
9938
8bc66a2c
VS
99392011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
9942 for modules headers when counting the needed allocation size.
9943
5657722c
VS
99442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
9947 if no ASCII character is found to prevent crash.
9948
41a85f55
AK
99492011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
9950
9951 * grub-core/video/bitmap.c (match_extension): Ignore case.
9952
59e1e5f1
VS
99532011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9954
9955 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
9956
bd4d051a
VS
99572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9958
9959 * grub-core/script/parser.y: Declare "time" as valid argument.
9960
bae7fcc1
PJ
99612011-03-23 Peter Jones <pjones@redhat.com>
9962
9963 Fix incorrect assert failure reporting.
9964
9965 * grub-core/tests/example_functional_test.c (example_test): Add
9966 a failure comment.
9967 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
9968 (failure_start): ...this. Check that malloc succeeded.
9969 Don't call xvasprintf. Return failure struct.
9970 (failure_append_vtext): New function.
9971 (failure_append_text): Likewise.
9972 (add_failure): Likewise.
9973 (grub_test_assert_helper): Likewise.
9974 * include/grub/test.h (grub_test_assert_helper): New declaration.
9975 (grub_test_assert): Macro rewritten.
9976
537dc9be
VS
99772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
9980
fa3e01bf
VS
99812011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
9984
b1d28404
VS
99852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
9988 into GRUB-style one.
9989
2e3e2e09
VS
99902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
9993 error and not grub_errno.
9994 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
9995
ed57e557
VS
99962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9997
9998 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
9999 GRUB_USB_SPEED_NONE in case of failure and not the error code.
10000
d1611f01
VS
100012011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * grub-core/efiemu/i386/pc/cfgtables.c
10004 (grub_machine_efiemu_init_tables): Make declaration a prototype.
10005 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
10006 (grub_xnu_unlock): Likewise.
10007 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
10008
7d4e39d6
VS
100092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10010
10011 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
10012 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
10013 * grub-core/commands/hashsum.c (aliases): Likewise.
10014 * grub-core/commands/setpci.c (pci_registers): Likewise.
10015 * grub-core/disk/usbms.c (attach_hook): Likewise.
10016 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
10017 (zio_checksum_table): Likewise.
10018 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
10019 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
10020 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
10021 * grub-core/lib/relocator.c (leftovers): Likewise.
10022 (extra_blocks): Likewise.
10023 * grub-core/loader/i386/bsd.c (relocator): Likewise.
10024 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
10025 (modules_last): Likewise.
10026 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
10027 (devices): Likewise.
10028 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
10029 (modules_last): Likewise.
10030 * grub-core/normal/auth.c (users): Likewise.
10031 * grub-core/normal/context.c (initial_menu): Likewise.
10032 (current_menu): Likewise.
10033 * grub-core/normal/crypto.c (crypto_specs): Likewise.
10034 * grub-core/term/serial.c (grub_serial_ports): Likewise.
10035 (grub_serial_terminfo_input_template): Likewise.
10036 (grub_serial_terminfo_output_template): Likewise.
10037 (grub_serial_terminfo_input): Likewise.
10038 (grub_serial_terminfo_output): Likewise.
10039 (registered): Likewise.
10040 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
10041
40fc4659
VS
100422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
10045 grub_video_mode_type_t.
10046 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
10047 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
10048 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
10049
2da48d28
VS
100502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10051
10052 * util/grub-install.in: Correct the x86-64 name as x86_64.
10053
9b43bf39
CW
100542011-03-11 Colin Watson <cjwatson@ubuntu.com>
10055
10056 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
10057 initial chunk read from the kernel always includes GRUB's multiboot
10058 header, which is now outside the first sector.
10059
be1a7ce0
CW
100602011-03-09 Colin Watson <cjwatson@ubuntu.com>
10061
10062 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
10063 cached mmap_size, so that this works correctly when called multiple
10064 times.
10065 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
10066
83a3c48d
CW
100672011-03-09 Colin Watson <cjwatson@ubuntu.com>
10068
10069 * docs/grub.texi (Simple configuration): Tidy up formatting.
10070
57d75699
SJ
100712011-03-07 Szymon Janc <szymon@janc.net.pl>
10072
10073 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
10074 Set-but-not-used variable removed.
10075
028501a0
VS
100762011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 Workaround yet another IEEE1275 bug.
10079
10080 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10081 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
10082 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
10083 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
10084 is set.
10085 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10086 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
10087
d998657d
VS
100882011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
10091 error.
10092
fee7cdd4
CW
100932011-02-11 Colin Watson <cjwatson@ubuntu.com>
10094
10095 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
10096 empty, since in that case we can only generate either nothing or a
10097 syntactically invalid configuration file.
10098 Reported by: Michal Suchanek. Fixes Debian bug #612898.
10099
97286eb5
CW
101002011-02-09 Colin Watson <cjwatson@ubuntu.com>
10101
10102 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
10103 (Making a GRUB bootable CD-ROM): Likewise.
10104 (Invoking grub-mkrescue): New section.
10105 Reported by: Yann Dirson. Fixes Debian bug #612585.
10106
22b28eb3
CW
101072011-02-09 Colin Watson <cjwatson@ubuntu.com>
10108
10109 * util/grub-install.in: Remove unnecessary brackets from tr
10110 arguments.
10111 * util/grub.d/10_hurd.in: Likewise.
10112 * util/grub.d/10_kfreebsd.in: Likewise.
10113 * util/grub.d/10_linux.in: Likewise.
10114 * util/grub.d/20_linux_xen.in: Likewise.
10115 Reported by: Jamie Heilman. Fixes Debian bug #612564.
10116
7e735e43
CW
101172011-02-08 Colin Watson <cjwatson@ubuntu.com>
10118
10119 * include/grub/file.h (not_easly_seekable): Rename to ...
10120 (not_easily_seekable): ... this. Update all users.
10121
800f1881
CW
101222011-01-28 Colin Watson <cjwatson@ubuntu.com>
10123
10124 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
10125 grub-mkrescue.
10126
3281d3d6
VS
101272011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 * util/grub-mkimage.c (generate_image): Refuse to create the images
10130 bigger than the actual flash (512K) in Loongson machines. 512K is also
10131 the biggest chip supported by them.
10132
3533413c
VS
101332011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10134
10135 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
10136
73ae4f4f
VS
101372011-01-22 Anthony DeRobertis <anthony@derobert.net>
10138
10139 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
10140 super_offset field.
10141
37f4f608
VS
101422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10143
10144 * util/grub-install.in: Ignore install device on platforms
10145 where it doesn't make sense. Always use UUIDs except on pc, efi and
10146 sparc64.
10147 Reported by: Daniel Kahn Gillmor.
10148
03a4ccb5
VS
101492011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10150
10151 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
10152
ffc8f4d8
VS
101532011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10154
10155 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
10156 (iterate_real): Don't rely on partition being non-NULL.
10157
80f23be7
VS
101582011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
10161 supported platforms. Put a compile time assert for this rather than
10162 generate a warning with 32-bit shift.
10163
5d4f4dd5
VS
101642011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
10167 logical expression more readable.
10168
e489601a
VS
101692011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10170
10171 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
10172 even if some elements have a name.
10173 Reported by: Alexander GQ Gerasiov.
10174
96e0a6ea
CW
101752011-01-22 Colin Watson <cjwatson@ubuntu.com>
10176
10177 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
10178 path unreadable if `grub-probe -t abstraction' fails, for example if
10179 memberlist fails on an LVM volume group.
10180 Reported by: Darius Jahandarie.
10181
81431e2b
CW
101822011-01-22 Colin Watson <cjwatson@ubuntu.com>
10183
10184 * docs/grub.texi (Simple configuration): Document
10185 GRUB_PRELOAD_MODULES.
10186
5e79d66a
CW
101872011-01-17 Colin Watson <cjwatson@ubuntu.com>
10188
10189 * .bzrignore: Remove nonexistent grub-pbkdf2.
10190
646ada34
VS
101912011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * configure.ac: Bump version to 1.99~rc1.
10194
04360337
VS
101952011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10196
10197 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
10198 for safety.
10199
46c9db88
VS
102002011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
10203 module.
10204
102052011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
10206
10207 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
10208
4fbf1852
VS
102092011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
10212 diskdevid.
10213
f1632d4d
VS
102142011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10215
10216 Fix compilation on cygwin.
10217
10218 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
10219 -R .drectve on cygwin.
10220 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
10221 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
10222 (COND_CYGWIN): New condition.
10223 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
10224 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
10225 not @TARGET_OBJ2ELF@.
10226 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
10227 type to determine whether aux is to be used.
10228
0b5e127b
VS
102292011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
10232 realpath'ed device string.
10233 Handle floppy (somewhat).
10234 Issue error in unknown case rather than garbage.
10235 Reported by: Axel Beckert.
10236
173b71e9
VS
102372011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * util/grub.d/00_header.in (load_video): Handle the case when no video
10240 drivers available.
10241 Thanks to: Axel Beckert.
10242
f8f479db
VS
102432011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10244
10245 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
10246 variable. Fixes problem on big endian platforms.
10247
8fc0a245
VS
102482011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10249
10250 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
10251 It doesn't work well there.
10252
b8494fbe
VS
102532011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10254
10255 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
10256 warning.
10257 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
10258 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
10259 counter.
10260
b44a558c
VS
102612011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 Use alias->path rather than buggy "canon".
10264
10265 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
10266 (ofdisk_hash_add): New argument curcan. All users updated.
10267
51fa856c
CW
102682011-01-11 Colin Watson <cjwatson@ubuntu.com>
10269
10270 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
10271
9da068a5
VS
102722011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10273
10274 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10275 loadmask before doing any calculations. Use correct type for offset.
10276 (grub_linux_load64): Likewise.
10277
86205c94
CW
102782011-01-11 Colin Watson <cjwatson@ubuntu.com>
10279
10280 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10281 with NULL.
10282 (console_grub_equivalences_unshift): Likewise.
10283 Reported by: Daniel Dehennin.
10284
4531a206
VS
102852011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10288 (set_env_limn_ro): Likewise.
10289 (GRUB_MOD_INIT): Likewise.
10290 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10291 ARRAY_SIZE while on it.
10292 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10293 * grub-core/normal/context.c (grub_env_export): Move from here ...
10294 * grub-core/kern/env.c (grub_env_export): ... here.
10295 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10296 prefix.
10297 * grub-core/kern/main.c (grub_main): Export root and prefix.
10298 * include/grub/env.h (grub_env_export): Export.
10299 Reported by: Seth Goldberg.
10300
45146057
VS
103012011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10304 Take into account space used by ELF sections and multiboot palette.
10305 Reported by: Grégoire Sutre.
10306
f093110b
VS
103072011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10308
10309 * BUGS: New file.
10310
3395fe52
VS
103112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 Pass more appropriate video id to Linux.
10314
10315 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10316 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10317 fill have_vga.
10318 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10319 shift params->lfb_size.
10320 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10321
c2fa6cbb
VS
103222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10325
b3ff6ff0
VS
103262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10327
10328 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10329 separator and pass bootpath/devid even if only one of them is available.
10330 Reported by: Seth Goldberg.
10331
ae67942e
VS
103322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10333
10334 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10335 implementations bug on them.
10336
10337 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10338 memory.
10339 (filter_memory_map): Likewise.
10340
d570097a
VS
103412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
10344 Reported by: nebuchadnezzar.
10345
a508e776
VS
103462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10347
10348 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
10349 Reported by: nebuchadnezzar.
10350
dcb883b1
VS
103512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 Submenu default support.
10354
10355 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
10356 auto_boot. All users updated.
10357 Declared static.
10358 Handle chosen and default with submenus.
10359 (grub_menu_execute_with_fallback): Declared static.
10360 Don't notify failure if autobooted. Upper level does it.
10361 (menuentry_eq): New function.
10362 (get_entry_number): Use menuentry_eq.
10363 (show_menu): New parameter "autobooted". All users updated.
10364 (grub_show_menu): Likewise.
10365 * include/grub/normal.h (grub_show_menu): Likewise.
10366 * include/grub/menu.h (grub_menu_execute_entry): Removed.
10367 (grub_menu_execute_with_fallback): Likewise.
10368
6fef99b4
VS
103692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 * util/grub-mklayout.c (usage): Update help text.
10372
47a77af5
VS
103732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10374
10375 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
10376
ce6bb3ee
VS
103772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 * util/grub-menulst2cfg.c (main): Trim the line.
10380
db87be2a
VS
103812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10382
10383 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
10384 (grub_machine_init): Don't check amount of low memory as reportedly
10385 INT 12h can be broken and if low memory is too low we wouldn't have
10386 gotten into grub_machine_init anyway.
10387
c49849cc
VS
103882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10389
10390 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
10391 (grub_machine_mmap_iterate): Take low memory into account
10392
b1969b30
VS
103932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10394
10395 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
10396 badfs.
10397 Reported by: TiCPU.
10398
cf0eaf13
VS
103992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10400
10401 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
10402 members errors.
10403
1f060f39
GS
104042011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10405
10406 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
10407 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
10408
a21e5672
GS
104092011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10410
10411 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
10412 openbsd and netbsd types being in part_bsd module.
10413
c88172fa
VS
104142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10415
10416 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
10417 (_FILE_OFFSET_BITS): Likewise.
10418 Reported by: Seth Goldberg.
10419
53798c4b
GS
104202011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10421
10422 * configure.ac: Check for libdevmapper header.
10423
e7121b69
VS
104242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10425
10426 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
10427 avoid aliasing.
10428 (fzap_lookup): Likewise.
10429 (dnode_get): Likewise.
10430 (make_mdn): Likewise.
10431 (zfs_mount): Likewise.
10432 (fzap_iterate): Use temporary pointer to avoid aliasing.
10433 (grub_zfs_read): Likewise.
10434 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
10435 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
10436 pointers to avoid aliasing.
10437 (grub_cmd_xnu_kernel64): Likewise.
10438 (grub_xnu_load_driver): Likewise.
10439
fc836af9
VS
104402011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
10443 aliasing warning.
10444 (grub_cmd_terminal_output): Likewise.
10445 Reported and tested by: Grégoire Sutre.
10446
f9f37648
VS
104472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
10450 warning.
10451 Reported and tested by: Grégoire Sutre.
10452
ec1dfd63
VS
104532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * configure.ac: Do CPU substitution even if it's specified explicitly.
10456 Reported and tested by: Alain Greppin.
10457
9462775a
VS
104582011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
10461 Reported and tested by: Alain Greppin.
10462
0fd48e35
VS
104632011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 Satisfy some bison versions need for inttypes.h.
10466
10467 * grub-core/lib/posix_wrap/inttypes.h: New file.
10468 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
10469 (int16_t): Likewise.
10470 (int32_t): Likewise.
10471 (int64_t): Likewise.
10472 Reported and tested by: Alain Greppin.
10473
43f1bc83
VS
104742011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10475
10476 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
10477 Silence spurious warning.
10478 Reported and tested by: Alain Greppin.
10479
64d1f041
SJ
104802011-01-07 Szymon Janc <szymon@janc.net.pl>
10481
10482 * docs/grub.texi (Support automatic decompression): Update with xz
10483 decompression support.
10484
25953e10
SJ
104852011-01-07 Szymon Janc <szymon@janc.net.pl>
10486
10487 Improve loaders' kernel command line handling.
10488
10489 * grub-core/lib/cmdline.c: New file.
10490 * include/grub/lib/cmdline.h: Likewise.
10491 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
10492 grub_create_loader_cmdline to create kernel command line.
10493 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10494 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
10495 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
10496 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
10497 (linux): Add lib/cmdline.c on common.
10498
e72d259f
VS
104992011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
10502 inopos might be unaligned.
10503
c0cf26da
VS
105042011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10507 endian transformations.
10508 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10509 Based on report by: Doug Nazar.
10510
0ca09e6c
DN
105112011-01-07 Doug Nazar <nazard.michi@gmail.com>
10512
10513 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
10514 array->members[i].start_sector.
10515 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
10516
014b6806
VS
105172011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10518
10519 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
10520 Reported and tested by: Grégoire Sutre.
10521
415502c2
CW
105222011-01-06 Colin Watson <cjwatson@ubuntu.com>
10523
10524 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
10525 avoid causing test failures by clearing the screen.
10526
71b6a2b7
CW
105272011-01-06 Colin Watson <cjwatson@ubuntu.com>
10528
10529 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10530 Fix prefix check to handle the case where dir ends with a slash
10531 (most significantly, "/" itself).
10532 Reported by: Michael Vogt.
10533
b3f8d28a
VS
105342011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10535
10536 Run terminfo_cls on initing terminfo output to clear the screen and
10537 move the cursor to (0,0).
10538
10539 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
10540 Call grub_terminfo_output_init.
10541 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
10542 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
10543 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
10544
4c3e4f37
VS
105452011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
10548 only when needed.
10549
488f71f1
VS
105502011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
10553 CTRL.
10554
18a38098
VS
105552011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 The E820 type 5 is BADRAM, not EXEC_CODE.
10558
10559 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10560 (GRUB_E820_BADRAM): New define.
10561 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
10562 into reserved. Propagate BADRAM.
10563 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10564 (GRUB_E820_BADRAM): New define.
10565
9eae2084
VS
105662011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10567
10568 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
10569 Ignore the memory post-4G.
10570 (grub_relocator_firmware_alloc_region): Additional debug statement.
10571
ebc71d28
VS
105722011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
10575 names.
10576 Reported by: David Pravec.
10577
446fa400
VS
105782011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10579
10580 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
10581 BIOSes.
10582
a0159f37
VS
105832011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10584
10585 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
10586 Prevent overflow.
10587 (grub_reed_solomon_recover): Likewise.
10588
e5146ca1
VS
105892011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
10592
105932011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
10594
10595 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
10596 variable.
10597
5b1bdf12
CW
105982011-01-04 Colin Watson <cjwatson@ubuntu.com>
10599
10600 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
10601 descriptions of extract_legacy_entries_source and
10602 extract_legacy_entries_configfile.
10603 Reported by: Seung Soo, Ha.
10604
99d925aa
CW
106052011-01-03 Colin Watson <cjwatson@ubuntu.com>
10606
10607 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
10608 on devices that do not implement function 0.
10609
4af0504b
DV
106102011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
10611
10612 * grub-core/fs/hfsplus.c: Make parent unsigned.
10613 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
10614 overflows.
10615 (grub_hfsplus_cmp_extkey): Likewise
10616
469ee10a
VS
106172011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10618
10619 * util/grub-install.in: Correctly use bootloader_id and not
10620 GRUB_DISTRIBUTOR on efibootmgr line.
10621
323a8e9c
VS
106222011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
10625
1b394975
IC
106262010-12-31 Ian Campbell <ijc@hellion.org.uk>
10627
10628 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
10629 Xen and reorder menu item wording to make it clearer that this entry
10630 will launch Xen. Print separate messages when loading Xen and
10631 Linux.
10632
275bff5f
VS
106332010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10634
10635 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
10636 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
10637 loop in case of incorrect amiga partmap.
10638
307806cb
VS
106392010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
10642 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
10643 Reported by:EHeM.
10644
b12b923e
VS
106452010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10646
10647 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
10648 spurious warning.
10649 Reported by: crocket
10650
14b48a19
VS
106512010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
10654 Preload EFIemu.
10655 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
10656
693db2df
VS
106572010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
10660 is loaded
10661 (grub_cmd_xnu_kextdir): Likewise.
10662 (grub_cmd_xnu_splash): Likewise.
10663
c7638645
VS
106642010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 Avoid using Reed-Solomon with 0 redundancy.
10667
10668 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
10669 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
10670 or 0 redundancy.
10671 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
10672 (grub_reed_solomon_recover): Likewise.
10673
25dd4780
VS
106742010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10675
10676 Don't use disk subsystem in freebsd_boot.
10677
10678 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
10679 (freebsd_biosdev): Likewise.
10680 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
10681 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
10682
0b2db943
VS
106832010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 Handling of files of unknown size is currently limited. They can't be
10686 used e.g. for initrd or modules. Moreover gzip handling of not
10687 easily seekable files is buggy. Disable unknown file size for now. May
10688 be inefficient but works.
10689
10690 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
10691 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
10692
5c408d0f
MP
106932010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
10694
10695 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
10696 floppy probe.
10697
190a011a
JD
106982010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
10699
10700 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
10701
022d01b8
SL
107022010-12-25 Shea Levy <shlevy>
10703
10704 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
10705
c4855fdc
VS
107062010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10707
10708 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
10709 Windows Server 2008.
10710 Reported by: Devin Giddings.
10711
0354b867
VS
107122010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
10715 writing an error message because of async power management.
10716 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
10717 (grub_reboot): Likewise.
10718
ab66c69f
JU
107192010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
10720
10721 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
10722 keep unit tests from failing when they shouldn't.
10723
1426ef35
CW
107242010-12-21 Colin Watson <cjwatson@ubuntu.com>
10725
10726 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
10727 previous patch increased the size of the RS code by 20 bytes (at
10728 least with gcc-4.4), so increase this by 20 bytes to match.
10729 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10730
20641b6b
CW
107312010-12-21 Colin Watson <cjwatson@ubuntu.com>
10732
10733 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
10734 scratch area. Make sure to initialise chosen in standalone mode as
10735 well as non-standalone.
10736 Reported by: Robert Hooker and Andy Whitcroft.
10737 Tested by: Andy Whitcroft.
10738
d060ad60
CW
107392010-12-21 Colin Watson <cjwatson@ubuntu.com>
10740
10741 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
10742 constructing a new unescaped string and passing it to grub_xputs in
10743 one go, rather than passing characters to grub_printf one at a time.
10744
b889cfad
CW
107452010-12-21 Colin Watson <cjwatson@ubuntu.com>
10746
10747 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
10748 initialising utf16.
10749
4e01b6c8
CW
107502010-12-21 Colin Watson <cjwatson@ubuntu.com>
10751
10752 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
10753 comment. Add an extra layer of quotation, requiring the output of
10754 this function to be used in a printf format string.
10755 (gettext_printf): New function.
10756 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
10757 Extract translatable strings from here-documents and use a temporary
10758 variable instead, so that xgettext can find them.
10759 * util/grub.d/10_kfreebsd.in: Likewise.
10760 * util/grub.d/10_linux.in: Likewise.
10761 * util/grub.d/20_linux_xen.in: Likewise.
10762
10763 * po/grub.d.sed: New file.
10764 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
10765 arguments. Set c-format flags on all strings extracted from
10766 util/grub.d/ (xgettext refuses to include these itself for strings
10767 it extracted from a shell file, but these really are c-format).
10768
5318fe98
VS
107692010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10770
10771 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
10772 Avoid next pointing to nowhere.
10773
6c85b743
VS
107742010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
10777 rather than assuming than rootblock is exactly in the middle.
10778 (grub_affs_label): Likewise.
10779
a2a08a35
VS
107802010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10781
10782 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
10783 reserved_first_sector to 0.
10784 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
10785 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
10786 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
10787
7059d1ec
VS
107882010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 Fix handling of UTF-16 UDF labels.
10791
10792 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
10793 (read_string): .. here.
10794 (grub_udf_label): Use read_string.
10795
30aff4cb
BC
107962010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
10797
10798 * grub-core/normal/menu_entry.c (run): Execute commands from menu
10799 editor under argument scope.
10800 Reported by: Jordan Uggla
10801
5cf86f4b
VS
108022010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10803
10804 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
10805
32570200
CW
108062010-12-18 Colin Watson <cjwatson@ubuntu.com>
10807
10808 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
10809 line, and other keys scroll an entire page (previous handling was
10810 for \r and \n to scroll a page and other keys to scroll two lines).
10811
e1dffcf2
VS
108122010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10813
10814 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10815 Set ptrdest to correct get_physical_target_address rather than
10816 incorrect get_virtual_current_address.
10817
b04298cf 108182010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
10819
10820 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
10821 correct cat to grub_uint8_t * rather than grub_uint32_t *.
10822
5367ecd3
CW
108232010-12-10 Colin Watson <cjwatson@ubuntu.com>
10824
10825 * .bzrignore: Ignore grub-core/rs_decoder.S.
10826
1fb430f8
CW
108272010-12-10 Colin Watson <cjwatson@ubuntu.com>
10828
10829 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
10830 .mo/.mo.gz opening sequence to ...
10831 (grub_mofile_open_lang): ... here.
10832 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
10833 * util/grub.d/00_header.in (grub_lang): Include country part of
10834 locale.
10835 Reported by: Mario Limonciello.
10836
a94a6671
RM
108372010-12-09 Robert Millan <rmh@gnu.org>
10838
10839 * NEWS: Document addition of ZFS support.
10840
24b7938b
CW
108412010-12-04 Colin Watson <cjwatson@ubuntu.com>
10842
10843 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
10844 rather than `/ 2', as the latter requires -Wa,--divide which would
10845 require bumping our minimum binutils version.
10846
bddc3ef6
BC
108472010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
10848
10849 * util/grub-script-check.c (main): Print script line number on
10850 error.
10851
bf78d5b2
RM
108522010-12-01 Robert Millan <rmh@gnu.org>
10853
10854 * grub-core/fs/zfs/zfs.c: New file.
10855 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
10856 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
10857 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
10858 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10859
10860 * include/grub/zfs/dmu.h: Likewise.
10861 * include/grub/zfs/dmu_objset.h: Likewise.
10862 * include/grub/zfs/dnode.h: Likewise.
10863 * include/grub/zfs/dsl_dataset.h: Likewise.
10864 * include/grub/zfs/dsl_dir.h: Likewise.
10865 * include/grub/zfs/sa_impl.h: Likewise.
10866 * include/grub/zfs/spa.h: Likewise.
10867 * include/grub/zfs/uberblock_impl.h: Likewise.
10868 * include/grub/zfs/vdev_impl.h: Likewise.
10869 * include/grub/zfs/zap_impl.h: Likewise.
10870 * include/grub/zfs/zap_leaf.h: Likewise.
10871 * include/grub/zfs/zfs.h: Likewise.
10872 * include/grub/zfs/zfs_acl.h: Likewise.
10873 * include/grub/zfs/zfs_znode.h: Likewise.
10874 * include/grub/zfs/zil.h: Likewise.
10875 * include/grub/zfs/zio.h: Likewise.
10876 * include/grub/zfs/zio_checksum.h: Likewise.
10877
10878 * Makefile.util.def: Build ZFS into libgrubmods.
10879 * grub-core/Makefile.core.def: Build zfs.mod.
10880
3f0f3831
SJ
108812010-11-30 Szymon Janc <szymon@janc.net.pl>
10882
10883 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
10884 variable.
10885 * grub-core/commands/wildcard.c (match_files): Likewise.
10886
3a4253b2
RM
108872010-11-30 Robert Millan <rmh@gnu.org>
10888
10889 * grub-core/loader/i386/bsd.c
10890 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
10891 whether kernel is loaded using grub_loader_is_loaded(), rather
10892 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
10893 certain error conditions.
10894
8c317b27
RM
108952010-11-30 Robert Millan <rmh@gnu.org>
10896
c5c9cd3e
RM
10897 * grub-core/commands/echo.c: Include `<grub/term.h>'.
10898 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 10899
49d3ab46
VS
109002010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 Avoid using tricks for initialising endian variables.
10903
10904 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
10905 Make const.
10906 (GRUB_MOD_INIT): Don't byte-swap.
10907 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10908 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
10909 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
10910 (grub_swap_bytes32_compile_time): Likewise.
10911 (grub_cpu_to_le32_compile_time): Likewise.
10912 (grub_cpu_to_le16_compile_time): Likewise.
10913
f420a804
VS
109142010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * util/grub-setup.c (setup): Stop recommending --force. People who
10917 understand the dangers of blocklists are able to find this option
10918 anyway and the ones who don't shouldn't use it anyway.
10919
4e7db17b
RM
109202010-11-26 Robert Millan <rmh@gnu.org>
10921
10922 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
10923 Update all users.
10924
9be57a0d
CW
109252010-11-26 Colin Watson <cjwatson@ubuntu.com>
10926
10927 Fix LVM-on-RAID probing.
10928
10929 * util/grub-probe.c (probe): Remember which disk was detected as
10930 RAID (perhaps an LVM physical volume). Use that disk's raidname
10931 rather than that of the top-level disk.
10932
2c7859b3 109332010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 10934
d7647bb6
BC
10935 Fix cmdline argument quotes for setparams command of menuentry
10936 definitions.
7e623b0d
BC
10937
10938 * grub-core/commands/menuentry.c (setparams_prefix): Use single
10939 quotes for arguments.
f866fe80 10940 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 10941 grub_strchrsub function instead.
f866fe80 10942
7955bea0 10943 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 10944
74f72a64
CW
109452010-11-24 Colin Watson <cjwatson@ubuntu.com>
10946
10947 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
10948 effort by skipping "." and ".." entries up-front.
10949 Suggested by: Michael Lazarev.
10950
5a407278
CW
109512010-11-24 Colin Watson <cjwatson@ubuntu.com>
10952
10953 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
10954 ldflags to ldadd, to fix link line ordering.
10955 (none_decompress): Likewise.
10956
3030d8ec
CW
109572010-11-24 Colin Watson <cjwatson@ubuntu.com>
10958
10959 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
10960 platforms.
10961 (grub-emu-lite): Remove kern/emu/cache.S.
10962
b7fbac12
CW
109632010-11-23 Colin Watson <cjwatson@ubuntu.com>
10964
10965 * util/deviceiter.c (compare_devices): If the by-id link for a
10966 device couldn't be resolved, fall back to sorting by the by-id link
10967 rather than segfaulting.
10968 Reported and tested by: Daniel Mierswa.
10969
5225f328
CW
109702010-11-23 Colin Watson <cjwatson@ubuntu.com>
10971
10972 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
10973 ldflags, to fix link line ordering.
10974
038b3ce8
CW
109752010-11-23 Colin Watson <cjwatson@ubuntu.com>
10976
10977 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
10978 linkers are picky about this.
10979
bf16e98e
CW
109802010-11-23 Colin Watson <cjwatson@ubuntu.com>
10981
10982 * grub-core/Makefile.am (command.lst): Adjust sed expression
10983 ordering so that extended and priority commands aren't treated as
10984 ordinary commands.
10985
7242bab6
CW
109862010-11-23 Colin Watson <cjwatson@ubuntu.com>
10987
10988 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10989 Remove byte-swapping function calls, which are not valid in
10990 structure initialisers.
10991 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
10992 non-const.
10993 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
10994 grub_gpt_partition_type_bios_boot.
10995
14e8b279
CW
109962010-11-22 Colin Watson <cjwatson@ubuntu.com>
10997
10998 Fix test program build on GNU/kFreeBSD.
10999
11000 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
11001 $(LIBNVPAIR)' library dependencies.
11002
e6f63338 110032010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
11004
11005 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
11006
cf8ffc38
CW
110072010-11-22 Colin Watson <cjwatson@ubuntu.com>
11008
11009 * util/grub-install.in: Remove excessive quoting that broke
11010 installations to RAID devices.
11011
7f8b0fd7
VS
110122010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
11015 bootloader version instead of 0.
11016
dfd240b1
VS
110172010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11018
11019 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
11020 warning.
11021
7b61e609
VS
110222010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11023
11024 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
11025 retrieve the metadat sector if size isn't known.
11026 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11027
9dfe92d0
RM
110282010-11-18 Robert Millan <rmh@gnu.org>
11029
11030 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
11031 with grub_memcmp().
11032
41cc919e
VS
110332010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
11034
11035 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
11036 arrow.
11037 Reported by: Jordan Uggla.
11038
1afcc914
VS
110392010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 Make better UTF compliant.
11042
11043 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
11044 sequences as incorrect.
11045 (grub_is_valid_utf8): Likewise.
11046 (grub_utf8_to_ucs4): Likewise.
11047 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
11048 (grub_ucs4_to_utf8_alloc): Likewise.
11049 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
11050
f1808884
VS
110512010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 Make legacy_source behave like source.
11054
11055 * grub-core/commands/legacycfg.c (legacy_file): Don't call
11056 grub_show_menu.
11057 (grub_cmd_legacy_source): Call grub_show_menu if needed.
11058
24ec575b
CW
110592010-11-16 Colin Watson <cjwatson@debian.org>
11060
11061 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
11062 (-Wunused implies -Wunused-parameter, but not vice versa).
11063
72b7c7aa
CW
110642010-11-16 Colin Watson <cjwatson@ubuntu.com>
11065
11066 * configure.ac: Make error messages less confusing by testing for
11067 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
11068 accepted, but produces a diagnostic if something else is wrong).
11069
e98937aa
VS
110702010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11071
11072 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
11073 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
11074 (now unused).
11075 (grub_keyboard_controller_init)
11076 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
11077 read the initial state since controller isn't inited yet.
11078
f6bbabc3
VS
110792010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
11082 allocate_regbeg may need to create new chunk header.
11083
22e7dbb2
VS
110842010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11085
11086 Fix quoting in legacy parser.
11087
11088 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
11089 single quotes.
11090 (grub_legacy_parse): Likewise.
11091 Reported by: Jordan Uggla.
11092 Tested by: Jordan Uggla.
11093
03f80960
VS
110942010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11095
11096 Don't add -lgcc on i386 and x86_64.
11097
11098 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
11099 * conf/Makefile.common (LDADD_KERNEL): Likewise.
11100 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
11101
779dc15b
VS
111022010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11103
11104 * configure.ac: Add -Wno-trampolines when supported.
11105
d20a3b37
MV
111062010-11-14 Modestas Vainius <modax@debian.org>
11107
11108 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
11109 fakeraid.
11110
e5360933
GC
111112010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11112
11113 Add generic logical block size support for UDF.
11114
11115 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
11116 (GRUB_UDF_BLKSZ): Removed.
11117 (struct grub_udf_data): New field "lbshift" to hold the logical block
11118 size of the file system in log2 format. All users updated.
11119 (sblocklist): Change type to unsigned.
11120 (grub_udf_mount): Change type of "sblklist" to unsigned.
11121 Move AVDP search before VRS recognition, because the latter requires
11122 knowledge of the logical block size, which is detected during the
11123 former.
11124 Detect and validate logical block size during AVDP search, adding
11125 support for block sizes 512, 1024 and 4096.
11126 Make VRS recognition independent of block size.
11127
cb0229c5
GC
111282010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11129
11130 Properly handle deleted files on UDF.
11131
11132 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
11133 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
11134 set.
11135
406858a8
GC
111362010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11137
11138 Support reading files larger than 2 GiB.
11139
11140 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
11141 "offset" to grub_off_t.
11142 (grub_udf_read_file): Likewise for parameter "pos".
11143
130da6a7
VS
111442010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11145
11146 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
11147 unavailable.
11148 (Simple configuration): Refer to Changes from GRUB Legacy about
11149 save_env availability.
11150
65e93f6b
VS
111512010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11152
11153 * util/grub-install.in: Ignore empty partition table detection
11154 instead of trying to include part_ module.
11155
1fd08bf1
VS
111562010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11157
11158 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
11159 LVM on RAID support.
11160
de1a024f
VS
111612010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11162
11163 Properly define WORDS_BIGENDIAN in wrapped environments.
11164
11165 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
11166 definition.
11167 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
11168
11169 Reported by: Manoel Rebelo Abranches.
11170 Tested by: Manoel Rebelo Abranches.
11171
bc5dd0b9
VS
111722010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 * util/grub-mkconfig.in: Fix quoting.
11175
58c184be
VS
111762010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11177
11178 Support big ext2 files.
11179
11180 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
11181 (grub_ext2_read_block): Support triple indirect blocks.
11182 (grub_ext2_read_file): Use 64-bit types and read size_high.
11183 (grub_ext2_open): Read size_high.
11184 Reported by: Ximin Luo.
11185 Tested by: Manoel Rebelo Abranches.
11186
5f0c02b3
VS
111872010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 * util/grub-install.in: Handle filenames containing spaces.
11190 Reported by: Jordan Uggla.
11191 Tested by: Jordan Uggla.
11192
4417aae6
VS
111932010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 * util/grub-mkconfig.in (grub_script_check): New variable.
11196 Use grub_script_check instead of grub-script-check.
11197 Reported by: Barry Jackson.
11198
7625a68e
VS
111992010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11200
11201 * docs/grub.texi (menu): Correct the order.
11202 Reported by: D. Hugh Redelmeier.
11203
10001ac5
VS
112042010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11205
11206 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
11207 jump.
11208
9c4cf53b
MRA
112092010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11210
10001ac5
VS
11211 * include/grub/elfload.h (grub_elf32_size): New parameter.
11212 All users updated.
9c4cf53b
MRA
11213 Return maximum segments alignment.
11214 (grub_elf64_size): Likewise.
11215 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
11216 Return maximum segments alignment.
11217 (grub_elf64_size): Likewise.
11218 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
11219 (grub_linux_claimmap_iterate): New function. Uses the
11220 "available" property in the "memory" node for memory allocation
11221 for kernel in the PowerPC loader.
9c4cf53b
MRA
11222 (grub_linux_load32): Correctly find linux entry point offset.
11223 (grub_linux_load64): Likewise.
11224
d2bf06bf
RM
112252010-11-07 Robert Millan <rmh@gnu.org>
11226
11227 On mips-yeeloong, build with -march=loongson2f when this flag is
11228 available (GCC >= 4.4).
11229 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
11230 `-march=mips3'.
11231 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
11232 or otherwise add -march=mips3.
11233
898c99a2
BC
112342010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
11235
87220a68
BC
11236 Suppress shell expansion on echo '*' and echo "*" like cases.
11237 Reported by: Jordan Uggla.
898c99a2
BC
11238
11239 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
11240 string arguments before shell expansion.
11241 * tests/grub_cmd_echo.in: New testcases.
11242
4f9b406a
RM
112432010-11-07 Robert Millan <rmh@gnu.org>
11244
11245 * conf/mips-qemu-mips.rmk: Remove stale file from previous
11246 transition.
11247
80c6d25e
VS
112482010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 * grub-core/kern/emu/hostdisk.c
11251 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
11252
4a1a0153
VS
112532010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11254
11255 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
11256 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
11257 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
11258
34706ddc
VS
112592010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11260
11261 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
11262
6972dea9
VS
112632010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11264
11265 * util/grub-install.in: Replace useless recomendation to pass
11266 --modules with a recomendation to report a bug.
11267
9c693bd6
VS
112682010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 Properly register serial terminfo.
11271 Reported by: Jordan Uggla
11272
11273 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
11274 const.
11275 (grub_serial_terminfo_output_template): Likewise.
11276 (grub_cmd_serial): Register "serial" with terminfo.
11277 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11278 grub_serial_terminfo_output.
11279
6c9e4c0c
RM
112802010-11-05 Robert Millan <rmh@gnu.org>
11281
11282 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11283 needed).
11284
b9b3839f
RM
112852010-11-05 Robert Millan <rmh@gnu.org>
11286
11287 On Yeeloong, pass machine type information to Linux.
11288
11289 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11290 (LOONGSON_MACHTYPE): New macro, set to
11291 "machtype=lemote-yeeloong-2f-8.9inches".
11292 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11293 additional argument to Linux.
11294
1a3aaff4
RM
112952010-11-04 Robert Millan <rmh@gnu.org>
11296
11297 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11298 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11299 (its SATA disks are detected as slaveless IDE master drives on
11300 kFreeBSD).
11301 Reported by Carsten Aulbert.
11302
a75f4f62
CW
113032010-11-02 Colin Watson <cjwatson@ubuntu.com>
11304
11305 * util/bin2h.c (main): Fix spelling error in generated output.
11306
33b4b0c6
GS
113072010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11308
11309 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11310
2b36fbf4
VS
113112010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11312
11313 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11314 vga= option is supplied.
11315
74aaf558
VS
113162010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11319 * util/grub.d/10_kfreebsd.in: Likewise.
11320 * util/grub.d/10_linux.in: Likewise.
11321 * util/grub.d/20_linux_xen.in: Likewise.
11322
6428dec3
VS
113232010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11324
11325 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11326 argument as an argument to no-argument option.
11327
f8729d98
VS
113282010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 * util/grub.d/10_linux.in: Add missing load_video with explicit
11331 GRUB_GFXPAYLOAD_LINUX.
11332
89d68fa6
VS
113332010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11336
3a1197cd
VS
113372010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
11340 elements with invlid index.
11341 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11342 * grub-core/disk/raid.c (insert_array): Automatically reallocate
11343 members.
11344 * include/grub/raid.h (grub_raid_member): New struct.
11345 (grub_raid_array): Transform devices and start_sector into usage of
11346 grub_raid_member. All users updated
11347 (allocated_devs): New member.
11348
71574288
VS
113492010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
11352 is modified
11353
8d40ec65
BC
113542010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
11355
11356 NetBSD build fix for getline function conflict from gnulib.
11357
11358 * Makefile.util.def (libgrubkern.a): New library for grub kernel
11359 components that depend on gnulib headers.
11360 (libgrubmods.a): Renamed from earlier libgrub.a.
11361 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
11362
95b9257e
VS
113632010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11364
11365 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
11366 install rather than creating a broken install.
11367
26c53dc6
VS
113682010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * util/grub-setup.c (argp): Remove misleading example of installing to
11371 a partition.
11372
4171b3c5
VS
113732010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 * util/grub-setup.c (setup): Clarify the error message.
11376
18568d18
VS
113772010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
11380
4f6a2e21
VS
113812010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11382
11383 * grub-core/kern/emu/misc.c
11384 (grub_make_system_path_relative_to_its_root)
11385 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
11386
113872010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
11388
11389 * grub-core/kern/emu/misc.c
11390 (grub_make_system_path_relative_to_its_root): Revert r2882.
11391
e138c458
VS
113922010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
11395 useless field head. All users updated.
11396 (free_subchunk): Correct handling of IN_REGION subchunk.
11397
0cbcdf0e
CW
113982010-10-22 Colin Watson <cjwatson@ubuntu.com>
11399
11400 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
11401 (Supported kernels): Likewise.
11402
b65ea155
GS
114032010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11404
11405 Make mktemp invocations portable.
11406
11407 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
11408 exit if mktemp fails.
11409 * tests/grub_script_blockarg.in: Likewise.
11410 * tests/partmap_test.in: Likewise.
11411 * tests/util/grub-shell-tester.in: Likewise.
11412 * tests/util/grub-shell.in: Likewise.
11413 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11414 * Makefile.am: Likewise, and chain shell commands with `&&'
11415 instead of ';'.
11416 * util/grub-mkrescue.in: Use the same explicit template as above, and
11417 exit if mktemp fails.
11418
05f43cdd
BC
114192010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
11420
11421 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
11422 Linux kernel, reported by Dennis Schridde.
11423
800e6a9b
SJ
114242010-10-17 Szymon Janc <szymon@janc.net.pl>
11425
11426 * grub-core/normal/auth.c (grub_auth_check_authentication):
11427 Set-but-not-used variable removed.
11428
d82df574
VS
114292010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11430
11431 * docs/grub.texi (GNU/Linux): Document APM unavailability with
11432 32-bit linux protocol.
11433
7bced458
VS
114342010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11435
11436 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
11437 cursor shape for sanity.
11438
5b027690
VS
114392010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11440
11441 * docs/grub.texi (Installation): Document buggy BIOS install.
11442
ba5f65cf
VS
114432010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11444
11445 * docs/grub.texi (Installation): Indent.
11446
fdf2ec9c
VS
114472010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 * util/grub-setup.c (setup): New parameter allow_floppy.
11450 (arguments): New member allow_floppy.
11451 (argp_parser): Handle --allow-floppy.
11452 (main): Pass allow_floppy.
11453 * util/grub-install.in: New option --allow-floppy passed though to
11454 grub-setup.
11455
861dfd4c
VS
114562010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * util/grub-install.in: Handle partitionless disks.
11459
f77a8c24
VS
114602010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11461
11462 * util/grub-setup.c (setup): Don't clean blocklists before readability
11463 verfification.
11464
27d9ee32
VS
114652010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11466
11467 * docs/grub.texi (Installation): Document embedding zone. Remove
11468 obsolete grub-install example.
11469
6bdda8f8
SJ
114702010-10-16 Szymon Janc <szymon@janc.net.pl>
11471
11472 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11473 Set-but-not-used variable ifdef'ed.
11474 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
11475 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
11476 variable removed.
11477 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
11478 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
11479 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11480 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
11481 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
11482 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11483 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
11484 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
11485 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
11486 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
11487 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
11488 Likewise.
11489
e19b016b
VS
114902010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
11493 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
11494 enum value.
11495
6c8d3002
VS
114962010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
11499 synonym to _S5_. Needed for some DSDTs.
11500
c32b51c9
VS
115012010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11502
11503 Userspace ACPI parser debugging.
11504
11505 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
11506 headers and add relevant defines. Don't include standard headers.
11507 (main) [GRUB_DSDT_TEST]: New function.
11508 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
11509 Don't declare functions.
11510
fbfbeb39
VS
115112010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 Remove dead grub_efi_mm_fini.
11514
11515 * grub-core/kern/efi/mm.c (allocated_page): Removed.
11516 (ALLOCATED_PAGES_SIZE): Likewise.
11517 (MAX_ALLOCATED_PAGES): Likewise.
11518 (allocated_pages): Likewise.
11519 (grub_efi_allocate_pages): Don't record allocated pages.
11520 (grub_efi_free_pages): Likewise.
11521 (grub_efi_mm_init): Likewise.
11522 (grub_efi_mm_fini): Removed.
11523
65f7ed7c
VS
115242010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11525
11526 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
11527 (grub_efi_mm_init): Take into account the memory map size increase.
11528
24977b44
VS
115292010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11530
11531 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
11532 (serial_hw_put): Wait based on real time rather than port reads. Don't
11533 roken ports.
11534 * include/grub/serial.h (grub_serial_port): New field broken.
11535
1eb01cd2
RM
115362010-10-16 Robert Millan <rmh@gnu.org>
11537
11538 * grub-core/kern/emu/misc.c
11539 (grub_make_system_path_relative_to_its_root): Fix premature return
11540 when processing non-root ZFS filesystems.
5f8b440b 11541 Reported by Sergio Talens-Oliag.
1eb01cd2 11542
2d5fed60
RM
115432010-10-15 Robert Millan <rmh@gnu.org>
11544
11545 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
11546 guarantee compressed ones are processed first.
11547
d0f4c1ea
VS
115482010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11549
11550 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
11551 grub_efiemu_autocore.
11552
d87c681f
VS
115532010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11554
11555 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
11556 rather than 0x1b.
11557 (grub_console_getkey): Use correct jae opcode rather than ja.
11558
219b3564
RM
115592010-10-12 Robert Millan <rmh@gnu.org>
11560
11561 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
11562 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
11563 variable. All references updated.
11564
11565 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
11566
20c6bb7e
VS
115672010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
11568
11569 Correctly distinguish mdraid flavours.
11570
11571 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
11572 (insert_array): New argument raid.
11573 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
11574 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
11575 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
11576
74baff84
VS
115772010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
11578
11579 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
11580 handling of special keys.
11581
3ef068df 115822010-10-02 Aleš Nesrsta <starous@volny.cz>
11583
c7980ad9
VS
11584 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
11585 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 11586
a9455194 115872010-10-02 Aleš Nesrsta <starous@volny.cz>
11588
c7980ad9
VS
11589 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
11590 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
11591 users updated.
a9455194 11592 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 11593 Use right endpoint when querying descriptor.
a9455194 11594
441cfe65
VS
115952010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 Clear out 0x80 color bit on EFI.
11598 Tested by: decoder
11599 Reported by: decoder and meta tech.
11600
11601 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
11602 (grub_console_setcolorstate): Clear out 0x80 bit.
11603 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
11604 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
11605 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
11606
bf26bcc4
VS
116072010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
11610 Set to "auto".
11611
6e3c515d
VS
116122010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
11615 mo_file after freeing.
11616
e6d983ba
VS
116172010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
11620
74ccb5b5
VS
116212010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
11624 flags.
11625
17821956
VS
116262010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
11629 usage.
11630
ee74fa48
VS
116312010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 Put terminfo into core on ieee1275 and yeeloong (needed for console).
11634
11635 * gentpl.py: New groups terminfoinkernel and terminfomodule.
11636 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
11637 and terminfo.h when needed.
11638 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
11639 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
11640 (terminfo): Enable only on terminfokernel.
11641 (extcmd): Likewise.
11642 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
11643 * include/grub/lib/arg.h: Likewise.
11644 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
11645 incorrect usage of ->.
11646
aa438e68
VS
116472010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
11650 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
11651
57994012
VS
116522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 Fix coreboot compilation.
11655
11656 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11657 Take VBE info into account even if only text is supported.
11658 (fill_vbe_info): Take into account the case when only VGA text
11659 is supported.
11660 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
11661 on coreboot, multiboot and qemu.
11662
2a406611
VS
116632010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11664
11665 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
11666 debug messages.
11667 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
11668
d33613fc
VS
116692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
11672 parameters.
11673
44a1b432
VS
116742010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11675
11676 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
11677 if they were BSD-style.
11678
edde54e6
VS
116792010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11680
11681 * grub-core/boot/i386/pc/lnxboot.S: Replace
11682 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
11683 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
11684
b65830fa
VS
116852010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 Write embedding zone using Reed-Solomon.
11688
11689 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
11690 * grub-core/Makefile.am (rs_decoder.S): New target.
11691 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
11692 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
11693 (multiboot): Move to RS part.
11694 (post_reed_solomon): New label.
11695 (grub_boot_drive): Move to non-RS part since it's modified in memory
11696 on boot.
11697 Include rs_decoder.S.
11698 * grub-core/lib/reed_solomon.c: New file.
11699 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
11700 New definition.
11701 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
11702 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
11703 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
11704 * include/grub/partition.h (grub_partition_map): Change prototype of
11705 embed to allow returning additional sectors.
11706 * include/grub/reed_solomon.h: New file.
11707 * util/grub-setup.c (setup): Handle Reed-Solomon.
11708
0b4b227f
CW
117092010-09-28 Colin Watson <cjwatson@ubuntu.com>
11710
11711 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11712 i386 and x86-64 definedness tests.
11713
f772623b
YB
117142010-09-27 Yves Blusseau <blusseau@zetam.org>
11715
11716 Fix generation of kernel_syms.lst
11717
11718 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
11719 ASM_PREFIX
11720
8e57a6ca
RM
117212010-09-26 Robert Millan <rmh@gnu.org>
11722
11723 Support degraded ZFS arrays in "grub-probe -t device" resolution.
11724
11725 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
11726 the pool is an array of devices, iterate through it and return the
11727 first device that passes a stat() test (instead of blindly returning
11728 the first one).
11729
f9130836
RM
117302010-09-26 Robert Millan <rmh@gnu.org>
11731
11732 Build fixes for GNU/kFreeBSD.
11733
11734 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
11735 to programs that require ZFS conversion.
11736 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
11737 kernels that don't have FLOPPY_MAJOR.
11738
96510faf
BC
117392010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11740
11741 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
11742
449333eb
BC
117432010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11744
11745 Fix grub-emu build.
11746
11747 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
11748 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
11749 mdraid09 and mdraid1x.
11750
e1fd1939
CW
117512010-09-24 Colin Watson <cjwatson@ubuntu.com>
11752
11753 Re-enable grub-extras.
11754
11755 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
11756 avoid confusing Automake. Run autogen only twice, once for the top
11757 level and once for grub-core. Add Makefile.util.def and
11758 Makefile.core.def from extra modules to the appropriate autogen
11759 invocations. If Makefile.common exists in an extra module, include
11760 it in both Makefile.util.am and grub-core/Makefile.core.am;
11761 similarly, include any Makefile.util.common file in Makefile.util.am
11762 and any Makefile.core.common file in grub-core/Makefile.core.am.
11763 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
11764 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
11765 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
11766 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
11767
11768 * gentpl.py (gvar_add): Turn GVARS into a set.
11769 (global_variable_initializers): Sort global variables on output.
11770 (vars_init): New function.
11771 (first_time): Likewise.
11772 (library): Ensure that non-global variable initialisations are
11773 emitted before the first time we emit code for a library block.
11774 Append to variables rather than setting them. Only emit
11775 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
11776 each conditional path.
11777 (program): installdir() emits an Autogen macro, so must be passed to
11778 var_add rather than gvar_add.
11779 (data): Likewise.
11780 (script): Likewise.
11781 (rules): New function, centralising handling for different target
11782 types. Set up Guile association lists for first_time and vars_init,
11783 and send most output to a diversion so that variable initialisations
11784 can be emitted first.
11785 (module_rules): Use new rules function.
11786 (kernel_rules): Likewise.
11787 (image_rules): Likewise.
11788 (library_rules): Likewise.
11789 (program_rules): Likewise.
11790 (script_rules): Likewise.
11791 (data_rules): Likewise.
11792
11793 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
11794
11795 * .bzrignore: Add contrib and grub-core/contrib. Remove
11796 grub-core/Makefile.gcry.am.
11797
1d12cf29
YB
117982010-09-24 Yves Blusseau <blusseau@zetam.org>
11799
11800 * grub-core/lib/LzFind.c: Add missing include.
11801 * grub-core/lib/LzmaEnc.c: Likewise.
11802 * grub-core/script/lexer.c: Likewise.
11803 * grub-core/script/yylex.l: Likewise.
11804 * util/grub-macho2img.c: Likewise.
11805 * util/grub-menulst2cfg.c: Likewise.
11806 * util/grub-mklayout.c: Likewise.
11807 * util/grub-mkpasswd-pbkdf2.c
11808 * util/grub-mkrelpath.c: Likewise.
11809 * util/resolve.c: Likewise.
11810
dd363028
BC
118112010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
11812
11813 * Makefile.util.def (example_unit_test): Add
11814 grub-core/gnulib/libgnu.a.
11815
f5a109e2
GS
118162010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
11817
11818 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
11819
6d0fa83c
VS
118202010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 Support xz compression on yeeloong.
11823
11824 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
11825 * configure.ac: Check for LZMA.
11826 * grub-core/Makefile.core.def (xz_decompress): New target.
11827 (none_decompress): Likewise.
11828 * grub-core/boot/decompressor/minilib.c: New file.
11829 * grub-core/boot/decompressor/none.c: Likewise.
11830 * grub-core/boot/decompressor/xz.c: Likewise.
11831 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
11832 * grub-core/kern/mips/cache_flush.S: Likewise.
11833 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
11834 * grub-core/kern/mips/startup.S: Move first stage to ...
11835 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
11836 nomacro.
11837 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
11838 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
11839 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
11840 Allocate statically.
11841 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
11842 Allocate statically or use scratch. Don't check CRC32.
11843 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
11844 Allocate statically. Don't check CRC32.
11845 * include/grub/decompressor.h: New file.
11846 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
11847 Removed.
11848 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
11849 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
11850 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
11851 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
11852 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
11853 * util/grub-mkimage.c (grub_compression_t): New type.
11854 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
11855 (image_target_desc): New field default_compression.
11856 (image_targets): Adjust yeeloong targets.
11857 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
11858 (compress_kernel): New parameter comp.
11859 (generate_image): Likewise. Handle new compression case.
11860 (options): New option --compression
11861 (help): Likewise.
11862 (main): Handle new option.
11863
1b655af6
GS
118642010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
11865
11866 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
11867
8f03f0b5
CW
118682010-09-22 Colin Watson <cjwatson@ubuntu.com>
11869
11870 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11871 typo in __i386__ conditional.
11872
7835dfd3
VS
118732010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11874
11875 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
11876 include.
11877
e255597e
VS
118782010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11879
6d0fa83c 11880 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
11881
11882 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
11883 new tags as supported.
11884 (acpiv2_size): New function.
11885 (grub_multiboot_get_mbi_size): Take new tags into account.
11886 (grub_multiboot_make_mbi): Add new tags.
11887 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 11888
6cc14051 118892010-09-21 Aleš Nesrsta <starous@volny.cz>
11890
11891 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
11892 Added missing configuration of USB device.
11893
df7769d8
CW
118942010-09-21 Colin Watson <cjwatson@ubuntu.com>
11895
11896 * grub-core/normal/menu_entry.c (run): Make sure we always return
11897 a value.
11898
b031012d
CW
118992010-09-21 Colin Watson <cjwatson@ubuntu.com>
11900
11901 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
11902 NumberOfPages is UINT64 according to the UEFI specification, not
11903 UINTN. Fix printf format.
11904
174de8f3
CW
119052010-09-21 Colin Watson <cjwatson@ubuntu.com>
11906
11907 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
11908 `err' to grub_usb_err_t.
11909 Reported and tested by: KESHAV P.R.
11910
d7dbe923
CW
119112010-09-21 Colin Watson <cjwatson@ubuntu.com>
11912
11913 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
11914 tpart non-const, so that we can assign to it. (Since this is a
11915 typedef, the constness refers to the pointer rather than what it
11916 points to.)
11917
8d5e2af3
CW
119182010-09-21 Colin Watson <cjwatson@ubuntu.com>
11919
11920 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
11921 $(top_srcdir)/grub-core/gnulib as well as
11922 $(top_builddir)/grub-core/gnulib.
11923 Reported by: KESHAV P.R.
11924
5c527783
CW
119252010-09-21 Colin Watson <cjwatson@ubuntu.com>
11926
11927 * util/grub-install.in: Fix the bootloader ID option to be
11928 consistently --bootloader-id, not --bootloader_id.
11929 Reported by: KESHAV P.R.
11930
d309a16e
CW
119312010-09-21 Colin Watson <cjwatson@ubuntu.com>
11932
11933 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
11934 check hash checksum." consistently translatable.
11935
b830cd16
YB
119362010-09-21 Yves Blusseau <blusseau@zetam.org>
11937
11938 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
11939 $(top_builddir).
11940
c4fe27a8
CW
119412010-09-21 Colin Watson <cjwatson@ubuntu.com>
11942
11943 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
11944 (GRUB_MOD_INIT): Register sha1sum command.
11945 (GRUB_MOD_FINI): Unregister sha1sum command.
11946
a4c1d277
YB
119472010-09-21 Yves Blusseau <blusseau@zetam.org>
11948
11949 Keep boot and grub directory names in sync with utils scripts
11950
11951 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
11952 * config.h.in: Add previous macros.
11953 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
11954 * util/grub-install.in: Use $bootdir and $grubdir variables.
11955
4eff79d2
CW
119562010-09-21 Colin Watson <cjwatson@ubuntu.com>
11957
11958 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
11959 convert partition names to disk names if the new `convert' parameter
11960 is set.
11961 (grub_util_biosdisk_get_grub_dev): If opening the disk device
11962 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
11963 disk in its own right. This can happen with Xen disk images.
11964
934d7e44
YB
119652010-09-21 Yves Blusseau <blusseau@zetam.org>
11966
11967 * util/grub-editenv.c: Update strings to avoid warnings when generating
11968 grub.pot file.
11969 * util/grub-setup.c: Likewise.
934d7e44 11970
df3367cc
VS
119712010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11972
11973 * configure.ac: Change version to 1.99~beta0.
11974
77a94e98
VS
119752010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11978 Add BADRAM.
11979 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
11980 Likewise.
11981 * include/multiboot.h: Resynced with specification.
11982 * include/multiboot2.h: Likewise.
11983
269004c1
CW
119842010-09-21 Colin Watson <cjwatson@ubuntu.com>
11985
11986 Fix po directory handling.
11987
11988 * configure.ac: Create po/Makefile.in rather than po/Makefile.
11989 * grub-core/gnulib/Makefile.am: Import gettext module.
11990 * m4/gnulib-cache.m4: Likewise.
11991 * m4/gnulib-comp.m4: Likewise.
11992 * m4/gettext.m4: New file, from gnulib.
11993 * m4/glibc2.m4: Likewise.
11994 * m4/iconv.m4: Likewise.
11995 * m4/intdiv0.m4: Likewise.
11996 * m4/intl.m4: Likewise.
11997 * m4/intldir.m4: Likewise.
11998 * m4/intlmacosx.m4: Likewise.
11999 * m4/intmax.m4: Likewise.
12000 * m4/inttypes-pri.m4: Likewise.
12001 * m4/lcmessage.m4: Likewise.
12002 * m4/lib-ld.m4: Likewise.
12003 * m4/lib-link.m4: Likewise.
12004 * m4/lib-prefix.m4: Likewise.
12005 * m4/lock.m4: Likewise.
12006 * m4/nls.m4: Likewise.
12007 * m4/po.m4: Likewise.
12008 * m4/printf-posix.m4: Likewise.
12009 * m4/progtest.m4: Likewise.
12010 * m4/threadlib.m4: Likewise.
12011 * m4/uintmax_t.m4: Likewise.
12012 * m4/visibility.m4: Likewise.
12013 * po/Makefile.am: Remove.
12014 * po/Makefile.in.in: New file, from gettext.
12015 ($(DOMAIN).pot-update): Support POTFILES-shell.
12016 * po/Makevars: New file.
12017 * po/POTFILES-shell: Rename to ...
12018 * po/POTFILES-shell.in: ... this. Update.
12019 * po/POTFILES: Rename to ...
12020 * po/POTFILES.in: ... this. Update.
12021 * po/Rules-quot: New file, from gettext.
12022 * po/boldquot.sed: Likewise.
12023 * po/en@boldquot.header: Likewise.
12024 * po/en@quot.header: Likewise.
12025 * po/insert-header.sin: Likewise.
12026 * po/quot.sed: Likewise.
12027 * po/remove-potcdate.sin: Likewise.
12028
3e0fa5d0
VS
120292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12030
12031 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
12032
ade9bd66
VS
120332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12034
12035 * util/grub.d/20_linux_xen.in: Use submenus.
12036
fc55cc4c
VS
120372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12038
12039 Support submenus.
12040
12041 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
12042 parameter submenu. All users updated.
12043 * grub-core/normal/main.c (free_menu): Rename to ...
12044 (grub_normal_free_menu): ... this. Made global.
12045 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
12046 if requested.
12047 * grub-core/normal/menu_entry.c (screen): New field submenu.
12048 (make_screen): Set submenu.
12049 (run): Open new context if requested.
12050 * include/grub/menu.h (grub_menu_entry): New field submenu.
12051 * include/grub/normal.h (grub_normal_free_menu): New proto.
12052
600cedf7
VS
120532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 Menu entries extractor.
12056
12057 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
12058 variants.
12059 (GRUB_MOD_INIT): Register new variants.
12060 (GRUB_MOD_FINI): Unregister new variants.
12061 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
12062 into grub_cmd_legacy_source.
12063 (grub_cmd_legacy_source): Implement extractor variants.
12064 (GRUB_MOD_INIT): Register new variants.
12065 (GRUB_MOD_FINI): Unregister new variants.
12066 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
12067 as an extractor.
12068 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
12069 search as an extractor.
12070 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
12071 test as an extractor.
12072 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
12073 as an extractor.
12074 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
12075 (grub_env_new_context): New function.
12076 (grub_env_context_open): Likewise.
12077 (grub_env_extractor_open): Likewise.
12078 (grub_env_extractor_close): Likewise.
12079 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12080 grub_extractor_level.
12081 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
12082 * include/grub/env.h (grub_env_extractor_open): New proto.
12083 (grub_env_extractor_close): Likewise.
12084 * include/grub/normal.h (grub_extractor_level): New external variable.
12085
7bda3a87
VS
120862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12087
12088 Make cutmem accept a region specification.
12089 Suggested by: Samuel Thibault
12090
12091 * grub-core/mmap/mmap.c (parsemem): New function.
12092 (grub_cmd_cutmem): Handle new arguments.
12093
2ea57f88
VS
120942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12095
12096 New command cutmem.
12097
12098 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
12099 (GRUB_MOD_INIT): Register new command.
12100 (GRUB_MOD_FINI): Unregister new command.
12101
74342e31
VS
121022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12103
12104 Support some annoying BSD and Minix subpartitions.
12105
12106 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
12107 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
12108 Properly handle concatenation.
12109 * grub-core/kern/device.c (grub_device_iterate): Likewise.
12110 * grub-core/normal/completion.c (iterate_partition): Likewise.
12111 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
12112 contain partition. All users updated.
12113 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
12114 struct.
12115 (grub_openbsdlabel_partition_map): Likewise.
12116 (bsdlabel_partition_map_iterate): Rename to ..
12117 (iterate_real): ... this. New arguments sector, freebsd and pmap.
12118 (bsdlabel_partition_map_iterate): New function.
12119 (netopenbsdlabel_partition_map_iterate): Likewise.
12120 (netbsdlabel_partition_map_iterate): Likewise.
12121 (openbsdlabel_partition_map_iterate): Likewise.
12122 (GRUB_MOD_INIT): Register new partmaps.
12123 (GRUB_MOD_FINI): Unregister new partmaps.
12124 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
12125 (grub_partition_msdos_iterate): ... this. All users updated.
12126 Don't support embedding other than in a minix partition.
12127 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
12128 proto.
12129 * include/grub/partition.h (grub_partition): New field msdostype.
12130 * util/grub-install.in: Handle openbsd and netbsd types being in
12131 part_bsd module.
12132
1e8d555b
VS
121332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12134
12135 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
12136
12137 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
12138 * grub-core/Makefile.core.def (mdraid): Renamed to ...
12139 (mdraid09): ... this.
12140 (mdraid1x): New module.
12141 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
12142 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
12143
899d8af4
VS
121442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12145
12146 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
12147 vsprintf.
12148
40901acd
CW
121492010-09-20 Colin Watson <cjwatson@ubuntu.com>
12150
12151 * grub-core/commands/efi/lsefimmap.c: Correct header.
12152 * NEWS: Update.
12153
dfe3b247
CW
121542010-09-20 Colin Watson <cjwatson@ubuntu.com>
12155
12156 * util/grub-editenv.c (argp_parser): Don't pass translated strings
12157 as printf format strings; the translations might contain '%' which
12158 could cause a crash.
12159 (main): Likewise.
12160 * util/grub-fstest.c (argp_parser): Likewise.
12161 * util/grub-setup.c (argp_parser): Likewise.
12162 (main): Likewise.
12163
3286a4b4
VS
121642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12165
12166 Use argp in grub-fstest.
12167
12168 * util/grub-fstest.c: Don't include getopt.h.
12169 Include argp.h.
12170 (root): New variable.
12171 (args_count): Likewise.
12172 (nparm): Likewise.
12173 (num_disks): Likewise.
12174 (images): Likewise.
12175 (cmd): Likewise.
12176 (debug_str): Likewise.
12177 (args): Likewise.
12178 (options): Transformed to argp.
12179 (usage): Removed.
12180 (main): Split argument parsing into ...
12181 (argp_parser): ... this. Changed to argp format.
12182 (argp): New variable.
12183 (main): Use argp_parse.
12184
3dccbe4b
TG
121852010-09-20 Tristan Gingold <gingold@free.fr>
121862010-09-20 Robert Millan <rmh.grub@aybabtu.com>
121872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12188
12189 * grub-core/commands/efi/lsefimmap.c: New file.
12190 * grub-core/Makefile.core.def (lsefimmap): New module.
12191 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
12192
38c259a7
VS
121932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12194
12195 Pause the execution (10s max) if any errors are displayed so the user
12196 has a chance to see them.
12197
12198 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
12199 (grub_print_error): Increment grub_err_printed_errors.
12200 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
12201 execution if any errors were displayed.
12202 (show_menu): Remove old code for pause.
12203 * grub-core/normal/menu_entry.c (run): Likewise.
12204 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
12205 users updated.
12206 (grub_normal_get_char_counter): Likewise.
12207 * include/grub/err.h (grub_err_printed_errors): New external variable.
12208 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
12209
f218b09c
VS
122102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 Support multiboot VBE info.
12213
12214 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12215 Take VBE info into account.
12216 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
12217 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12218 Call fill_vbe_info when appropriate.
12219 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
12220 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
12221 as supported.
12222 (grub_multiboot_get_mbi_size): Take new tags into account.
12223 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
12224 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12225 Call fill_vbe_tag when appropriate.
12226 (grub_multiboot_make_mbi): Properly align tags.
12227 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
12228 function.
12229 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
12230 proto.
12231 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
12232
a9cc5438
VS
122332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12234
12235 Suport manual terminal geometry specification.
12236
12237 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
12238 Save state in grub_ofconsole_terminfo_output.
12239 (grub_ofconsole_term): Use grub_terminfo_getwh.
12240 (grub_ofconsole_getwh): Removed.
12241 * grub-core/term/serial.c (grub_serial_getwh): Removed.
12242 (grub_serial_term): Use grub_terminfo_getwh.
12243 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
12244 (options): New struct.
12245 (OPTION_*): New enum.
12246 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
12247 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
12248 width and height.
12249 (grub_terminfo_getwh): New proto.
12250 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
12251
1a8fed20
VS
122522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 Handle legacy "terminal" command.
12255
12256 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
12257 and FLAG_TERMINAL.
12258 (legacy_commands): Add terminal and title.
12259 (grub_legacy_parse): Handle terminal. Simplify title handling.
12260
41e9c57d
VS
122612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12262
12263 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
12264 parameters overflow.
12265
61c874c5
CW
122662010-09-20 Colin Watson <cjwatson@ubuntu.com>
12267
12268 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
12269 widthspec.h.
12270
12271 * docs/grub.texi (Shell-like scripting): Document `!'.
12272 (Network): Simplify using new i386-pc-pxe format. Mention
12273 grub-mknetdir.
12274
12275 * NEWS: Update.
12276
943682b4
CW
122772010-09-20 Colin Watson <cjwatson@ubuntu.com>
12278
12279 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12280 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12281 when needed.
12282
6d3d698d
CW
122832010-09-20 Colin Watson <cjwatson@ubuntu.com>
12284
12285 * grub-core/commands/efi/lsefisystab.c: Correct header.
12286 * grub-core/commands/efi/lssal.c: Likewise.
12287 * grub-core/commands/testload.c: Likewise.
12288
c982589f
CW
122892010-09-20 Colin Watson <cjwatson@ubuntu.com>
12290
12291 * util/grub-mkrescue.in: Add explicit root argument to --set to
12292 prevent the UUID being interpreted as an argument to --set (matches
12293 previous change to prepare_grub_to_access_device).
12294
a63c31b6
CW
122952010-09-20 Colin Watson <cjwatson@ubuntu.com>
12296
12297 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12298 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12299 the verbosity of later #ifs.
12300 (find_partition_start): Define this function on FreeBSD too.
12301 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12302 function.
12303 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12304 on FreeBSD.
12305
6439b8ee
YB
123062010-09-20 Yves Blusseau <blusseau@zetam.org>
12307
12308 * util/grub-editenv.c: Use argp instead of getopt.
12309
c5930ec8
YB
123102010-09-20 Yves Blusseau <blusseau@zetam.org>
12311
12312 * util/grub-setup.c: Use argp instead of getopt.
12313
15c69261
YB
123142010-09-20 Yves Blusseau <blusseau@zetam.org>
12315
12316 Use gnulib-tool to create gnulib source files.
12317
12318 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12319 grub-core/gnulib directories
12320 * .bzignore: Add **/.deps and autogenerated gnulib files
12321 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12322 of gnulib macros, add grub-core/gnulib/Makefile
12323 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12324 include m4 directory to aclocal.
12325 * Makefile.util.def: Remove direct compilation of gnulib source files
12326 and use the new grub-core/gnulib/libgnu.a.
12327 * build-aux/config.rpath: move config.rpath from top directory to
12328 build-aux
12329 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12330 in gnulib headers
12331 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12332 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12333 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12334 header.
12335 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12336 string.
12337
e511c9f5
YB
123382010-09-20 Yves Blusseau <blusseau@zetam.org>
12339
12340 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
12341 grub-core/genmod.sh and grub-core/gensyminfo.sh
12342
c2dede05
BC
123432010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
12344
12345 Add a test for echo command options.
12346
12347 * tests/grub_cmd_echo.in: New test.
12348 * Makefile.util.def: Rules for new test.
12349
c55f5018
SJ
123502010-09-20 Szymon Janc <szymon@janc.net.pl>
12351
12352 Remove crc.mod and move crc command to hashsum.mod.
12353 Remove lib/crc.c - users updated to use gcrypt implementation.
12354
12355 * grub-core/commands/crc.c: Removed.
12356 * grub-core/Makefile.core.def (crc): Module removed.
12357 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
12358 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
12359 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
12360 * grub-core/lib/crc.c: Removed.
12361 * include/grub/lib/crc.h: Removed.
12362 * Makefile.util.def (crc): Remove lib/crc.c
12363 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
12364 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
12365 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
12366 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
12367 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
12368 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
12369
e0337366
VS
123702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
12373
742f9232
VS
123742010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 Split config.h for util and core.
12377
12378 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
12379 (ADDR32): Likewise.
12380 (DATA32): Likewise.
12381 (BSS_START_SYMBOL): Likewise.
12382 (END_SYMBOL): Likewise.
12383 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
12384 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
12385 * config.h.in: New file.
12386 * configure.ac: Use config-util.h as config define file.
12387 Rename MACHINE into GRUB_MACHINE. All users updated.
12388 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
12389 updated.
12390 (NESTED_FUNC_ATTR): Likewise.
12391 Substitue new variables.
12392 (COND_HAVE_ASM_USCORE): New conditional.
12393 * grub-core/Makefile.am (ASM_PREFIX): New variable.
12394 (kernel_syms.lst): Use ASM_PREFIX.
12395 * grub-core/kern/emu/console.c: Include config-util.h.
12396 * grub-core/kern/emu/misc.c: Likewise.
12397 * grub-core/kern/emu/mm.c: Likewise.
12398 * include/grub/emu/misc.h: Likewise.
12399 * include/grub/libgcc.h: Likewise.
12400
39feb0e8
VS
124012010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
12404 constants usage.
12405 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
12406 Fix GRUB_TERM_KEY_* constants usage.
12407 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
12408
9af6dac3
VS
124092010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12410
12411 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
12412 print pointer.
12413 * grub-core/bus/usb/uhci.c: Remove empty define.
12414 (grub_uhci_check_transfer): Add missing cast.
12415 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
12416 print pointer.
12417 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
12418 PRIuGRUB_SIZE.
12419 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
12420
d6d94820
VS
124212010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12422
12423 * grub-core/Makefile.core.def (legacycfg): Add
12424 lib/i386/pc/vesa_modes_table.c on emu.
12425
3572f2b6
BC
124262010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12427
12428 Reduce number of temporary files generated by build system.
12429
12430 * grub-core/gencmdlist.sh: Removed.
12431 * grub-core/genfslist.sh: Removed.
12432 * grub-core/genhandlerlist.sh: Removed.
12433 * grub-core/genmodsrc.sh: Removed.
12434 * grub-core/genpartmaplist.sh: Removed.
12435 * grub-core/genparttoollist.sh: Removed.
12436 * grub-core/gentermiinallist.sh: Removed.
12437 * grub-core/genvideolist.sh: Removed.
12438
12439 * grub-core/genmod.sh.in: New file.
12440 * grub-core/gensyminfo.sh.in: New file.
12441
12442 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
12443 * conf/Makefile.extra-dist: Update with new files.
12444 * gentpl.py: Remove rules related to unnecessary temporary files.
12445 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
12446 and und-* files.
12447 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
12448 genmod.sh scripts.
12449 * grub-core/bus/usb/uhci.c: Remove empty #define.
12450 * grub-core/genmoddep.awk: Updated with new syminfo format.
12451 * util/bash-completion.d/Makefile.am: Add config.log to
12452 CLEANFILES.
12453
c836b030
YB
124542010-09-19 Yves Blusseau <blusseau@zetam.org>
12455
12456 * Makefile.util.def: Add forgotten $(LIBINTL) library.
12457
2f4e8053
BC
124582010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12459
12460 * util/grub-mkconfig.in: Check the config script for syntax errors
12461 before saving.
12462
75831c34
CW
124632010-09-19 Colin Watson <cjwatson@ubuntu.com>
124642010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 * Makefile.util.def (grub-install): Use util/grub-install.in on all
12467 platforms.
12468 * util/grub-install.in: Add EFI and IEEE1275 support.
12469 * util/i386/efi/grub-install.in: Removed.
12470 * util/ieee1275/grub-install.in: Likewise.
12471
eaf41b25
VS
124722010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12473
12474 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
12475 (grub_cmd_cmosclean): Likewise.
12476 (GRUB_MOD_INIT): Register command cmosclean.
12477 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
12478 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
12479
1a9130dd
CPE
124802010-09-18 Carles Pina i Estany <carles@pina.cat>
124812010-09-18 Aleš Nesrsta <starous@volny.cz>
124822010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12483
12484 Add keyboard layouts support.
12485
12486 * Makefile.util.def (grub-mklayout): New file.
12487 (grub-kbdcomp): New script.
12488 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
12489 Add keyboard_layouts.h.
12490 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
12491 commands/boot.c on yeeloong.
12492 (keylayouts): New module.
12493 * grub-core/bus/usb/ohci.c
12494 * grub-core/bus/usb/uhci.c
12495 * grub-core/bus/usb/usbhub.c (rescan): New variable.
12496 (grub_usb_add_hub): Poll interrupt pipe for device handling.
12497 (attach_root_port): Likewise.
12498 (poll_nonroot_hub): Likewise.
12499 (grub_usb_poll_devices): Likewise.
12500 (detach_device): Close transfer.
12501 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
12502 function.
12503 (grub_usb_bulk_setup_readwrite): Likewise.
12504 (grub_usb_bulk_finish_readwrite): Likewise.
12505 * grub-core/commands/keylayouts.c: New file.
12506 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
12507 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
12508 aliases.
12509 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
12510 support scancode 2.
12511 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
12512 * include/grub/keyboard_layouts.h: New file.
12513 * util/grub-mklayout.c: New file.
12514 * util/grub-kbdcomp.in: Likewise.
12515
a1d84a5e
VS
125162010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12517
12518 Unify memory types.
12519
12520 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
12521 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
12522 types.
12523 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
12524 (grub_upper_mem): Likewise.
12525 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
12526 * include/grub/memory.h (grub_memory_type_t): New enum.
12527 All users updated.
12528
9696382e
VS
125292010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12530
12531 * grub-core/Makefile.core.def (lsapm): New module.
12532 * grub-core/commands/i386/pc/lsapm.c: New file.
12533 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
12534 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
12535 Likewise.
12536 * include/grub/i386/pc/apm.h: New file.
12537 * include/multiboot.h (multiboot_apm_info): New struct.
12538
125392010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12540
12541 GRUB-legacy configuration file support.
12542
12543 * Makefile.util.def (grub-menulst2cfg): New util.
12544 * docs/man/grub-menulst2cfg.h2m: New file.
12545 * grub-core/Makefile.core.def (legacycfg): New module.
12546 * grub-core/commands/legacycfg.c: New file.
12547 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
12548 (grub_normal_add_menu_entry): ... this.
12549 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
12550 (grub_normal_set_password): ...this.
12551 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
12552 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
12553 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
12554 * grub-core/lib/legacy_parse.c: New file.
12555 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
12556 * include/grub/i386/pc/vesa_modes_table.h: New file.
12557 * include/grub/legacy_parse.h: Likewise.
12558 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
12559 * util/grub-menulst2cfg.c: New file.
12560
bf8d1338
CW
125612010-09-17 Colin Watson <cjwatson@ubuntu.com>
12562
12563 * grub-core/kern/emu/hostdisk.c
12564 (convert_system_partition_to_system_disk): Initialise node.
12565
9c0bad2e
CW
125662010-09-17 Colin Watson <cjwatson@ubuntu.com>
12567
12568 * grub-core/kern/emu/hostdisk.c
12569 (convert_system_partition_to_system_disk): Fix devmapper memory pool
12570 leak.
12571 Reported and based on patch by: Modestas Vainius.
12572
a939d135
CW
125732010-09-17 Colin Watson <cjwatson@ubuntu.com>
12574
12575 Fix DM-RAID probing with recent versions of device-mapper udev
12576 rules.
12577
12578 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
12579 canonicalise device paths under /dev/mapper/.
12580 (convert_system_partition_to_system_disk): Compare the
12581 uncanonicalised path to /dev/mapper/ rather than the canonicalised
12582 path, since device nodes under /dev/mapper/ are often symlinks.
12583
0f7ee3c9
YB
125842010-09-17 Yves Blusseau <blusseau@zetam.org>
12585
12586 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
12587
10854d0d
YB
125882010-09-16 Yves Blusseau <blusseau@zetam.org>
12589
12590 * configure.ac: Avoid some annoying error messages if freetype-config
12591 program is not found.
12592
108538d8
CW
125932010-09-16 Colin Watson <cjwatson@ubuntu.com>
12594
12595 Support RAID on virtio devices, and others.
12596
12597 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
12598 Rename to ...
12599 [__MINGW32__] (grub_find_device): ... this.
12600 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
12601 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
12602 reasonable default if dir is NULL.
12603 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
12604 ...
12605 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
12606 (grub_guess_root_device): Update callers.
12607 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
12608
12609 * util/raid.c (grub_util_getdiskname): Remove.
12610 (grub_util_raid_getmembers): Use grub_find_device rather than
12611 grub_util_getdiskname.
12612
e5bfc130
CW
126132010-09-16 Colin Watson <cjwatson@ubuntu.com>
12614
12615 * docs/grub.texi (serial): Remove obsolete comment about GRUB
12616 needing to be compiled with serial support.
12617 (ls): Indicate that multiple files are accepted.
12618 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
12619 indicate that multiple files are accepted.
12620
be458ae2
CW
126212010-09-16 Colin Watson <cjwatson@ubuntu.com>
12622
12623 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
12624 libgrub_a_init.c, and util/bash-completion.d/grub.
12625
cb731b5e
VS
126262010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * util/grub-setup.c (setup): Fix incorrect container semantics.
12629
35139e8a
VS
126302010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
12633 misusage.
12634 Reported by: J. Nick Terry
12635
e50fca4a
VS
126362010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12637
12638 Move embedding routines to partmap sources files.
12639
12640 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
12641 [GRUB_UTIL]: New variable.
12642 (gpt_partition_map_iterate): Set part.parent.
12643 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
12644 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
12645 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
12646 New function.
12647 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
12648 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
12649 (grub_partition_map) [GRUB_UTIL]: New field embed.
12650 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
12651 (setup): Use ->embed.
12652
f00478b7
VS
126532010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
12656 function.
12657 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
12658 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
12659
2b94e3ff
YB
126602010-09-15 Yves Blusseau <blusseau@zetam.org>
12661
12662 Add function to get completions from usage.
12663
12664 * util/bash-completion.d/grub-completion.bash.in: Add function to get
12665 completions from usage. Use LC_ALL=C to get options properly.
12666
2e04a006
VS
126672010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12668
12669 * grub-core/gnulib/basename-lgpl.c: Imported.
12670 * grub-core/gnulib/basename.c: Likewise.
12671 * grub-core/gnulib/dirname-lgpl.c: Likewise.
12672 * grub-core/gnulib/dirname.c: Likewise.
12673 * grub-core/gnulib/dirname.h: Likewise.
12674 * grub-core/gnulib/stripslash.c: Likewise.
12675
5dcdf93a
VS
126762010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 * grub-core/gnulib/error.c: Resynced.
12679 * grub-core/gnulib/getopt.c: Likewise.
12680 * grub-core/gnulib/getopt_int.h: Likewise.
12681 * grub-core/gnulib/regex.h: Likewise.
12682 * grub-core/gnulib/regex_internal.c: Likewise.
12683 * grub-core/gnulib/regex_internal.h: Likewise.
12684
014f47b7
SJ
126852010-09-15 Szymon Janc <szymon@janc.net.pl>
12686
12687 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
12688 CRC calculations and validity checks.
12689 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
12690 calculations.
12691
dd521a4a
SJ
126922010-09-15 Szymon Janc <szymon@janc.net.pl>
12693
12694 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
12695
79c4eeb9
VS
126962010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12697
12698 Fix incorrect echo options handling.
12699 Reported by: Yves Blusseau.
12700
12701 * include/grub/command.h (grub_command_flags_t): New flags
12702 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
12703 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
12704 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
12705
ed80f7d5
VS
127062010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
12709 users updated.
12710 (GRUB_COMMAND_FLAG_MENU): Likewise.
12711 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12712 (GRUB_COMMAND_FLAG_TITLE): Removed.
12713 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12714 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
12715 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
12716 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
12717 (grub_command_flags_t): New enum. All users updated.
12718
5fe7620a
SG
127192010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
12720
12721 Fix solaris compilation.
12722
12723 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
12724 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
12725 (grub-emu-list): Likewise.
12726
545b752f
VS
127272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 Remove deprecated root command.
12730
12731 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
12732 updated.
12733
6c1a338c
VS
127342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12735
12736 * util/i386/pc/grub-setup.c: Merge this ...
12737 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
12738 * util/grub-setup.c: ... into this.
12739 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
12740 New struct.
12741
127422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12743
12744 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
12745 possible.
12746
d2ea4551
VS
127472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12748
12749 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
12750 allocate p.
12751
3c3b5040
VS
127522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12753
12754 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12755 explicit root argument to set to prevent UUID to be interpreted as
12756 argument to set.
12757
b71c3fae
VS
127582010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12759
12760 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
12761
275433e6
VS
127622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12763
12764 Don't export grub_gate_a20.
12765
12766 * grub-core/kern/i386/pc/init.c: Remove leftovers.
12767 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
12768 to ...
12769 (grub_gate_a20): ... this. All users updated.
12770 * include/grub/i386/pc/init.h: Removed. All users updated.
12771
a5dbb1f1
VS
127722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12773
12774 Create euro.pf2 which supports most European languages.
12775
12776 * Makefile.am (grubdata_DATA): Add euro.pf2.
12777 (euro.pf2): New target.
12778 (CLEANFILES): Add euro.pf2.
12779
62a747cb
VS
127802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12781
12782 * configure.ac: Disable emu-usb by default to prevent inadvertent
12783 device takeover.
12784
608e43b1
VS
127852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12786
12787 Disable usbserial on grub-emu since our libusb code isn't good enough
12788 yet.
12789
12790 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
12791 (usbserial_pl2303): Likewise.
12792 (usbserial_ftdi): Likewise.
12793
94564f81
VS
127942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12795
12796 * include/grub/disk.h (grub_disk): Remove has_partitions.
12797 All users updated.
12798 * disk/loopback.c (grub_loopback): Remove has_partitions.
12799 All users updated.
12800 (options): Remove partitions. All users updated.
12801 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
12802 * util/i386/pc/grub-setup.c (setup): copy partition table only when
12803 actual partition table is found.
12804
3352800b
VS
128052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12806
12807 Remove readability checks (too many false negatives).
12808
12809 * util/grub-install.in: Remove readability checks.
12810 * util/grub-mkconfig.in: Likewise.
12811 * util/grub.d/10_hurd.in: Likewise.
12812 * util/grub.d/10_kfreebsd.in: Likewise.
12813 * util/grub.d/10_linux.in: Likewise.
12814 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
12815 way.
12816
2419f17a
VS
128172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12818
12819 Enable acpi shutdown on all ACPI platforms.
12820
12821 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
12822 on coreboo, multiboot and EFI.
12823 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
12824 (grub_acpi_halt): Likewise.
12825 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
12826 (grub_cmd_halt): Don't call grub_acpi_halt directly.
12827 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
12828 * grub-core/lib/i386/halt.c (grub_halt)
12829 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
12830
0575c7c3
VS
128312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12832
12833 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
12834 context.
12835
54ac3cd1
VS
128362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 * grub-core/video/efi_gop.c: Fix over-80-chars line.
12839 * grub-core/video/efi_uga.c: Likewise.
12840
b2a30ac5
VS
128412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 Filter devaliases and never open same device twice.
12844
12845 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
12846 (last_ihandle): Likewise.
12847 (ofdisk_hash_ent): New member shortest.
12848 (ofdisk_hash_add): Add canonical path too.
12849 (scan): New function.
12850 (grub_ofdisk_iterate): Iterate over hashed entries.
12851 (compute_dev_path): Don't add :0.
12852 (grub_ofdisk_open): Don't really open the disk.
12853 (grub_ofdisk_close): Avoid closing unrelated disk.
12854 (grub_ofdisk_read): Implement reopen logic.
12855 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
12856 New function.
12857 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
12858 New proto.
12859
fb53b340
VS
128602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 Fix sparc64.
12863
12864 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
12865 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
12866 right address. Add sparc64_ieee1275_ldflags.
12867 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
12868 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
12869 to grub_host_to_target_addr
12870 (load_image): Likewise.
12871
f452b040
VS
128722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12873
12874 * grub-core/normal/completion.c (complete_file): Handle device
12875 containing slash.
12876 Fix based on patch by Doug Nazar.
12877
9b5b2541
VS
128782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 grub-mknetdir script.
12881
12882 * Makefile.util.def (grub-mknetdir): New module.
12883 * tests/util/grub-shell.in: Support boot=net
12884 * util/grub-mknetdir.in: New file.
12885
9d2be652
VS
128862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 videoinfo on non-vbe.
12889
12890 * grub-core/Makefile.core.def (vbeinfo): Removed.
12891 (vbetest): Removed.
12892 (videoinfo): New module.
12893 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
12894 * grub-core/commands/i386/pc/vbetest.c: Removed.
12895 * grub-core/commands/videoinfo.c: New file.
12896 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
12897 specification.
12898 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
12899 as vbetest.
12900 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
12901 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
12902 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
12903 mode_number. New parameter mode. All users updated.
12904 (grub_video_gop_iterate): New function.
12905 (grub_video_efi_gop): New member iterate.
12906 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
12907 (grub_vbe_set_video_mode): Remove setting useless fields.
12908 (vbe2videoinfo): New function.
12909 (grub_video_vbe_iterate): Likewise.
12910 (grub_video_vbe_setup): Use vbe2videoinfo.
12911 (grub_video_vbe_print_adapter_specific_info): New function.
12912 (grub_video_vbe_adapter): New fields iterate and
12913 print_adapter_specific_info.
12914 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
12915 All users updated.
12916 (grub_video_mode_info): New field mode_number.
12917 (grub_video_adapter): New fields iterate and
12918 print_adapter_specific_info.
12919
179503f5
TG
129202010-09-13 Tristan Gingold <gingold@free.fr>
129212010-09-13 Robert Millan <rmh.grub@aybabtu.com>
129222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12923
12924 * grub-core/commands/efi/lsefisystab.c: New file.
12925 * grub-core/commands/efi/lssal.c: Likewise.
12926 * grub-core/Makefile.core.def (lsacpi): New module.
12927 (lsefisystab): Likewise.
12928 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
12929 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
12930 (grub_efi_sal_system_table): New struct.
12931 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
12932 (grub_efi_sal_system_table_memory_descriptor): Likewise.
12933 (grub_efi_sal_system_table_platform_features): Likewise.
12934 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
12935 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
12936 (grub_efi_sal_system_table_ap_wakeup): Likewise.
12937 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
12938
cf9827de
VS
129392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 Support explicit user claim that a device is BIOS-visible.
12942
12943 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
12944 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
12945 * grub-core/kern/emu/hostdisk.c
12946 (convert_system_partition_to_system_disk): Support mdX.
12947 (find_system_device): New parameter add. All users updated.
12948 (grub_util_biosdisk_is_present): New function.
12949 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
12950 proto.
12951
53f0eb1f
VS
129522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12953
12954 Search hints support.
12955
12956 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
12957 All users updated.
12958
b23ffd70
YB
129592010-09-13 Yves Blusseau <blusseau@zetam.org>
12960
12961 Bash completion script for util commands
12962
12963 * Makefile.am: Add util/bash-completion.d directory
12964 * configure.ac: Likewise.
12965 * util/bash-completion.d/Makefile.am: New file.
12966 * util/bash-completion.d/grub-completion.bash.in: Likewise.
12967
d547dc28
VS
129682010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12969
12970 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
12971 (print_backlog): set backlog_ucs4 and backlog_glyphs.
12972 Reported by: Yves Blusseau.
12973
2fc8ccb9
VS
129742010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12975
12976 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
12977 partition size and offset.
12978
d8a84076
VS
129792010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
12982
84fb3b3d
VS
129832010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12984
12985 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
12986
768ec2e2
VS
129872010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12988
12989 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
12990 (grub_xvasprintf): Likewise.
12991
4870900f
VS
129922010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12993
12994 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
12995
faca6bec
VS
129962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12997
12998 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
12999 args ending with NULL.
13000
130012010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
13002
13003 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
13004 pointer.
13005
3c70f225
SJ
130062010-09-11 Szymon Janc <szymon@janc.net.pl>
13007
13008 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
13009
4df7996d
VS
130102010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13011
13012 Shutdown using ACPI.
13013
13014 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
13015 * grub-core/commands/acpihalt.c: New file.
13016 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
13017 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
13018 (grub_acpi_halt): New proto.
13019 (GRUB_ACPI_SLP_EN): New const.
13020 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
13021 (GRUB_ACPI_OPCODE_*): New enum.
13022 (GRUB_ACPI_EXTOPCODE_*): Likewise.
13023
126b4c32
TG
130242010-09-11 Tristan Gingold <gingold@free.fr>
130252010-09-11 Robert Millan <rmh.grub@aybabtu.com>
130262010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13027
13028 * commands/lsacpi.c: New file.
13029 * grub-core/Makefile.core.def (lsacpi): New module.
13030 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
13031 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
13032 (grub_acpi_madt_entry_header): New struct.
13033 (grub_acpi_madt): Likewise.
13034 (grub_acpi_madt_entry_interrupt_override): Likewise.
13035 (grub_acpi_madt_entry_sapic): Likewise.
13036 (grub_acpi_madt_entry_lsapic): Likewise.
13037 (grub_acpi_madt_entry_platform_int_source): Likewise.
13038 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
13039 (PRIuGRUB_UINT32_T): Likewise.
13040 (PRIxGRUB_UINT64_T): Likewise.
13041
1aa4fe88
VS
130422010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13043
13044 Implement loading palette on ieee1275_fb.
13045
13046 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
13047 (have_setcolors): Likewise.
13048 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
13049 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
13050 (grub_video_ieee1275_set_palette): Implement.
13051
25761e13
VS
130522010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
130532010-09-11 Colin Watson <cjwatson@ubuntu.com>
13054
13055 * util/grub-install.in (grub_partition): New variable.
13056 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
13057 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
13058 Fixes a bug reported by Yves Blusseau.
13059
050abaea
VS
130602010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 Fix emu on mipsel.
13063
13064 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
13065 =grub_cpu_flush_cache on all mips and not only yeeloong.
13066 * configure.ac (COND_mips): New conditional.
13067 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
13068 platforms.
13069 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
13070 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
13071 [GRUB_LINKER_HAVE_INIT]: New function.
13072 (grub_emu_post_init): Likewise.
13073 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
13074 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
13075 * include/grub/cache.h (_mips): Include mips/cache.h.
13076 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
13077 LVM and RAID prototypes.
13078 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
13079 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
13080 function.
13081
5ed7d816
CW
130822010-09-10 Colin Watson <cjwatson@ubuntu.com>
13083
13084 * util/grub-install.in: Don't try to verify core.img until after
13085 running grub-mkimage to create it.
13086
90367e04
RM
130872010-09-10 Robert Millan <rmh@gnu.org>
13088
13089 * util/grub.d/10_hurd.in: Add misc readability checks.
13090 * util/grub.d/10_kfreebsd.in: Likewise.
13091 * util/grub.d/10_linux.in: Likewise.
13092
c452fa66
CW
130932010-09-10 Colin Watson <cjwatson@ubuntu.com>
13094
13095 * util/grub-install.in: ${imgext} won't be defined here until the
13096 install branch is merged. For the meantime, only verify core.img on
13097 i386-pc and sparc64-ieee1275 platforms.
13098
c38fe9f4
RM
130992010-09-10 Robert Millan <rmh@gnu.org>
13100
13101 Solaris support in grub_find_zpool_from_dir(). Thanks
13102 Seth Goldberg for referring to getextmntent() facility.
13103
13104 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
13105 `sys/mkdev.h'.
13106 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
13107 `<sys/mnttab.h>'.
13108 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
13109 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
13110 method for finding zpool name.
13111
905f7773
CW
131122010-09-10 Colin Watson <cjwatson@ubuntu.com>
13113
13114 grub-fstest needs the host and hostfs modules while other utilities
13115 actively require those modules to be absent, so grub-fstest needs
13116 its own initialisation and finalisation code.
13117
13118 * Makefile.am (grub_fstest.pp): New target.
13119 (grub_fstest_init.lst): Likewise.
13120 (grub_fstest_init.c): Likewise.
13121 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
13122
fb90b546
RM
131232010-09-10 Robert Millan <rmh@gnu.org>
13124
13125 * configure.ac: Check for `struct statfs.f_fstypename' and
13126 `struct statfs.f_mntfromname'.
13127
13128 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
13129 kFreeBSD-specific code.
13130
66d4bea5
RM
131312010-09-10 Robert Millan <rmh@gnu.org>
13132
13133 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
13134 on ZFS. Now non-main filesystems are supported as / too.
13135
b6a690ee
CW
131362010-09-09 Colin Watson <cjwatson@ubuntu.com>
13137
13138 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
13139 and grub-core/disk/host.c to ...
13140 (grub-fstest): ... here. Having the host disk implementation
13141 present confuses grub-probe and other utility programs.
13142
13143 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
13144 when writing to a file, not when writing to stdout.
13145
8901b00c 131462010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
13147
13148 * tests/partmap_test.in: New test for partitions.
13149 * Makefile.util.def: Rules for new test.
13150
7bf45fdd
RM
131512010-09-09 Robert Millan <rmh@gnu.org>
13152
13153 * util/grub-probe.c (probe): Fix a pair of unhandled error
13154 conditions.
13155
4dfbc574
RM
131562010-09-09 Robert Millan <rmh@gnu.org>
13157
13158 Basic Btrfs support (detection and UUID).
13159
13160 * grub-core/fs/btrfs.c: New file.
13161 * Makefile.util.def (library): Register btrfs.c.
13162 * grub-core/Makefile.core.def: Likewise.
13163
6b8e78ae
RM
131642010-09-08 Robert Millan <rmh@gnu.org>
13165
13166 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
13167 with (optional) parameters to specify device and relative path.
13168 * util/grub-install.in: Use is_path_readable_by_grub() to
13169 verify readability of a few critical files.
13170 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
13171 verify readability of grub.cfg.new.
13172
27f21a8b
VS
131732010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13174
13175 Split minix.mod into minix.mod and minix2.mod.
13176
13177 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
13178 * grub-core/Makefile.core.def (minix2): New module.
13179 * grub-core/fs/minix.c: Use definitions instead of runtime version
13180 checking.
13181 * grub-core/fs/minix2.c: New file.
13182
c0e53ea5
YB
131832010-09-08 Yves Blusseau <blusseau@zetam.org>
13184
13185 Add new --boot-directory option to replace --root-directory
13186
13187 * util/grub-install.in: Add new --boot-directory option
13188 * util/grub-reboot.in: Likewise.
13189 * util/grub-set-default.in: Likewise.
13190
b9fe6ea2
YB
131912010-09-08 Yves Blusseau <blusseau@zetam.org>
13192
13193 * util/grub-mkconfig.in: Use new variable.
13194
d87aedff
YB
131952010-09-08 Yves Blusseau <blusseau@zetam.org>
13196
13197 * configure.ac: Define some useful variables.
13198
e55e8495
VS
131992010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13200
13201 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13202 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
13203 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
13204 Use terminfo and don't use cursor-on/cursor-off unless it's known
13205 to work.
13206 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
13207 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
13208
6fa6d675
CW
132092010-09-08 Colin Watson <cjwatson@ubuntu.com>
13210
13211 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
13212 starts with "(,", fill the drive containing the loaded image in
13213 between those two characters, but expect that a full partition
13214 specification including partition map names will follow.
13215
92f2aef0
RM
132162010-09-08 Robert Millan <rmh@gnu.org>
13217
13218 * configure.ac: Remove `--enable-grub-fstest' option.
13219 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
13220
13221 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
13222 `grub-fstest' instead of `grub-probe' for readability verification.
13223 * util/grub-probe.c (probe): Remove readability verification kludge.
13224
99fd620d
RM
132252010-09-08 Robert Millan <rmh@gnu.org>
13226
13227 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
13228 initializing `GRUB_FS'.
13229
058e30ac 132302010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
13231
13232 Not command (!) support to GRUB script.
13233
13234 * tests/grub_script_not.in: New test.
13235 * Makefile.util.def: Rules for new test.
13236
13237 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13238 ! command as a special case.
13239 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
13240
b61d05ed 132412010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13242
058e30ac 13243 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
13244 grub_free.
b61d05ed 13245
4d69c786 132462010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13247
13248 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
13249
aa3119c4 132502010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13251
13252 * docs/grub.texi (Shell-like scripting): Documentation for break,
13253 continue, shift and return commands.
13254
db0f7e3d
VS
132552010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
13256
13257 Rename CD-ROM to cd on BIOS.
13258
13259 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
13260 "cd".
13261 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
13262
88b87c93
VS
132632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
13266 * util/grub-probe.c (main): Likewise.
13267 * util/i386/pc/grub-setup.c (main): Likewise.
13268 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13269 Reported and debugged by: alexxy
13270
294f324d
VS
132712010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
13274 diagnostic info.
13275
d7ee3441
JS
132762010-09-05 Jo Shields <directhex@apebox.org>
13277
13278 * util/grub.d/30_os-prober.in: Add missing classes.
13279
d7e06c1f
VS
132802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13281
13282 * docs/grub.texi (Theme file format): Document new position format.
13283
fc157e53
VS
132842010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13287 a table. Use @code instead of @verbatim.
13288
506e9a1c
CB
132892010-09-05 Colin D Bennett <colin@gibibit.com>
13290
13291 Gfxmenu documentation.
13292
13293 * docs/grub.texi (Theme file format): New chapter.
13294
f0aff67c
SJ
132952010-09-05 Szymon Janc <szymon@janc.net.pl>
13296
13297 * grub-core/Makefile.core.def (xzio): New module.
13298 * grub-core/io/xzio.c: New file.
13299 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13300 * grub-core/lib/xzembed/xz_config.h: Likewise.
13301 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13302 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13303 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13304 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13305 * grub-core/lib/xzembed/xz_private.h: Likewise.
13306 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13307 * include/grub/file.h (grub_file_filter_id): New compression filter
13308 GRUB_FILE_FILTER_XZIO.
13309
82a85062
VS
133102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13311
13312 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13313 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13314 size.
13315
3579415d
VS
133162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13317
13318 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13319 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13320
5124ae6d
VS
133212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13322
13323 Uncompressed checksum support.
13324
13325 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13326 (check_list): New parameter uncompress.
13327 (grub_cmd_hashsum): Handle --uncompress.
13328
9aadb3d1
VS
133292010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 Reintroduce testload.
13332
13333 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13334 from here ...
13335 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13336 (GRUB_MOD_INIT): New function.
13337 (GRUB_MOD_FINI): Likewise.
13338 * grub-core/Makefile.core.def (testload): New module.
13339
a17792c3
SJ
133402010-09-05 Szymon Janc <szymon@janc.net.pl>
13341
13342 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
13343 (uint8_t): New type.
13344 (uint16_t): Likewise.
13345 (uint32_t): Likewise.
13346 (uint64_t): Likewise.
13347
b81e40a3
SJ
133482010-09-05 Szymon Janc <szymon@janc.net.pl>
13349
13350 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
13351
fc2ef117
VS
133522010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13353
13354 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
13355 Made static.
13356 (grub_gzfile_open): Removed. All users updated.
13357 (GRUB_MOD_INIT): New function.
13358 (GRUB_MOD_FINI): Likewise.
13359 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13360 (grub_file_filters_enabled): Likewise.
13361 (grub_file_open): Handle filters.
13362 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
13363 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
13364 * include/grub/file.h (grub_file_filter_id_t): New type.
13365 (grub_file_filter_t): Likewise.
13366 (grub_file_filters_all): New extern variable.
13367 (grub_file_filters_enabled): Likewise.
13368 (grub_file_filter_register): New inline function.
13369 (grub_file_filter_unregister): Likewise.
13370 (grub_file_filter_disable): Likewise.
13371 (grub_file_filter_disable_compression): Likewise.
13372 * include/grub/gzio.h: Removed.
13373
35ee15e0
BC
133742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13375
13376 Filename expansion support for wildcards in GRUB script.
13377
13378 * tests/grub_script_expansion.in: New test.
13379 * Makefile.util.def: Rule for new test.
13380
13381 * grub-core/commands/wildcard.c: New file, implements filename
13382 expansion support for GRUB script.
13383 * grub-core/Makefile.core.def: Rule update for regexp.mod.
13384 * grub-core/script/argv.c: Cosmetic changes.
13385 * grub-core/script/execute.c (grub_script_arglist_to_argv):
13386 Refactored to perform wildcard expansion on arguments.
13387 * include/grub/script_sh.h (grub_script_wildcard_translator): New
13388 struct.
13389
13390 * tests/util/grub-shell.in: Fix quoting for read input.
13391
5f0c4aca
BC
133922010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13393
13394 Support for updating environment variables with matched substrings
13395 of regexp.
13396
13397 * tests/grub_cmd_regexp.in: New test.
13398 * Makefile.util.def: Rule for new test.
13399
13400 * grub-core/commands/regexp.c: New option -s to update environment
13401 variables with regexp matches.
13402
3759a35f
SJ
134032010-09-04 Szymon Janc <szymon@janc.net.pl>
13404
13405 * include/grub/file.h (grub_file): New member not_easly_seekable.
13406 (grub_file_seekable): New inline function.
13407 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
13408 easily seekable.
13409 (grub_gzio_open): Set not_easly_seekable.
13410 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
13411 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
13412
ed8c6dec
BC
134132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13414
13415 Support for options to appear multiple times on cmdline.
13416
13417 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
13418 * grub-core/commands/extcmd.c: Support for repeatable option.
13419 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
13420 repeatable option support.
13421
13422 Refactor menuentry into a regular command.
13423
13424 * grub-core/commands/menuentry.c: New file, menuentry command
13425 implementation.
13426 * grub-core/Makefile.core.def: Rule update for normal.mod.
13427 * grub-core/normal/main.c: Moved menuentry creation to
13428 grub-core/commands/menuentry.c.
13429 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
13430 (grub_menu_execute_entry_real): Removed.
13431 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
13432 function.
13433 (grub_script_execute_menuentry): Removed.
13434 * grub-core/script/parser.y (menuentry): Removed.
13435 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
13436 * grub-core/script/yylex.l (menuentry): Removed.
13437 * include/grub/menu.h (grub_menu_init): New prototype.
13438 (grub_menu_fini): New prototype.
13439 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
13440 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
13441 (grub_script_execute_sourcecode): New prototype.
13442
dacd0cf0
BC
134432010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13444
13445 "return" command for GRUB script functions.
13446
13447 * tests/grub_script_return.in: New test.
13448 * Makefile.util.def: Rules for new test.
13449
13450 * grub-core/script/execute.c (grub_script_return): New function.
13451 * grub-core/script/main.c: Register/unregister return commaond.
13452 * include/grub/script_sh.h (grub_script_return): New prototype.
13453
52e72f9d
BC
134542010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13455
13456 "setparams" command to update positional parameters.
13457
13458 * tests/grub_script_setparams.in: New test.
13459 * Makefile.util.def: Rules for new test.
13460
13461 * grub-core/script/argv.c (grub_script_argv_make): New function.
13462 * grub-core/script/execute.c (replace_scope): New function.
13463 (grub_script_setparams): New function.
13464 * grub-core/script/lexer.c: Remove unused variables.
13465 * grub-core/script/main.c: Register/unregister setparams command.
13466 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
13467 (grub_script_setparams): New prototype.
13468
25b60c91
BC
134692010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13470
13471 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
13472 grub_free order.
13473
37e7bf68
BC
134742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13475
13476 Support for passing block of commands as an argument to extcmds.
13477
13478 * Makefile.util.def: Rules for new test.
13479 * tests/grub_script_blockarg.in: New test.
13480 * grub-core/tests/test_blockarg.c: New file, block argument
13481 command used in the test.
13482
13483 * include/grub/extcmd.h (grub_extcmd_context): New struct.
13484 (grub_register_extcmd_prio): New function prototype.
13485 (grub_extcmd_dispatcher): New function prototype.
13486 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
13487 type.
13488 * include/grub/script_sh.h (struct grub_script): New members
13489 `children', `next_siblings' and `refcnt' for block arguments and
13490 reference counting.
13491 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
13492 (grub_script_arg): New member `script' for block argument.
13493 (grub_script_argv): New member `script' for block argument.
13494 (grub_parser_param): New member `scripts' for block argument.
13495 (grub_script_mem_free): New extern function prototype.
13496 (grub_script_ref): New function prototype.
13497 (grub_script_unref): New function prototype.
13498
13499 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
13500 extcmd form to support block arguments.
13501 * grub-core/script/argv.c: Block arguments support.
13502 * grub-core/script/execute.c: Likewise.
13503 * grub-core/script/lexer.c: Likewise.
13504 * grub-core/script/main.c: Likewise.
13505 * grub-core/script/script.c: Likewise.
13506 * grub-core/script/parser.y: Likewise. New `block' and `block0'
13507 non-terminals.
13508
13509 * grub-core/commands/acpi.c: Update extcmd implementations with
13510 grub_extcmd_context_t.
13511 * grub-core/commands/cat.c: Likewise.
13512 * grub-core/commands/echo.c: Likewise.
13513 * grub-core/commands/extcmd.c: Likewise.
13514 * grub-core/commands/hashsum.c: Likewise.
13515 * grub-core/commands/hdparm.c: Likewise.
13516 * grub-core/commands/help.c: Likewise.
13517 * grub-core/commands/hexdump.c: Likewise.
13518 * grub-core/commands/i386/cpuid.c: Likewise.
13519 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13520 * grub-core/commands/i386/pc/halt.c: Likewise.
13521 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13522 * grub-core/commands/iorw.c: Likewise.
13523 * grub-core/commands/keystatus.c: Likewise.
13524 * grub-core/commands/loadenv.c: Likewise.
13525 * grub-core/commands/ls.c: Likewise.
13526 * grub-core/commands/lspci.c: Likewise.
13527 * grub-core/commands/memrw.c: Likewise.
13528 * grub-core/commands/probe.c: Likewise.
13529 * grub-core/commands/search_wrap.c: Likewise.
13530 * grub-core/commands/setpci.c: Likewise.
13531 * grub-core/commands/sleep.c: Likewise.
13532 * grub-core/disk/loopback.c: Likewise.
13533 * grub-core/hello/hello.c: Likewise.
13534 * grub-core/loader/i386/bsd.c: Likewise.
13535 * grub-core/loader/xnu.c: Likewise.
13536 * grub-core/term/gfxterm.c: Likewise.
13537 * grub-core/term/serial.c: Likewise.
13538 * grub-core/tests/lib/functional_test.c: Likewise.
13539
888d1500
BC
135402010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13541
13542 Multi-line quoted strings support.
13543
13544 * grub-core/script/lexer.c (append_newline): Removed.
13545 (grub_script_lexer_yywrap): Refactored.
13546 (grub_script_lexer_init): Refactored.
13547 * grub-core/script/yylex.l (yywrap): New function.
13548 (grub_lexer_resplit): New function.
13549 (grub_lexer_unput): New function.
13550 * include/grub/script_sh.h (grub_lexer_param): New members, unput
13551 and resplit.
13552 * tests/grub_script_echo1.in: Added few more testcases.
13553
dda060dd
VS
135542010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13555
13556 * grub-core/kern/misc.c: Don't add abort alias in utils.
13557 Reported by: echoline.
13558
6556eba9
BC
135592010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
13560
13561 Add missing files into "make dist" tarball for other platforms.
13562
13563 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
13564 * conf/Makefile.common (dist_noinst_DATA): New variable.
13565 * conf/Makefile.extra-dist: Added missing make dist files.
13566 * grub-core/Makefile.core.def: Likewise.
13567
c8e7bf5f
VS
135682010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13569
13570 Compress grub_prefix.
13571
13572 * grub-core/boot/i386/pc/lnxboot.S: Use
13573 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
13574 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
13575 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
13576 GRUB_MACHINE_PREFIX_END. All users updated.
13577 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
13578 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
13579 + 0x40.
13580 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13581 * util/grub-mkimage.c (image_target_desc): Change data_end to
13582 prefix_end. All users updated.
13583
a7c00cdb
VS
135842010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
13587 value.
13588 (grub_openbsd_boot): Likewise.
13589 (grub_netbsd_boot): Likewise.
13590 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
13591 (grub_xnu_boot): Likewise.
13592
9f915872
VS
135932010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13594
13595 * configure.ac: Clean LIBS variable after tests.
13596
efa1bee7
CW
135972010-09-02 Colin Watson <cjwatson@ubuntu.com>
13598
13599 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
13600
61d720e5
VS
136012010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
13604 echo if libdevmapper will be used.
13605
ef8e0ec8
IT
136062010-09-02 Ian Turner <Ian.Turner@deshaw.com>
13607
13608 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
13609 constant for the same file.
13610
03e261d8
VS
136112010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13612
13613 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
13614
c2a4eba6
CW
136152010-09-02 Colin Watson <cjwatson@ubuntu.com>
13616
13617 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
13618 grub-core/*.pp.
13619
9056cbf3
CW
136202010-09-02 Colin Watson <cjwatson@ubuntu.com>
13621
13622 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
13623 required by the boot protocol.
13624
13625 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
13626 ebp and edi members.
13627 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
13628 state.ebp and state.edi.
13629 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
13630 %ebp and %edi according to grub_relocator32_ebp and
13631 grub_relocator32_edi respectively.
13632 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
13633 and state.edi.
13634
529cc99a
VS
136352010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13636
13637 Add i386-pc-pxe image target.
13638
13639 * util/grub-mkimage.c (image_target_desc): New enum value
13640 IMAGE_I386_PC_PXE.
13641 (image_targets): New target i386-pc-pxe.
13642 (generate_image): Handle i386-pc-pxe image.
13643
9a093920
VS
136442010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13645
13646 Fix grub_pxe_scan.
13647
13648 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
13649 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
13650 All users updated.
13651 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
13652 (grub_pxe_pxenv): Correct type.
13653
f9cefc4e
CW
136542010-09-01 Colin Watson <cjwatson@ubuntu.com>
13655
13656 * NEWS: Document most of the important changes since 1.98.
13657
4066f57f
CW
136582010-09-01 Colin Watson <cjwatson@ubuntu.com>
13659
13660 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
13661 generated manual page) a little.
13662
da2891f9
CW
136632010-09-01 Colin Watson <cjwatson@ubuntu.com>
13664
13665 * docs/grub.texi: Add myself as an author.
13666
ad717fae
VS
136672010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13668
13669 * Makefile.util.def (libgrub.a): Add missing sunpc.
13670 Reported by: Seth Goldberg.
13671
eefe8abd
VS
136722010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13673
13674 Interrupt wrapping and code simplifications.
13675
9494ef9a
VS
13676 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
13677 x86_noieee1275 which are functionaly equivalent in this case.
13678 (grub-install): Make source on each platform explicit. Enable on
13679 all noemu.
13680 * gentpl.py (x86_efi_pc): Removed group.
13681 (x86_noefi): Likewise.
13682 (i386_noefi): Likewise.
13683 (x86_noieee1275): Likewise.
13684 (i386_noieee1275): Likewise.
13685 (i386_noefi_noieee1275): Likewise.
13686 (i386_pc_qemu_coreboot): Likewise.
13687 (i386_coreboot_multiboot): Likewise.
13688 (i386_pc_coreboot_multiboot_qemu): Likewise.
13689 (x86_noefi_mips): Likewise.
13690 (noieee1275): Likewise.
13691 (ieee1275_mips): Likewise.
13692 (noemu_noieee1275): Likewise.
13693 (cmos): New group.
13694 (usb): Likewise.
13695 (videoinkernel): Likewise.
13696 (videomodules): Likewise.
eefe8abd 13697 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
13698 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
13699 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
13700 include/grub/loader.h, include/grub/msdos_partition.h,
13701 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
13702 include/grub/machine/console.h, include/grub/machine/vga.h,
13703 include/grub/machine/vbe.h, include/grub/machine/init.h,
13704 include/grub/machine/kernel.h, include/grub/cpu/time.h,
13705 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 13706 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
13707 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
13708 * grub-core/Makefile.core.def (kernel): Explicit the source for
13709 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
13710 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
13711 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
13712 Use videoinkernel tag.
13713 (usb): Enable on all usb.
13714 (usbserial_common): Likewise.
13715 (usbserial_pl2303): Likewise.
13716 (usbserial_ftdi): Likewise.
13717 (uhci): Enable on all x86.
13718 (ohci): Enable on all pci.
13719 (cmostest): Enable on all CMOS.
13720 (acpi): Include commands/acpi.c on all platforms.
13721 (halt): Add relevant lib/*/halt.c.
13722 (hdparm): Enable on all pci.
13723 (lspci): Likewise.
13724 (usbtest): Enable on all usb.
13725 (ata): Enable on all pci.
13726 (ata_pthru): Likewise.
13727 (usbms): Enable on all usb.
13728 (usb_keyboard): Likewise.
13729 (font): Use tag videomodules.
13730 (bufio): Likewise.
13731 (datetime): Use tag cmos. Enable on all noemu.
13732 (mmap): Use tags common and x86.
13733 (gfxterm): Use tag videomodules.
13734 (bitmap): Likewise.
13735 (bitmap_scale): Likewise.
13736 (video_fb): Likewise.
13737 (video): Likewise.
13738 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
13739 adjust padding accordingly. All users updated.
13740 (grub_ohci_transaction): Fix bad format specification.
13741 (GRUB_MOD_INIT): Add asserts for struct size.
13742 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
13743 (grub_alloc_td): Likewise.
13744 (grub_free_queue): Likewise.
13745 (grub_uhci_transfer): Likewise.
13746 (grub_uhci_transaction): Fix bad format specification.
13747 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13748 (grub_usb_bulk_readwrite): Likewise.
13749 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
13750 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
13751 Made static.
13752 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
13753 Made static.
13754 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
13755 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
13756 Transformed into C.
13757 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
13758 Moved from here ...
13759 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
13760 ... here. Transformed into C. Made static.
13761 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
13762 Moved from here ...
13763 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
13764 ... here. Transformed into C. Made static.
13765 * grub-core/kern/i386/pc/startup.S
13766 (grub_biosdisk_check_int13_extensions): Moved from here ...
13767 * grub-core/disk/i386/pc/biosdisk.c
13768 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
13769 Made static.
13770 * grub-core/kern/i386/pc/startup.S
13771 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
13772 * grub-core/disk/i386/pc/biosdisk.c
13773 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
13774 Transformed into C. Made static.
13775 * grub-core/kern/i386/pc/startup.S
13776 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
13777 * grub-core/disk/i386/pc/biosdisk.c
13778 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
13779 Transformed into C. Made static.
13780 * grub-core/kern/i386/pc/startup.S
13781 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
13782 * grub-core/disk/i386/pc/biosdisk.c
13783 (grub_biosdisk_get_diskinfo_standard): ... here.
13784 Transformed into C. Made static.
13785 * grub-core/kern/i386/pc/startup.S
13786 (grub_biosdisk_get_num_floppies): Moved from here ...
13787 * grub-core/disk/i386/pc/biosdisk.c
13788 (grub_biosdisk_get_num_floppies): ... here.
13789 Transformed into C. Made static.
13790 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
13791 New function.
13792 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
13793 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
13794 Transformed into C. Made static.
13795 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
13796 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
13797 Transformed into C. Made static.
13798 * grub-core/kern/i386/ieee1275/init.c: Removed.
13799 * grub-core/kern/i386/misc.S: Likewise.
13800 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
13801 Splitted from here ...
13802 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
13803 Transformed into C. Made static. All users updated.
13804 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
13805 Transformed into C. Made static. All users updated.
13806 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
13807 Moved from here...
13808 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
13809 Transformed into C. Made static. All users updated.
13810 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
13811 Moved from here...
13812 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
13813 Transformed into C. Made static. All users updated.
13814 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
13815 Removed (replaced by C version).
13816 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
13817 Moved from here...
13818 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
13819 Transformed into C. Made static.
13820 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
13821 Moved from here...
13822 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
13823 ... here. Transformed into C.
13824 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
13825 Moved from here...
13826 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
13827 ... here. Transformed into C.
13828 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
13829 Moved from here...
13830 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
13831 ... here. Transformed into C. Made static.
13832 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
13833 Moved from here...
13834 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
13835 ... here. Transformed into C.
21ed554b
VS
13836 * grub-core/kern/i386/pc/startup.S
13837 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
13838 * grub-core/video/i386/pc/vbe.c
13839 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
13840 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
13841 Moved from here...
13842 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
13843 ... here. Transformed into C.
13844 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
13845 Moved from here...
13846 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
13847 ... here. Transformed into C.
13848 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
13849 Moved from here...
13850 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
13851 ... here. Transformed into C.
13852 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
13853 Moved from here...
13854 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
13855 ... here. Transformed into C.
13856 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
13857 Moved from here...
13858 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
13859 ... here. Transformed into C. Made static.
13860 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
13861 Moved from here...
13862 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
13863 ... here. Transformed into C. Made static.
13864 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
13865 Moved from here...
13866 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
13867 ... here. Transformed into C. Made static.
13868 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
13869 pxe_rm_entry as third argument.
13870 (grub_bios_interrupt): New function.
13871 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
13872 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
13873 of calling grub_stop.
13874 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
13875 * grub-core/lib/efi/halt.c (grub_halt): ...here.
13876 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
13877 * grub-core/lib/emu/halt.c (grub_halt): ... here.
13878 * grub-core/lib/i386/halt.c: Moved from here ...
13879 * grub-core/lib/i386/halt.c: ... here.
13880 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
13881 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
13882 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
13883 grub_stop_floppy.
13884 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
13885 * include/grub/i386/coreboot/init.h: Removed.
13886 * include/grub/i386/multiboot/init.h: Likewise.
13887 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
13888 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
13889 * include/grub/i386/pc/int.h: New file.
13890 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
13891 (grub_pxe_scan): Removed.
13892 (grub_pxe_call): Update prototype.
13893 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
13894 prototypes.
13895 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
13896 * include/grub/i386/qemu/init.h: Removed.
13897 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
13898 noreturn.
13899 (grub_halt): Likewise.
13900 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
13901 (grub_reboot): Likewise.
13902 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
13903 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
13904 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
13905
215dd471
RM
139062010-08-30 Robert Millan <rmh@gnu.org>
13907
13908 * NEWS: Document addition of ZFS support in `grub-install' and
13909 `grub-mkconfig'.
13910
ebd65b82
BC
139112010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
13912
13913 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
13914 dprintf output.
13915
11721d19
VS
139162010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13917
13918 Remove leftover embedding of font objects.
13919
13920 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13921 * util/grub-install.in (font): Removed.
13922 * util/grub-mkimage.c (generate_image): Remove font support. All users
13923 updated.
13924
37837d4e
VS
139252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13926
13927 Remove leftover embedding of font objects.
13928
13929 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13930 * util/grub-install.in (font): Removed.
13931 * util/grub-mkimage.c (generate_image): Remove font support. All users
13932 updated.
13933
b4c1aae0
VS
139342010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13935
13936 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 13937 Reported by: Ian Turner
b4c1aae0 13938
8920a08d
VS
139392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13940
13941 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
13942 timeout to avoid indefinite boot stalling.
13943
f21db033
VS
139442010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13945
13946 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
13947 (grub_env_write_color_highlight): Likewise.
13948
9a9de209
VS
139492010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13950
13951 * grub-core/normal/term.c (print_more): Return to normal and not
13952 to standard state after printing "---MORE---".
13953
3dca01d7
VS
139542010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13955
13956 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
13957 Mask out the bit 0x80 since it has other meaning that specifiing color.
13958
0b986c40
VS
139592010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13960
13961 New relocator. Allows for more kernel support and more straightforward
13962 loader writing.
13963
13964 * Makefile.am (BOOTTARGET): New variable.
13965 (QEMU32): Likewise.
13966 (linux.init.x86_64): New target.
13967 (linux.init.i386): Likewise.
13968 (multiboot.elf): Likewise.
13969 (kfreebsd.elf): Likewise.
13970 (kfreebsd.aout): Likewise.
13971 (pc-chainloader.elf): Likewise.
13972 (pc-chainloader.bin): Likewise.
13973 (ntldr.elf): Likewise.
13974 (ntldr.bin): Likewise.
13975 (multiboot2.elf): Likewise.
13976 (kfreebsd.init.x86_64): Likewise.
13977 (kfreebsd.init.i386): Likewise.
13978 (knetbsd.init.i386): Likewise.
13979 (kopenbsd.init.i386): Likewise.
13980 (knetbsd.init.x86_64): Likewise.
13981 (kopenbsd.init.x86_64): Likewise.
13982 (linux-initramfs.i386): Likewise.
13983 (linux-initramfs.x86_64): Likewise.
13984 (kfreebsd-mfsroot.i386.img): Likewise.
13985 (knetbsd.image.i386): Likewise.
13986 (kopenbsd.image.i386): Likewise.
13987 (kopenbsd.image.x86_64): Likewise.
13988 (knetbsd.miniroot-image.i386.img): Likewise.
13989 (kfreebsd-mfsroot.x86_64.img): Likewise.
13990 (knetbsd.image.x86_64): Likewise.
13991 (knetbsd.miniroot-image.x86_64.img): Likewise.
13992 (kfreebsd-mfsroot.i386.gz): Likewise.
13993 (bootcheck-kfreebsd-i386): Likewise.
13994 (kfreebsd-mfsroot.x86_64.gz): Likewise.
13995 (bootcheck-kfreebsd-x86_64): Likewise.
13996 (knetbsd.miniroot-image.i386.gz): Likewise.
13997 (bootcheck-knetbsd-i386): Likewise.
13998 (bootcheck-kopenbsd-i386): Likewise.
13999 (bootcheck-kopenbsd-x86_64): Likewise.
14000 (knetbsd.miniroot-image.x86_64.gz): Likewise.
14001 (bootcheck-knetbsd-x86_64): Likewise.
14002 (bootcheck-linux-i386): Likewise.
14003 (bootcheck-linux-x86_64): Likewise.
14004 (bootcheck-linux16-i386): Likewise.
14005 (bootcheck-linux16-x86_64): Likewise.
14006 (bootcheck-multiboot): Likewise.
14007 (bootcheck-multiboot2): Likewise.
14008 (bootcheck-kfreebsd-aout): Likewise.
14009 (bootcheck-pc-chainloader): Likewise.
14010 (bootcheck-ntldr): Likewise.
14011 (CLEANFILES): Add new targets.
14012 (BOOTCHECKS): New variable.
14013 (.PHONY): Add bootchecks.
14014 (SUCCESSFUL_BOOT_STRING): New variable.
14015 (BOOTCHECK_TIMEOUT): Likewise.
14016 (bootcheck): New target
14017 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
14018 * configure.ac: Correct efiemu excuse.
14019 * docs/grub.texi (Supported kernels): New chapter.
14020 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
14021 include/grub/mm_private.h. Simplify inclusion of
14022 include/grub/boot.h, include/grub/loader.h
14023 and include/grub/msdos_partition.h
14024 (KERNEL_HEADER_FILES) [i386_coreboot]:
14025 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
14026 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
14027 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
14028 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
14029 include/grub/machine/loader.h.
14030 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
14031 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
14032 extra_dist.
14033 (pci.mod): Enable on i386-multiboot.
14034 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
14035 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
14036 i386-qemu.
14037 (relocator.mod): Rewritten.
14038 (aout.mod): Enable on all x86.
14039 (bsd.mod): Likewise.
14040 (ntldr.mod): New module.
14041 (linux.mod): Use loader/i386/linux.c on all x86.
14042 (xnu.mod): Enable on all x86.
14043 (vga_text.mod): disable on EFI and QEMU.
14044 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
14045 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
14046 * grub-core/efiemu/loadcore.c: Likewise.
14047 * grub-core/efiemu/main.c: Likewise.
14048 (grub_efiemu_exit_boot_services): Removed.
14049 (grub_efiemu_finish_boot_services): Likewise.
14050 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
14051 function.
14052 * grub-core/efiemu/i386/nocfgtables.c: New file.
14053 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
14054 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
14055 (grub_efi_finish_boot_services): Moved from here ...
14056 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
14057 Fille finish memory map and related data.
14058 (finish_mmap_buf): New variable.
14059 (grub_efi_uintn_t finish_mmap_size): Likewise.
14060 (grub_efi_uintn_t finish_key): Likewise.
14061 (grub_efi_uintn_t finish_desc_size): Likewise.
14062 (grub_efi_uint32_t finish_desc_version): Likewise.
14063 (grub_efi_is_finished): Likewise.
14064 (grub_efi_get_memory_map): Use saved memory map if EFI is already
14065 finished.
14066 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
14067 (grub_elf64_phdr_iterate): Likewise.
14068 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
14069 (grub_os_area_size): Likewise.
14070 (grub_machine_init): Don't reserve os area.
14071 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
14072 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14073 * grub-core/kern/i386/loader.S: Removed.
14074 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
14075 (grub_os_area_size): Likewise.
14076 (grub_machine_init): Don't reserve os area.
14077 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14078 Don't call grub_dl_unload_all.
14079 Don't include loader.S.
14080 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
14081 Declare the memory after _end as available.
14082 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 14083 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 14084 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
14085 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
14086 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
14087 * include/grub/mm_private.h (grub_mm_header): ... here.
14088 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
14089 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
14090 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
14091 (grub_mm_region): ..here. Removed addr. Added pre_size.
14092 All users updated.
14093 * grub-core/kern/mm.c (base): Renamed to ...
14094 (grub_mm_base): ... this. Made global.
14095 (grub_real_malloc): Alloc from end of region.
14096 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
14097 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
14098 * grub-core/kern/powerpc/cache_flush.S: ... here.
14099 * grub-core/lib/efi/relocator.c: New file.
14100 * grub-core/lib/i386/relocator.c: Rewritten.
14101 * grub-core/lib/i386/relocator16.S: New file.
14102 * grub-core/lib/i386/relocator32.S: Likewise.
14103 * grub-core/lib/i386/relocator64.S: Likewise.
14104 * grub-core/lib/i386/relocator_asm.S: Rewritten.
14105 * grub-core/lib/i386/relocator_common.S: New file.
14106 * grub-core/lib/ieee1275/relocator.c: Likewise.
14107 * grub-core/lib/mips/relocator.c: Rewritten.
14108 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
14109 stylistic adjustments.
14110 * grub-core/lib/powerpc/relocator.c: New file.
14111 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
14112 * grub-core/lib/relocator.c: Rewritten.
14113 * grub-core/lib/x86_64/relocator_asm.S: New file.
14114 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
14115 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
14116 (bsd_tag): New struct.
14117 (tags): New variable.
14118 (tags_last): Likewise.
14119 (netbsd_module): New struct.
14120 (netbsd_mods): New variable.
14121 (netbsd_mods_last): Likewise.
14122 (openbsd_opts): New parameter "serial".
14123 (OPENBSD_SERIAL_ARG): New definition.
14124 (netbsd_opts): New parameter "serial".
14125 (NETBSD_SERIAL_ARG): New definition.
14126 (grub_freebsd_add_meta): Reorganised into ...
14127 (grub_bsd_add_meta): ...this. All users updated.
14128 (grub_freebsd_add_mmap): Reorganised into ...
14129 (generate_e820_mmap): ...this...
14130 (grub_bsd_add_mmap): ...and this. All users updated.
14131 (grub_freebsd_list_modules): Use tags.
14132 (grub_netbsd_add_meta_module): New function.
14133 (grub_netbsd_list_modules): Likewise.
14134 (grub_freebsd_boot): Use relocator and finish EFI.
14135 (grub_openbsd_boot): Likewise.
14136 (grub_netbsd_setup_video): New function.
14137 (grub_netbsd_add_modules): Likewise.
14138 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
14139 and finish EFI.
14140 (grub_bsd_unload): Unload tags.
14141 (grub_bsd_load_aout): Use relocator.
14142 (grub_bsd_elf32_size_hook): New function.
14143 (grub_bsd_elf32_hook): Use relocator.
14144 (grub_bsd_elf64_size_hook): New function.
14145 (grub_bsd_elf64_hook): Use relocator.
14146 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
14147 (grub_bsd_load): Zero-out openbsd_ramdisk.
14148 (grub_bsd_load): Use relocator.
14149 (grub_cmd_openbsd): Support serial.
14150 (grub_cmd_netbsd): Support modules.
14151 (grub_cmd_freebsd_module): Use relocator.
14152 (grub_netbsd_module_load): New function.
14153 (grub_cmd_netbsd_module): Likewise.
14154 (grub_cmd_openbsd_ramdisk): Likewise.
14155 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
14156 kopenbsd_ramdisk.
14157 (GRUB_MOD_FINI): Unregister new commands.
14158 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
14159 (grub_freebsd_load_elfmodule_obj): Use relocator.
14160 (grub_freebsd_load_elfmodule): Likewise.
14161 (grub_freebsd_load_elf_meta): Likewise.
14162 (grub_netbsd_load_elf_meta): New function.
14163 (grub_openbsd_find_ramdisk): Likewise.
14164 * grub-core/loader/i386/bsd_helper.S: Removed.
14165 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
14166 * grub-core/loader/i386/bsd_trampoline.S: Removed.
14167 * grub-core/loader/i386/efi/linux.c: Likewise.
14168 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
14169 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
14170 (DEFAULT_VIDEO_MODE): Likewise.
14171 (real_mode_target): New variable.
14172 (prot_mode_target): Likewise.
14173 (initrd_mem_target): Likewise.
14174 (relocator): Likewise.
14175 (efi_mmap_buf): Likewise.
14176 (efi_mmap_size): Likewise.
14177 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
14178 (free_pages): Use relocator.
14179 (allocate_pages): Account for efi_mmap and use relocator. Return error.
14180 (grub_linux_setup_video): Return error.
14181 (grub_linux_trampoline_start): Removed.
14182 (grub_linux_trampoline_end): Likewise.
14183 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
14184 andd video parameters depending on firmware.
14185 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
14186 [GRUB_MACHINE_EFI]: Pass EFI parameters.
14187 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
14188 (grub_cmd_initrd): Use relocator.
14189 * grub-core/loader/i386/linux_trampoline.S: Removed.
14190 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
14191 (elf_sec_entsize): Likewise.
14192 (elf_sec_shstrndx): Likewise.
14193 (elf_sections): Likewise.
14194 (grub_multiboot_load): Use relocator.
14195 (grub_multiboot_get_mbi_size): Account for sections.
14196 (grub_multiboot_make_mbi): Use relocator and support sections.
14197 (grub_multiboot_add_elfsyms): New function.
14198 (grub_multiboot_free_mbi): Free sections.
14199 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
14200 (grub_linux_real_target): Likewise.
14201 (grub_linux_real_chunk): Likewise.
14202 (grub_linux16_prot_size): Likewise.
14203 (grub_linux16_boot): Use relocator.
14204 (grub_linux_unload): Unload relocator.
14205 (grub_cmd_linux): Use relocator.
14206 (grub_cmd_initrd): Likewise.
14207 * grub-core/loader/i386/pc/ntldr.c: New file.
14208 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
14209 Don't try to guess CPU frequency.
14210 (grub_xnu_set_video): Stretch bitmap.
14211 (grub_xnu_boot): Use relocator.
14212 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
14213 (grub_linux_unload): Free relocator.
14214 (grub_linux_load32): Use relocator.
14215 (grub_linux_load64): Likewise.
14216 (grub_cmd_initrd): Likewise.
14217 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
14218 (grub_multiboot_unload): Unload relocator.
14219 (grub_cmd_multiboot): Use relocator.
14220 (grub_cmd_module): Likewise.
14221 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
14222 Use relocator and support sections.
14223 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
14224 (elf_sec_entsize): Likewise.
14225 (elf_sec_shstrndx): Likewise.
14226 (elf_sections): Likewise.
14227 (grub_multiboot_load): Use relocator.
14228 (grub_multiboot_get_mbi_size): Account for sections.
14229 (grub_multiboot_make_mbi): Use relocator and support sections.
14230 (grub_multiboot_add_elfsyms): New function.
14231 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
14232 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
14233 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
14234 Prototype changed. All users updated.
14235 (grub_xnu_align_heap): Simplified.
14236 (grub_xnu_writetree_toheap): Likewise.
14237 (grub_xnu_unload): Unload relocator.
14238 (grub_cmd_xnu_kernel): Use relocator.
14239 (grub_cmd_xnu_kernel64): Likewise.
14240 (grub_xnu_register_memory): Simplified.
14241 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
14242 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
14243 EFI is finished.
14244 (grub_console_checkkey): Likewise.
14245 (grub_console_getkey): Likewise.
14246 (grub_console_getwh): Likewise.
14247 (grub_console_getxy): Likewise.
14248 (grub_console_gotoxy): Likewise.
14249 (grub_console_cls): Likewise.
14250 (grub_console_setcolorstate): Likewise.
14251 (grub_console_setcursor): Likewise.
14252 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
14253 * grub-core/tests/boot/kbsd.init-i386.S: New file.
14254 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
14255 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
14256 * grub-core/tests/boot/kernel-8086.S: Likewise.
14257 * grub-core/tests/boot/kernel-i386.S: Likewise.
14258 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
14259 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
14260 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
14261 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
14262 * grub-core/tests/boot/knetbsd.cfg: Likewise.
14263 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
14264 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
14265 * grub-core/tests/boot/linux.cfg: Likewise.
14266 * grub-core/tests/boot/linux.init-i386.S: Likewise.
14267 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
14268 * grub-core/tests/boot/linux16.cfg: Likewise.
14269 * grub-core/tests/boot/multiboot.cfg: Likewise.
14270 * grub-core/tests/boot/multiboot2.cfg: Likewise.
14271 * grub-core/tests/boot/ntldr.cfg: Likewise.
14272 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
14273 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
14274 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14275 New definition.
14276 * include/grub/dl.h (grub_dl_unload_all): Removed.
14277 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14278 (grub_efi_finish_boot_services): Change prototype.
14279 (grub_efi_is_finished): New variable.
14280 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14281 Changed prototype.
14282 (grub_efiemu_finish_boot_services): Removed.
14283 (grub_machine_efiemu_init_tables): New prototype.
14284 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14285 (grub_elf64_phdr_iterate): Likewise.
14286 * include/grub/i386/bsd.h: Include relocator.h.
14287 (freebsd_tag_header): New struct.
14288 (grub_openbsd_bios_mmap): Removed.
14289 (grub_unix_real_boot): Removed.
14290 (grub_freebsd_load_elfmodule32): Changed prototype.
14291 (grub_freebsd_load_elfmodule_obj64): Likewise.
14292 (grub_freebsd_load_elf_meta32): Likewise.
14293 (grub_freebsd_load_elf_meta64): Likewise.
14294 (grub_freebsd_add_meta): Removed.
14295 (grub_netbsd_load_elf_meta32): New prototype.
14296 (grub_netbsd_load_elf_meta64): Likewise.
14297 (grub_bsd_add_meta): Likewise.
14298 (grub_openbsd_ramdisk_descriptor): New struct.
14299 (grub_openbsd_find_ramdisk32): New prototype.
14300 (grub_openbsd_find_ramdisk64): Likewise.
14301 * include/grub/i386/coreboot/loader.h: Removed.
14302 * include/grub/i386/efi/loader.h: Likewise.
14303 * include/grub/i386/ieee1275/loader.h: Likewise.
14304 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14305 to grub_uint32_t.
14306 * include/grub/i386/loader.h: Removed.
14307 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14308 value.
14309 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14310 (grub_phys_addr_t): New type.
14311 (grub_vtop): New inline function.
14312 (grub_map_memory): Likewise.
14313 (grub_unmap_memory): Likewise.
14314 * include/grub/i386/multiboot/loader.h: Removed.
14315 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14316 (NETBSD_BTINFO_CONSOLE): New definition.
14317 (NETBSD_BTINFO_SYMTAB): Likewise.
14318 (NETBSD_BTINFO_MODULES): Likewise.
14319 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14320 (grub_netbsd_bootinfo): New struct.
14321 (grub_netbsd_btinfo_common): Use explicit bitsize.
14322 (grub_netbsd_btinfo_mmap_entry): Removed.
14323 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14324 (grub_netbsd_btinfo_bootdisk): New struct.
14325 (grub_netbsd_btinfo_symtab): Likewise.
14326 (grub_netbsd_btinfo_serial): Likewise.
14327 (grub_netbsd_btinfo_modules): Likewise.
14328 (grub_netbsd_btinfo_framebuf): Likewise.
14329 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14330 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14331 Likewise.
14332 (grub_openbsd_bootargs): Use explicit bitsize.
14333 (grub_openbsd_bootarg_console): New struct.
14334 (GRUB_OPENBSD_COM_MAJOR): New definition.
14335 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14336 * include/grub/i386/pc/efiemu.h: Removed.
14337 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14338 * include/grub/i386/qemu/loader.h: Removed.
14339 * include/grub/i386/relocator.h: Rewritten.
14340 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
14341 * include/grub/mips/memory.h: New file.
14342 * include/grub/mips/multiboot.h: Rewritten.
14343 * include/grub/mips/relocator.h: Rewritten.
14344 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
14345 (grub_vtop): New function.
14346 (grub_map_memory): Likewise.
14347 (grub_unmap_memory): Likewise.
14348 * include/grub/misc.h (ALIGN_DOWN): New definition.
14349 * include/grub/mm.h (grub_mm_check_real): New proto.
14350 (GRUB_MM_CHECK): New definition.
14351 * include/grub/mm_private.h: New file.
14352 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
14353 (grub_multiboot_get_mbi_size): Removed.
14354 (grub_multiboot_make_mbi): Change prottype.
14355 (grub_multiboot_set_accepts_video): New proto.
14356 (grub_multiboot_add_elfsyms): Likewise.
14357 (grub_multiboot_payload_eip): New variable.
14358 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
14359 New prototype.
14360 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
14361 New definition.
14362 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
14363 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
14364 * include/grub/powerpc/ieee1275/loader.h: Removed.
14365 * include/grub/powerpc/memory.h: New file.
14366 * include/grub/powerpc/relocator.h: Likewise.
14367 * include/grub/relocator.h: Likewise.
14368 * include/grub/relocator_private.h: Likewise.
14369 * include/grub/sparc64/ieee1275/loader.h: Removed.
14370 * include/grub/x86_64/memory.h: New file.
14371 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
14372 (grub_xnu_heap_malloc): Likewise.
14373 (grub_xnu_heap_real_start): Removed.
14374 (grub_xnu_heap_start): Likewise.
14375 (grub_xnu_relocator): New variable.
14376 (grub_xnu_heap_target_start): Likewise.
14377 * tests/util/grub-shell.in: Support non-pc.
14378 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 14379
5303b85d
VS
143802010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14381
14382 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
14383 on malloc error.
14384 (grub_bidi_logical_to_visual): Check that malloc succeded.
14385 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
14386 puts.
14387 (grub_xputs_normal): Likewise.
14388
d768d159
VS
143892010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14390
14391 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
14392 extra_dist.
14393
143942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14395
14396 * grub-core/efiemu/runtime/efiemu.sh: Removed.
14397
5bf84df4
VS
143982010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14399
14400 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
14401
3626810e
VS
144022010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14403
14404 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
14405 dprintf.
14406
a7363f53
BC
144072010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
14408
14409 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
14410
902f75f6
VS
144112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14412
14413 * grub-core/normal/term.c (print_more): Fix a memory leak.
14414 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
14415 (grub_xputs_normal): Likewise.
14416
3c707967
VS
144172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14418
14419 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
14420 the begining of the string
14421
2053cc07
VS
144222010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14423
14424 * grub-core/script/script.c (grub_script_parse): Free parsed on
14425 failure.
14426
46422ebf
VS
144272010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14428
14429 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
14430 on failure.
14431
9e0fa3f6
VS
144322010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14433
14434 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
14435 return.
14436
3393cf16
VS
144372010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14438
14439 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
14440 (scroll_up): Fix a memory leak.
14441
b17540cb
VS
144422010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14443
14444 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
14445 errors.
14446
67140446
VS
144472010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
14448
14449 Handle USB pendrives exposed as floppies.
14450
14451 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
14452 floppy.
14453 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14454 Check for partitions on all devices.
14455
e35e46fc
VS
144562010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14457
14458 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
14459 (readkey): Likewise.
14460
d24c6190
BC
144612010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14462
14463 Multiple variable names support to "export" command.
14464
14465 * normal/context.c (grub_cmd_export): "export" command supports
14466 multiple variable names.
14467
04ddcc6a
ST
144682010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
14469
14470 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
14471 --target=drive output to Mach device name.
14472
0c8b61d8
BC
144732010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14474
14475 New Automake based build system for GRUB.
14476
14477 * ABOUT-NLS: New file.
14478 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
14479 in Makefile.util.def file.
14480 * Makefile.util.def: New file. Autogen build definitions file for
14481 GRUB host utils.
14482 * conf/Makefile.common: New file. Common variables for GRUB host
14483 utils and target modules.
14484 * conf/Makefile.extra-dist: New file. Extra files for make dist.
14485 * docs/Makefile.am: New file. Automake file for docs.
14486 * gentpl.py: New file. Python script to generate Autogen
14487 template.
14488 * grub-core/Makefile.am: New file. GRUB target modules' rules
14489 that doesn't fit in Makefile.core.def file.
14490 * grub-core/Makefile.core.def: New file. Autogen build
14491 definitions file for GRUB target modules.
14492 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
14493 specific setjmp.S file.
14494 * po/Makefile.am: New file.
14495
14496 * .bzrignore: New ignores.
14497 * INSTALL: New requirements, without Ruby.
14498 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
14499 * autogen.sh: Updated to invoke autogen as necessary.
14500 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
14501 and defines for Automake conditionals.
14502 * geninit.sh: Refactoring.
14503
14504 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
14505 necessary.
14506 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
14507 New prototype.
14508
14509 * include/grub/test.h: Fix functional test modules' naming.
14510 * grub-core/tests/example_functional_test.c: Fix test module name.
14511
14512 * util/misc.c: Hosted versions' of grub functions for libgrub.a
14513 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
14514 * util/grub-editenv.c: Likewise.
14515 * util/grub-fstest.c: Likewise.
14516 * util/grub-mkdevicemap.c: Likewise.
14517 * util/grub-mkfont.c: Likewise.
14518 * util/grub-mkimage.c: Likewise.
14519 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14520 * util/grub-probe.c: Likewise.
14521 * util/grub-script-check.c: Likewise.
14522 * util/i386/pc/grub-setup.c: Likewise.
14523 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14524
14525 * tests/util/grub-shell.in: Fix override directory path.
14526 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
14527 * util/import_gcry.py: Create Makefile.gcry.def file instead.
14528
14529 * util/lvm.c: Update #includes.
14530 * util/raid.c: Likewise.
14531 * util/resolve.c: Likewise.
14532 * grub-core/bus/emu/pci.c: Likewise.
14533 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
14534 * grub-core/lib/posix_wrap/string.h: Likewise.
14535 * grub-core/kern/emu/main.c: Likewise.
14536
14537 * grub-core/gensymlist.sh: New file. Script for generating kernel
14538 symbols file.
14539 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
14540
14541 * grub-core/gentrigtables.c: Fix unused variable warnings.
14542
14543 * Makefile.in: Removed.
14544 * conf/any-emu.rmk: Removed.
14545 * conf/common.rmk: Removed.
14546 * conf/i386-coreboot.rmk: Removed.
14547 * conf/i386-efi.rmk: Removed.
14548 * conf/i386-ieee1275.rmk: Removed.
14549 * conf/i386-multiboot.rmk: Removed.
14550 * conf/i386-pc.rmk: Removed.
14551 * conf/i386-qemu.rmk: Removed.
14552 * conf/i386.rmk: Removed.
14553 * conf/mips-yeeloong.rmk: Removed.
14554 * conf/mips.rmk: Removed.
14555 * conf/powerpc-ieee1275.rmk: Removed.
14556 * conf/sparc64-ieee1275.rmk: Removed.
14557 * conf/tests.rmk: Removed.
14558 * conf/x86-efi.rmk: Removed.
14559 * conf/x86_64-efi.rmk: Removed.
14560 * gendistlist.sh: Removed.
14561 * geninitheader.sh: Removed.
14562 * genkernsyms.sh.in: Removed.
14563 * genmk.rb: Removed.
14564 * gensymlist.sh.in: Removed.
14565 * mkinstalldirs: Removed.
14566 * boot: Moved ...
14567 * grub-core/boot: ... to here.
14568 * bus: Moved ...
14569 * grub-core/bus: ... to here.
14570 * commands: Moved ...
14571 * grub-core/commands: ... to here.
14572 * disk: Moved ...
14573 * grub-core/disk: ... to here.
14574 * efiemu: Moved ...
14575 * grub-core/efiemu: ... to here.
14576 * font: Moved ...
14577 * grub-core/font: ... to here.
14578 * fs: Moved ...
14579 * grub-core/fs: ... to here.
14580 * gencmdlist.sh: Moved ...
14581 * grub-core/gencmdlist.sh: ... to here.
14582 * genemuinit.sh: Moved ...
14583 * grub-core/genemuinit.sh: ... to here.
14584 * genemuinitheader.sh: Moved ...
14585 * grub-core/genemuinitheader.sh: ... to here.
14586 * genfslist.sh: Moved ...
14587 * grub-core/genfslist.sh: ... to here.
14588 * genhandlerlist.sh: Moved ...
14589 * grub-core/genhandlerlist.sh: ... to here.
14590 * genmoddep.awk: Moved ...
14591 * grub-core/genmoddep.awk: ... to here.
14592 * genmodsrc.sh: Moved ...
14593 * grub-core/genmodsrc.sh: ... to here.
14594 * genpartmaplist.sh: Moved ...
14595 * grub-core/genpartmaplist.sh: ... to here.
14596 * genparttoollist.sh: Moved ...
14597 * grub-core/genparttoollist.sh: ... to here.
14598 * genterminallist.sh: Moved ...
14599 * grub-core/genterminallist.sh: ... to here.
14600 * gentrigtables.c: Moved ...
14601 * grub-core/gentrigtables.c: ... to here.
14602 * genvideolist.sh: Moved ...
14603 * grub-core/genvideolist.sh: ... to here.
14604 * gettext: Moved ...
14605 * grub-core/gettext: ... to here.
14606 * gfxmenu: Moved ...
14607 * grub-core/gfxmenu: ... to here.
14608 * gnulib: Moved ...
14609 * grub-core/gnulib: ... to here.
14610 * hello: Moved ...
14611 * grub-core/hello: ... to here.
14612 * hook: Moved ...
14613 * grub-core/hook: ... to here.
14614 * io: Moved ...
14615 * grub-core/io: ... to here.
14616 * kern: Moved ...
14617 * grub-core/kern: ... to here.
14618 * lib: Moved ...
14619 * grub-core/lib: ... to here.
14620 * loader: Moved ...
14621 * grub-core/loader: ... to here.
14622 * mmap: Moved ...
14623 * grub-core/mmap: ... to here.
14624 * normal: Moved ...
14625 * grub-core/normal: ... to here.
14626 * partmap: Moved ...
14627 * grub-core/partmap: ... to here.
14628 * parttool: Moved ...
14629 * grub-core/parttool: ... to here.
14630 * script: Moved ...
14631 * grub-core/script: ... to here.
14632 * term: Moved ...
14633 * grub-core/term: ... to here
14634 * tests/example_functional_test.c: Moved ...
14635 * grub-core/tests/example_functional_test.c: ... to here.
14636 * tests/lib/functional_test.c: Moved ...
14637 * grub-core/tests/lib/functional_test.c: ... to here.
14638 * tests/lib/test.c: Moved ...
14639 * grub-core/tests/lib/test.c: ... to here.
14640 * video: Moved ...
14641 * grub-core/video: ... to here.
14642
645586e6
BC
146432010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14644
14645 Replace --enable-grub-emu-modules with grub-emu-lite.
14646
14647 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
14648 cache.S.
14649
14650 * include/grub/emu/misc.h (grub_emu_init): New prototype.
14651 * kern/emu/full.c: New file. For grub-emu specific initialization.
14652 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
14653 * kern/emu/main.c: Call initialization function grub_emu_init.
14654
14655 * Makefile.in: Include grub-emu-lite in install.
14656 * commands/parttool.c: Use grub_no_autoload to differentiate
14657 between grub-emu and grub-emu-lite.
14658 * include/grub/misc.h: New variable grub_no_autoload.
14659
14660 * conf/any-emu.rmk: New rules for grub-emu-lite.
14661 * configure.ac: Remove --enable-grub-emu-modules.
14662 * genmk.rb: Cleanup unnecessary rules.
14663 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
14664
14665 * normal/main.c: Don't load list files on grub-emu-lite.
14666 * util/misc.c (grub_arch_sync_caches): Removed.
14667
f86a4030
CW
146682010-08-23 Colin Watson <cjwatson@ubuntu.com>
14669
14670 * kern/mips/startup.S (grub_prefix): Update comment to refer to
14671 grub-mkimage rather than grub-mkelfimage.
14672 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14673
06776944
VS
146742010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14675
14676 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
14677 a key after CapsLock or NumLock. It's just a qemu bug.
14678
df262419
VS
146792010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14680
14681 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
14682 needed by libusb wrapper.
14683
b40ea81b
ST
146842010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14685
14686 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
14687
dee50575
VS
146882010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14689
14690 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
14691 --nounzip is passed.
14692
fb1d7b79
VS
146932010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
14694
14695 USB hotunplugging and USB serial support.
14696
14697 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
14698 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
14699 (grub_uhci_transfer): Respect timeout and set *actual.
14700 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
14701 non-standard length.
14702 (grub_usb_device_attach): Autoload modules.
14703 (GRUB_MOD_INIT): Set grub_term_poll_usb.
14704 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
14705 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
14706 users updated.
14707 (grub_usb_add_hub): Fill nports and children.
14708 (attach_root_port): Receive hub instead of controller.
14709 All users updated. Fill hub->devices.
14710 (grub_usb_root_hub): Allocate hub->devices.
14711 (detach_device): New function.
14712 (poll_nonroot_hub): Fill children and detach devices.
14713 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
14714 actual arguments. All users updated.
14715 (grub_usb_bulk_read_extended): New function.
14716 * bus/usb/serial/common.c: New file.
14717 * bus/usb/serial/ftdi.c: Likewise.
14718 * bus/usb/serial/pl2303.c: Likewise.
14719 * commands/terminal.c (handle_command): Support wildcard.
14720 * commands/usbtest.c: Output "Unknown" instead of empty string.
14721 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
14722 (usbserial_common_mod_SOURCES): New variable.
14723 (usbserial_common_mod_CFLAGS): Likewise.
14724 (usbserial_common_mod_LDFLAGS): Likewise.
14725 (pkglib_MODULES): Add usbserial_pl2303.mod.
14726 (usbserial_pl2303_mod_SOURCES): New variable.
14727 (usbserial_pl2303_mod_CFLAGS): Likewise.
14728 (usbserial_pl2303_mod_LDFLAGS): Likewise.
14729 (pkglib_MODULES): Add usbserial_ftdi.mod.
14730 (usbserial_ftdi_mod_SOURCES): New variable.
14731 (usbserial_ftdi_mod_CFLAGS): Likewise.
14732 (usbserial_ftdi_mod_LDFLAGS): Likewise.
14733 (pkglib_MODULES): Add serial.mod.
14734 (serial_mod_SOURCES): New variable.
14735 (serial_mod_CFLAGS): Likewise.
14736 (serial_mod_LDFLAGS): Likewise.
14737 * conf/i386-pc.rmk: Likewise.
14738 * conf/mips-yeeloong.rmk: Likewise.
14739 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
14740 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14741 * disk/usbms.c (first_available_slot): New variable.
14742 (grub_usbms_attach): Don't reuse free slots due to potential cache
14743 problems.
14744 * include/grub/serial.h: Moved to ..
14745 * include/grub/ns8250.h: ...this.
14746 * include/grub/serial.h: New file.
14747 * include/grub/term.h (grub_term_poll_usb): New variable.
14748 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
14749 readkey. All users updated.
14750 (grub_terminfo_output_state): Pass term to put.
14751 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
14752 (grub_usb_controller_dev): Add timeout and actual arguments to
14753 transfer. All users updated.
14754 (grub_usb_interface): New field detach_data.
14755 (grub_usb_device): New fields children and nports.
14756 (grub_usb_ep_type_t): New type.
14757 (grub_usb_get_ep_type): New function.
14758 (grub_usb_bulk_read_extended): Likewise.
14759 * include/grub/usbdesc.h (grub_usb_desc): New type.
14760 * include/grub/usbserial.h: New file.
14761 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
14762 * kern/term.c (grub_term_poll_usb): New variable.
14763 (grub_getkey): Call grub_term_poll_usb if set.
14764 (grub_checkkey): Likewise.
14765 (grub_getkeystatus): Likewise.
14766 * term/serial.c: Moved controller-specific parts to ...
14767 * term/ns8250.c: ... here.
14768 * term/serial.c: Mostly rewritten.
14769 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
14770 according to spec.
14771
21a313de
RM
147722010-08-20 Robert Millan <rmh@gnu.org>
14773
14774 Make kFreeBSD code more generic to support ext2fs as root, ufs as
14775 a separate module and maybe other interesting combinations.
14776
14777 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
14778 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
14779 (kfreebsd_entry): Add generic filesystem module load routine.
14780 Map GRUB `ext2' to kFreeBSD `ext2fs'.
14781
63c734a6
CW
147822010-08-20 Colin Watson <cjwatson@ubuntu.com>
14783
14784 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
14785 "numcenter" (I misunderstood the purpose of this entry).
14786 * docs/grub.texi (sendkey): Likewise.
14787
c4d16542
CW
147882010-08-20 Colin Watson <cjwatson@ubuntu.com>
14789
14790 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
14791 status flag options; simply omitting the option is equivalent and
14792 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
14793 (keysym_table): Rename "num5numlock" to "numlock".
14794 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
14795 can uniformly say that only the last of multiple `sendkey'
14796 invocations has any effect.
14797 * docs/grub.texi (sendkey): New section.
14798
93541d66
CW
147992010-08-19 Colin Watson <cjwatson@ubuntu.com>
14800
14801 * commands/i386/pc/sendkey.c (options): Fix three typos.
14802
b4ece5e1
VS
148032010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14804
14805 Implement sendkey support.
14806
14807 * commands/i386/pc/sendkey.c: New file.
14808 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
14809 (sendkey_mod_SOURCES): New variable.
14810 (sendkey_mod_CFLAGS): Likewise.
14811 (sendkey_mod_LDFLAGS): Likewise.
14812
51f1f5af
CW
148132010-08-18 Colin Watson <cjwatson@ubuntu.com>
14814
14815 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
14816 fix warnings from Autoconf.
14817
9da94e05
CW
148182010-08-18 Colin Watson <cjwatson@ubuntu.com>
14819
14820 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
14821 to avoid false positives with some assemblers that output things
14822 like "someprefix_func" as part of their output.
14823
729a0f2e
RM
148242010-08-15 Robert Millan <rmh@gnu.org>
14825
14826 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
14827 errors.
14828 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
14829 grub_get_libzfs_handle() errors.
14830
f3710e08
RM
148312010-08-14 Robert Millan <rmh@gnu.org>
14832
14833 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
14834 filesystem is not ZFS.
14835
7a3c13de
BC
148362010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14837
14838 Fix for misspelled color names defaulting to black/black (bug
14839 reported by Doug Nazar)
14840
14841 * include/grub/normal.h (grub_parse_color_name_pair): Add return
14842 status to prototype.
14843 * normal/color.c (grub_parse_color_name_pair): Return failure
14844 status.
14845 (grub_env_write_color_normal): Ignore bad color names.
14846 (grub_env_write_color_highlight): Likewise.
14847 * normal/main.c (GRUB_MOD_INIT): Set default color names.
14848
ab8ba50d
BC
148492010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14850
14851 "shift" command support to GRUB script.
14852
14853 * include/grub/script_sh.h (grub_script_shift): New prototype.
14854 * script/execute.c (grub_script_shift): New function.
14855 * script/main.c (grub_script_init): Register shift command.
14856 (grub_script_fini): Unregister shift command.
14857 * util/grub-script-check.c (grub_script_cmd_shift): New function.
14858
14859 * tests/grub_script_shift.in: New testcase.
14860 * conf/tests.rmk: Rules for new testcase.
14861
4d61999e
BC
148622010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14863
14864 "continue" command support to GRUB script.
14865
14866 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
14867 (grub_script_break): Continue support.
14868 * script/main.c (grub_script_init): Register continue command.
14869 (grub_script_fini): Unregister continue command.
14870
14871 * tests/grub_script_continue.in: New testcase.
14872 * conf/tests.rmk: Rules for new testcase.
14873
4df51e00
BC
148742010-08-12 BVK Chaitanya <bvk@dbook>
14875
14876 "break" command support to GRUB script.
14877
14878 * conf/common.rmk: Rule updates to grub-script-check.
14879 * include/grub/misc.h (grub_min): New function.
14880 * include/grub/script_sh.h (grub_script_init): New prototype.
14881 (grub_script_fini): New prototype.
14882 (grub_script_break): New prototype.
14883 * script/main.c (grub_script_init): New function.
14884 (grub_script_fini): New function.
14885 * script/execute.c (grub_script_break): New function.
14886 * normal/main.c: Calls to grub_script_{init,fini}.
14887 * util/grub-script-check.c (grub_script_break): New function.
14888
14889 * tests/grub_script_break.in: New testcase.
14890 * conf/tests.rmk: Rules for new test case.
14891
f12c8420
BC
148922010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14893
14894 Function parameters support to GRUB script.
14895
14896 * script/yylex.l (VARIABLE): Regular expression update.
14897 * script/function.c (grub_script_function_call): Moved ...
14898 * script/execute.c (grub_script_function_call): ... to here.
14899 (grub_script_execute_arglist_to_argv): Removed.
14900 (grub_script_arglist_to_argv): New function.
14901 * script/argv.c: New file.
14902 (grub_script_argv_free): New function.
14903 (grub_script_argv_next): Likewise.
14904 (grub_script_argv_append): Likewise.
14905 (grub_script_argv_split_append): Likewise.
14906 * include/grub/script_sh.h (grub_script_argv): New struct.
14907 (grub_script_argv_free): New function.
14908 (grub_script_argv_next): Likewise.
14909 (grub_script_argv_append): Likewise.
14910 (grub_script_argv_split_append): Likewise.
14911
14912 * conf/common.rmk (normal.mod): New source script/argv.c.
14913
14914 * tests/grub_script_echo1.in: More tests.
14915 * tests/grub_script_vars1.in: Likewise.
14916 * tests/grub_script_functions.in: New test case.
14917 * conf/tests.rmk: Rules for new testcase.
14918
8022b748
BC
149192010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14920
14921 Remove grub_script_cmdblock struct.
14922
14923 * include/grub/script_sh.h: Remove grub_script_cmdblock.
14924 * script/parser.y: Likewise.
14925 * script/execute.c: Rename cmdblock suffix to cmdlist.
14926 * script/script.c: Likewise.
14927 * util/grub-script-check.c: Likewise.
14928
79a6ba61
YB
149292010-08-11 Yves Blusseau <blusseau@zetam.org>
14930
14931 * .bzrignore: add grub-macho2img
14932
d04b9414
VS
149332010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
14936
f947ab49
VS
149372010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14938
14939 Remove the dump of sm712 initialisation sequence.
14940
14941 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
14942 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
14943 (GRUB_VGA_IO_MISC_WRITE): Likewise.
14944 (GRUB_VGA_CR_*): Added many registers.
14945 (GRUB_VGA_SR_*): Likewise.
14946 (GRUB_VGA_GR_*): Likewise.
14947 (grub_vga_write_arx): New function.
14948 (grub_video_hw_config): New struct.
14949 (grub_vga_set_geometry): New function.
14950 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
14951 GRUB_PCI_CLASS_SUBCLASS_VGA.
14952 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
14953 * video/sm712.c (grub_sm712_write_reg): New function
14954 (grub_sm712_read_reg): Likewise.
14955 (grub_sm712_sr_write): Likewise.
14956 (grub_sm712_gr_write): Likewise.
14957 (grub_sm712_cr_write): Likewise.
14958 (grub_sm712_write_arx): Likewise.
14959 (grub_sm712_cr_shadow_write): Likewise.
14960 (grub_sm712_write_dda_lookup): Likewise.
14961 (grub_video_sm712_setup): Initialise the video rather then
14962 blindly replay the dump.
14963 (main) [TEST]: Add a routine to be able to compile as standalone for
14964 tests.
14965 * video/sm712_init.c (sm712_init): Removed.
14966 (sm712_sr_seq1): New array.
14967 (sm712_sr_seq2): Likewise.
14968
f0206638
VS
149692010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14970
14971 * include/grub/vga.h: Add missing grub/pci.h include.
14972
2764da3b
YB
149732010-08-10 Yves Blusseau <blusseau@zetam.org>
14974
14975 * util/grub-macho2img.c (main): fix typo
14976
cf0c775e
VS
149772010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
14980 (grub_vga_gr_read): Likewise.
14981 (grub_vga_cr_write): Likewise.
14982 (grub_vga_cr_read): Likewise.
14983 (grub_vga_sr_write): Likewise.
14984 (grub_vga_sr_read): Likewise.
14985 (grub_vga_palette_read): Likewise.
14986 (grub_vga_palette_write): Likewise.
14987 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
14988 (grub_sm712_sr_read): New function.
14989 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
14990 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
14991
07f360e9
RM
149922010-08-09 Robert Millan <rmh@gnu.org>
14993
14994 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
14995 out unused variables on non-ZFS build.
14996
346c2072
RM
149972010-08-08 Robert Millan <rmh@gnu.org>
14998
14999 Fix path generation for sub-filesystems in ZFS.
15000
15001 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
15002 missing slash.
15003
71175420
RM
150042010-08-08 Robert Millan <rmh@gnu.org>
15005
15006 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
15007
0d8286f3
RM
150082010-08-08 Robert Millan <rmh@gnu.org>
15009
15010 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
15011 exist, issue a proper error message (rely on `ls' for translated
15012 strings).
15013
55dd2924
RM
150142010-08-08 Robert Millan <rmh@gnu.org>
15015
15016 Fix grub-probe invocation.
15017
15018 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
15019
d3dd9e80
RM
150202010-08-04 Robert Millan <rmh@gnu.org>
15021
15022 * configure.ac: Remove checks for getfsstat() and getmntany().
15023 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
15024 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
15025 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
15026 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
15027 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
15028 function.
15029 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
15030 via find_mount_point_from_dir() and getfsstat() / getmntany().
15031
0de22aa9
RM
150322010-08-04 Robert Millan <rmh@gnu.org>
15033
15034 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15035 (grub_find_zpool_from_mount_point): Merge into ...
15036 (grub_find_zpool_from_dir): ... this.
15037 * kern/emu/misc.c: Likewise.
15038
15039 * kern/emu/misc.c
15040 (grub_make_system_path_relative_to_its_root): Replace
15041 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
15042 with grub_find_zpool_from_dir().
15043 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
15044
62858144
RM
150452010-08-04 Robert Millan <rmh@gnu.org>
15046
15047 Support OpenSolaris in ZFS device resolution.
15048
15049 * configure.ac: Check for getmntany().
15050 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
15051 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
15052 support.
15053
9dd6fd50
RM
150542010-08-03 Robert Millan <rmh@gnu.org>
15055
15056 Fix grub-emu build.
15057
15058 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
15059 * include/grub/emu/misc.h: ... here.
15060
15061 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
15062 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
15063
15064 * util/misc.c: Remove `<grub/util/libzfs.h>'.
15065 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
15066 (grub_get_libzfs_handle): Move to ...
15067 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
15068 (grub_get_libzfs_handle): ... here.
15069
c9f7ff97
BC
150702010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
15071
15072 * script/execute.c (grub_script_execute_cmdline): Check for NULL
15073 as command name case.
15074
a870a783
CW
150752010-08-02 Colin Watson <cjwatson@ubuntu.com>
15076
15077 * disk/raid.c (insert_array): Select unique numbers for named arrays
15078 as well, for use as keys in the disk cache.
15079
c7db243b
RM
150802010-08-01 Robert Millan <rmh@gnu.org>
15081
15082 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
15083 kFreeBSD device name, except on ZFS where the filesystem label is
15084 used.
15085 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
15086 `/boot/zfs/zpool.cache'.
15087 Set mountfrom kernel variable using ${kfreebsd_device}.
15088
f7abdefb
RM
150892010-08-01 Robert Millan <rmh@gnu.org>
15090
15091 Make it even harder to use uninitialized `libzfs_handle' (and
15092 make the interface a bit simpler).
15093
15094 * include/grub/util/misc.h (grub_util_init_libzfs)
15095 (libzfs_handle): Remove.
15096 (grub_get_libzfs_handle): New prototype.
15097
15098 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
15099 attribute.
15100 (grub_util_init_libzfs): Remove.
15101 (grub_get_libzfs_handle): New function.
15102
15103 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
15104 grub_get_libzfs_handle() to obtain a libzfs handle instead of
15105 accessing `libzfs_handle' directly.
15106
c882acc0
RM
151072010-08-01 Robert Millan <rmh@gnu.org>
15108
15109 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15110 (grub_find_zpool_from_mount_point): New function prototypes.
15111
15112 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15113 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15114
15115 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15116 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15117 `static' attribute.
15118
15119 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15120 finding zpool from mount point into ...
15121 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15122
15123 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15124 requested path is part of a ZFS pool, use
15125 grub_find_zpool_from_mount_point() to detect its filesystem name,
15126 and generate a path with `/fsname@path' syntax.
15127
8bfe31d8
CW
151282010-08-01 Colin Watson <cjwatson@ubuntu.com>
15129
15130 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
15131 (void) rather than () so that this is a proper prototype.
15132
553df63d
VS
151332010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15134
15135 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
15136
8687cf07
VS
151372010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15138
15139 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
15140 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
15141
ea9be8ea
CW
151422010-08-01 Colin Watson <cjwatson@ubuntu.com>
15143
15144 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
15145
6eea041a
CW
151462010-08-01 Colin Watson <cjwatson@ubuntu.com>
15147
15148 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
15149
2cfb45df
CW
151502010-08-01 Colin Watson <cjwatson@ubuntu.com>
15151
15152 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
15153 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
15154 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
15155 disable gfxpayload.
15156 (Shell-like scripting): Add real content.
15157 (Serial terminal): Suggest `terminal_input serial; terminal_output
15158 serial' rather than putting the two commands on separate lines,
15159 since console input will be inoperative after the first command.
15160 (menuentry): Document --class, --users, and --hotkey options.
15161 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
15162 Vladimir Serbinenko).
15163
7decd202
VS
151642010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
151652010-08-01 Colin Watson <cjwatson@ubuntu.com>
15166
15167 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
15168
c882acc0
RM
151692010-08-01 Robert Millan <rmh@gnu.org>
15170
15171 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15172 (grub_find_zpool_from_mount_point): New function prototypes.
15173
15174 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15175 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15176
15177 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15178 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15179 `static' attribute.
15180
15181 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15182 finding zpool from mount point into ...
15183 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15184
15185 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15186 requested path is part of a ZFS pool, use
15187 grub_find_zpool_from_mount_point() to detect its filesystem name,
15188 and generate a path with `/fsname@path' syntax.
15189
deb0caa3
RM
151902010-08-01 Robert Millan <rmh@gnu.org>
15191
15192 Prevent accidental use of uninitialized libzfs_handle.
15193
15194 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
15195 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
15196 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
15197
ce04ef47
CW
151982010-08-01 Colin Watson <cjwatson@ubuntu.com>
15199
15200 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
15201 util/grub.d/10_linux.in). Fixes Debian bug #591093.
15202
ebf53056
RM
152032010-08-01 Robert Millan <rmh@gnu.org>
15204
15205 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 15206
3710bb6b
RM
152072010-07-31 Robert Millan <rmh@gnu.org>
15208
15209 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
15210
8072efeb
RM
152112010-07-31 Robert Millan <rmh@gnu.org>
15212
15213 * kern/emu/misc.c: Add missing license header.
15214
3169f4c7
RM
152152010-07-31 Robert Millan <rmh@gnu.org>
15216
15217 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
15218
15219 * include/grub/util/libnvpair.h: Include `<config.h>'.
15220 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
15221 declaring libnvpair prototypes ourselves.
15222 * include/grub/util/libzfs.h: Include `<config.h>'.
15223 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
15224 declaring libzfs prototypes ourselves.
15225
15226 (libzfs_handle): Moved to ...
15227 * include/grub/util/misc.h (libzfs_handle): ... here.
15228 Include `<grub/util/libzfs.h>'.
15229
c9a00aee
RM
152302010-07-30 Robert Millan <rmh@gnu.org>
15231
15232 * include/grub/emu/misc.h: Add missing license header.
15233
a184f9c8
RM
152342010-07-30 Robert Millan <rmh@gnu.org>
15235
15236 Enable `grub-probe -t device' resolution on ZFS.
15237
15238 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
15239 * include/grub/util/libnvpair.h: New file.
15240 * include/grub/util/libzfs.h: New file.
15241
15242 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
15243 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
15244 `<grub/util/libnvpair.h>'.
15245 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
15246
15247 (find_mount_point_from_dir): New static function.
15248 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
15249 function.
15250 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
15251 find_root_device_from_libzfs() before ressorting to find_root_device().
15252
15253 * include/grub/util/misc.h (grub_util_init_libzfs): New function
15254 prototype.
15255 * util/misc.c: Include `<grub/util/libzfs.h>'.
15256 (grub_util_init_libzfs): New function.
15257 [HAVE_LIBZFS] (libzfs_handle): New global variable.
15258 [HAVE_LIBZFS] (fini_libzfs): New static function.
15259 (grub_util_init_libzfs): New function.
15260 * util/grub-probe.c (main): Call grub_util_init_libzfs().
15261
f7790cdd
RM
152622010-07-30 Robert Millan <rmh@gnu.org>
15263
15264 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
15265 (xmalloc, xrealloc, xstrdup, xasprintf): Add
15266 `warn_unused_result' attribute.
15267 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
15268 (grub_xasprintf, grub_xvasprintf): Likewise.
15269 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
15270
0806b63c
RM
152712010-07-29 Robert Millan <rmh@gnu.org>
15272
15273 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
15274 (probe): Handle `PRINT_FS_LABEL'.
15275 (main): Handle `-t fs_label'.
15276
9f841f5c
RM
152772010-07-29 Robert Millan <rmh@gnu.org>
15278
15279 * configure.ac: Remove grub-mkisofs checks.
15280
46371121
VS
152812010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15284 Reported by: Lennart Sorensen.
15285
152862010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15287
15288 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15289 prior to terminal_input/terminal_output separation. It's been over 1.5
15290 years and those versions weren't widely deployed.
15291
a9600892
CW
152922010-07-22 Colin Watson <cjwatson@ubuntu.com>
15293
15294 * disk/raid.c (insert_array): Don't count named arrays when looking
15295 for unused array numbers.
697e053c 15296 Reported and tested by: Michael Guntsche.
a9600892 15297
c03507df
CW
152982010-07-20 Colin Watson <cjwatson@ubuntu.com>
15299
15300 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15301 implementation of this so that grub-emu links again, with a note
15302 that this should support hotplugging in the future.
15303
b26f1c11
CW
153042010-07-20 Colin Watson <cjwatson@ubuntu.com>
15305
15306 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15307
efc9d7f1
CW
153082010-07-20 Colin Watson <cjwatson@ubuntu.com>
15309
15310 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15311 handle on failure.
15312 (grub_loopback_close): Remove empty function.
15313 (grub_loopback_dev): Remove close method.
15314
dd8ff5c9
CW
153152010-07-20 Colin Watson <cjwatson@ubuntu.com>
15316
15317 Disable EFI cursor when the EFI console becomes inactive.
15318
15319 * term/efi/console.c (grub_efi_console_init): New function.
15320 (grub_efi_console_fini): New function.
15321 (grub_console_term_output): Register init and fini methods.
15322
5e3bec67
VS
153232010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15324
15325 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15326 sh script.
15327
afaec079
VS
153282010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15329
15330 * disk/loopback.c (grub_loopback): Replace filename with file.
15331 (delete_loopback): Handle new semantics.
15332 (grub_cmd_loopback): Likewise.
15333 (grub_loopback_iterate): Likewise.
15334 (grub_loopback_close): Likewise.
15335
a6a11f3c
VS
153362010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15337
15338 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
15339 with -p "".
15340 Reported by: Tito Keitel.
15341
64a638b0
VS
153422010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15343
15344 * docs/grub.texi (Naming convention): Document new naming convention.
15345
ab8ba957
VS
153462010-07-20 Vadim Solomin <vadic052@gmail.com>
153472010-07-20 Colin Watson <cjwatson@ubuntu.com>
15348
15349 Generate device.map in something closer to the old ordering.
15350
15351 * util/deviceiter.c (struct device): New declaration.
15352 (compare_file_names): Rename to ...
15353 (compare_devices): ... this. Sort by kernel name in preference to
15354 the stable by-id name, but keep the latter as a fallback comparison.
15355 Update header comment.
15356 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
15357 of `struct device' rather than of plain file names.
15358
a29d6a4b
TF
153592010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
15360
15361 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
15362 on i386.
15363
39d824e8
VS
153642010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15365
15366 * commands/acpi.c (setup_common_tables): Use sizeof instead of
15367 hardcoding size.
15368 (setv1table): Likewise.
15369
f058276b
FZ
153702010-07-20 Colin Watson <cjwatson@ubuntu.com>
15371
15372 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
15373 removing the homehost if present.
15374 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
15375 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
15376 removing the homehost if present.
15377 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
15378 if possible.
15379 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
15380
15381 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
15382 parameter. Set its pointer target to 0.
15383 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
15384 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
15385 `data_offset' value from the superblock for 1.x metadata.
15386 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
15387 data on the device.
15388 (insert_array): Record the start sector of data on the device.
15389 (grub_raid_register): Pass start_sector parameters to
15390 grub_raid_list->detect and insert_array.
15391 * include/grub/raid.h (struct grub_raid_array): Add start_sector
15392 member.
15393 (struct grub_raid): Add start_sector parameter to `detect'.
15394
15395 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
15396 __attribute__ ((packed)), leaving a comment.
15397 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
15398 (grub_mdraid_detect_09): ... here and ...
15399 (grub_mdraid_detect_1x): ... here.
15400
154012010-07-20 Peter Henn <peter.henn@web.de>
15402
15403 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
15404 chunk size and disk size, which are already given as sector counts
15405 as distinct from the 0.90 units. Fetch the correct device number
15406 from the role table instead of using the table index.
15407
154082010-07-20 Felix Zielcke <fzielcke@z-51.de>
15409
15410 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
15411 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
15412 (WriteMostly1): New macro.
15413 Set array->name to NULL for metadata format 0.90. Add support for
15414 metadata 1.x. Fix some comments.
15415 * disk/raid.c (): Add support for name based RAID arrays. Fix a
15416 few comments.
15417 * util/getroot.c (grub_util_get_grub_dev): Add support for
15418 /dev/md/name style devices.
15419
4b761da9
CW
154202010-07-20 Colin Watson <cjwatson@ubuntu.com>
15421
15422 * .bzrignore: Ignore 20_linux_xen.
15423
5771289a
CW
154242010-07-17 Colin Watson <cjwatson@ubuntu.com>
15425
15426 * util/import_unicode.py: Remove unnecessary imports.
15427
5dab68df
AN
154282010-07-17 Aleš Nesrsta <starous@volny.cz>
15429
15430 Hotplugging and USB hub support.
15431
15432 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
15433 (grub_ohci): Likewise.
15434 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
15435 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
15436 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
15437 (GRUB_OHCI_CTRL_EDS): Likewise.
15438 (GRUB_OHCI_BULK_EDS): Likewise.
15439 (GRUB_OHCI_TDS): Likewise.
15440 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
15441 (grub_ohci_ed_phys2virt): New function.
15442 (grub_ohci_virt_to_phys): Likewise.
15443 (grub_ohci_td_phys2virt): Likewise.
15444 (grub_ohci_td_virt2phys): Likewise.
15445 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
15446 attachment.
15447 (grub_ohci_find_ed): New function.
15448 (grub_ohci_alloc_td): Likewise.
15449 (grub_ohci_free_td): Likewise.
15450 (grub_ohci_free_tds): Likewise.
15451 (grub_ohci_transfer): Use previously allocated memory.
15452 (grub_ohci_portstatus): Reset status changed bit.
15453 (grub_ohci_detect_dev): Supply status changed.
15454 (grub_ohci_fini_hw): Free memory.
15455 (grub_ohci_restore_hw): Reallocate memory.
15456 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
15457 Reset status change.
15458 (grub_uhci_detect_dev): Supply status_change.
15459 * bus/usb/usb.c (attach_hooks): New var.
15460 (grub_usb_device_attach): New function.
15461 (grub_usb_register_attach_hook_class): Likewise.
15462 (grub_usb_unregister_attach_hook_class): Likewise.
15463 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
15464 (grub_usb_add_hub): Reset connection changed bit.
15465 (attach_root_port): New function.
15466 (grub_usb_root_hub): Likewise.
15467 (poll_nonroot_hub): Likewise.
15468 (grub_usb_poll_devices): Likewise.
15469 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
15470 * disk/usbms.c (grub_usbms_open): Use device hooks.
15471 (grub_usbms_iterate) :Poll devices.
15472 (grub_usbms_finddevs): Split into ...
15473 (grub_usbms_attach): ... this ...
15474 (grub_usbms_attach): ... and this.
15475 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
15476 in detect_dev.
15477 (grub_usb_interface): New fields attached and detach_hook.
15478 (grub_usb_attach_hook_class): New type.
15479 (grub_usb_attach_desc): New struct.
15480 (grub_usb_register_attach_hook_class): New function.
15481 (grub_usb_unregister_attach_hook_class): Likewise.
15482 (grub_usb_poll_devices): Likewise.
15483 (grub_usb_device_attach): Likewise.
15484 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
15485 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
15486
3222efaf
VS
154872010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15488
15489 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
15490 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
15491 delta determination style. Works with most NetBSD partitions too.
15492
139b714a
VS
154932010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15494
15495 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
15496 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
15497
986aad56
VS
154982010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15499
15500 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
15501
99be513c
AB
155022010-07-14 Anton Blanchard <anton@samba.org>
15503
15504 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
15505 ET_DYN files.
15506
18075f62
GS
155072010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15508
15509 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
15510
8d9a5b15
GS
155112010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15512
15513 * kern/partition.c (grub_partition_check_containment): New function to
15514 check that a partition is physically contained in a parent. Since
15515 offsets are relative (and non-negative), this reduces to checking that
15516 the partition ends before its parent.
15517 (grub_partition_map_probe): Discard out-of-range sub-partitions.
15518 (grub_partition_iterate): Likewise.
15519 * include/grub/partition.h (grub_partition_map): Slightly more detailed
15520 comments.
15521 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
15522 partitions that start before their parent, and add debug printfs.
15523
19563c25
CW
155242010-07-13 Colin Watson <cjwatson@ubuntu.com>
15525
15526 * Makefile.in (.SUFFIX): Spell correctly, as ...
15527 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
15528 bare module name without `.mod', e.g. `test') tried to invoke a
15529 Modula-2 compiler.
15530
1a1f1e67
CW
155312010-07-13 Colin Watson <cjwatson@ubuntu.com>
15532
15533 * README: Point to the Info manual.
15534
811b0dca
JS
155352010-07-13 Jiro SEKIBA <jir@unicus.jp>
15536
15537 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
15538 2nd superblock position from partition size.
15539
e4f4eafc
CW
155402010-07-10 Colin Watson <cjwatson@ubuntu.com>
15541
15542 * Makefile.in (MAINTAINER_CLEANFILES): Remove
15543 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
15544 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
15545 outputs.
15546
4274c30f
VS
155472010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 Restructure SCSI .id handling.
15550 Reported and tested by: Aleš Nesrsta.
15551
15552 * disk/ata.c (grub_atapi_close): Removed. All users updated.
15553 (grub_atapi_dev): Changed .name to "ata". New field .id.
15554 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
15555 (grub_usbms_dev): New field .id.
15556 * disk/scsi.c (grub_scsi_iterate): Generate name.
15557 (grub_scsi_open): Parse name.
15558 * include/grub/scsi.h (grub_make_scsi_id): New function.
15559 (grub_scsi_dev): Change iterate and open to number instead of naming
15560 busses. All users updated.
15561 (grub_scsi): Remove name. Add .bus.
15562
5bc24388
VS
155632010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15564
15565 * commands/help.c (grub_cmd_help): Fix a typo.
15566
249975ba
VS
155672010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15568
15569 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
15570 Reported and tested by: Colin Watson.
15571
3eaac1a1
VS
155722010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15573
15574 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
15575 in this context.
15576
becce1b1
VS
155772010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15578
15579 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
15580
f7bf0918
CW
155812010-07-07 Colin Watson <cjwatson@ubuntu.com>
15582
15583 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
15584 indentation.
15585
0b0f9620
CW
155862010-07-06 Colin Watson <cjwatson@ubuntu.com>
15587
15588 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
15589 and disk/raid6_recover.c.
15590 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15591 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15592
1e545469
CW
155932010-07-06 Colin Watson <cjwatson@ubuntu.com>
15594
15595 * term/gfxterm.c (repaint_schedulded): Rename to ...
15596 (repaint_scheduled): ... this. Update all callers.
15597 (repaint_was_schedulded): Rename to ...
15598 (repaint_was_scheduled): ... this. Update all callers.
15599
5357687a
CW
156002010-07-06 Colin Watson <cjwatson@ubuntu.com>
15601
15602 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
15603 which we expect to be handled by upper layers.
15604
29d7e783
BC
156052010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
15606
15607 * bus/usb/usbhub.c: #include time.h header.
15608
37582066
CW
156092010-07-06 Colin Watson <cjwatson@ubuntu.com>
15610
15611 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
15612 entry_name also for entries without stat blocks (e.g. ".."); fixes
15613 corruption of the first entry in a directory.
15614
c8c06953
CW
156152010-07-06 Colin Watson <cjwatson@ubuntu.com>
15616
15617 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
15618 after setting gfxterm as the active terminal. GRUB_BACKGROUND
15619 doesn't work otherwise.
15620
e75056f1
CW
156212010-07-05 Colin Watson <cjwatson@ubuntu.com>
15622
15623 * docs/grub.texi (Features): Update list of supported file systems.
15624 (GNU/Linux): Update for GRUB 2.
15625 (Serial terminal): Remove mention of --disable-serial, which was a
15626 GRUB Legacy configure option. Update instructions to use
15627 `terminal_input' and `terminal_output' rather than `terminal'.
15628 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
15629 configuration' and `Installing GRUB using grub-install'.
15630 (Menu entry editor): Update for GRUB 2.
15631 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
15632 Document new -a, -u, and -v options.
15633 (initrd): New section.
15634 (initrd16): New section.
15635 (linux): New section.
15636 (linux16): New section.
15637 (search): The `var' argument to `--set' is optional.
15638 (GRUB only offers a rescue shell): Go into a little more detail on
15639 drive ordering.
15640
5cf69151
CW
156412010-07-05 Colin Watson <cjwatson@ubuntu.com>
15642
15643 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
15644
e3f90044
CW
156452010-07-05 Colin Watson <cjwatson@ubuntu.com>
15646
15647 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
15648 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
15649
38d8f4f3
CW
156502010-07-05 Colin Watson <cjwatson@ubuntu.com>
15651
15652 * util/i386/pc/grub-setup.c (setup): Rename prefix to
15653 install_prefix, in line with install_dos_part and install_bsd_part.
15654 Add new prefix variable, which is copied to install_prefix after
15655 comparing core.img in memory with the one read from disk in the
15656 no-embedding case, and use that rather than overwriting
15657 install_prefix immediately when installing to a partition.
15658 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
15659 Bicakci.
15660
57ebd41e
GS
156612010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15662
15663 * configure.ac: Avoid == in test command, it's not portable.
15664 * util/grub.d/30_os-prober.in: Likewise.
15665
cb7f64b2
CW
156662010-07-04 Colin Watson <cjwatson@ubuntu.com>
15667
15668 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
15669
6b654bb0
GS
156702010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15671
15672 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
15673 multiple (top-level) partmaps.
15674
72a2026d
VS
156752010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15676
15677 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 15678 Reported by: Tino Keitel.
72a2026d 15679
df3eb88f
VS
156802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15681
15682 Bidi and diacritics support.
15683
15684 * Makefile.in (widthspec.bin): New target.
15685 (widthspec.h): Likewise.
15686 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
15687 * autogen.sh: Generate unidata.c.
15688 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
15689 * commands/ls.c (grub_ls_list_devices): Likewise.
15690 (grub_ls_list_files): Likewise.
15691 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
15692 (grub_mini_cmd_lsmod): Likewise.
15693 * commands/read.c: Likewise.
15694 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
15695 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
15696 * lib/arg.c (grub_arg_show_help): Likewise.
15697 * lib/crypto.c (grub_password_get): Likewise.
15698 * normal/auth.c (grub_username_get): Likewise.
15699 * normal/misc.c (grub_normal_print_device_info): Likewise.
15700 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
15701 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
15702 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
15703 (normal/charset.c_DEPENDENCIES): New variable.
15704 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
15705 (pkglib_MODULES): Remove charset.mod.
15706 (charset_mod_SOURCES): Removed.
15707 (charset_mod_CFLAGS): Likewise.
15708 (charset_mod_LDFLAGS): Likewise.
15709 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
15710 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
15711 and term/tparm.c.
15712 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15713 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15714 (kernel_img_HEADERS): Add terminfo.h.
15715 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
15716 Fill ->font. Reverse ascii bitmaps.
15717 (grub_font_get_xheight): New function.
15718 * font/font.c (grub_font_get_string_width): Moved from here ...
15719 * gfxmenu/font.c (grub_font_get_string_width): ... here.
15720 * font/font.c (grub_font_draw_string): Moved from here ...
15721 * gfxmenu/font.c (grub_font_draw_string): ... here.
15722 * font/font.c (grub_font_dup_glyph): New function.
15723 (grub_font_blit_glyph): Likewise.
15724 (grub_font_blit_glyph_mirror): Likewise.
15725 (blit_comb): Likewise.
15726 (grub_font_construct_dry_run): Likewise.
15727 (grub_font_get_constructed_device_width): Likewise.
15728 (grub_font_construct_glyph): Likewise.
15729 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
15730 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
15731 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
15732 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
15733 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
15734 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
15735 (grub_font_get_xheight): New proto.
15736 (grub_font_get_constructed_device_width): Likewise.
15737 (grub_font_construct_glyph): Likewise.
15738 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
15739 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
15740 * include/grub/font.h (grub_font_draw_string): Moved from here ...
15741 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
15742 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
15743 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
15744 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
15745 (grub_console_getcharwidth): Likewise.
15746 * include/grub/misc.h (grub_xputs): New proto.
15747 (grub_puts): Inlined.
15748 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
15749 (grub_normal_get_line_counter): Removed.
15750 (grub_install_newline_hook): Likewise.
15751 (grub_normal_get_char_counter): New proto.
15752 (grub_normal_reset_more): Likewise.
15753 (grub_xputs_normal): Likewise.
15754 * include/grub/powerpc/ieee1275/console.h: Removed.
15755 * include/grub/sparc64/ieee1275/console.h: Likewise.
15756 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
15757 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
15758 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
15759 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
15760 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
15761 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
15762 (grub_term_input): Pass reference to self. All users updated.
15763 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
15764 Pass reference to self. New fields normal_color, highlight_color and
15765 data. All users updated.
15766 (grub_putchar): Removed.
15767 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
15768 (grub_unicode_estimate_width): New function.
15769 (grub_term_getcharwidth): Add defaults.
15770 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
15771 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
15772 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
15773 (grub_cls): Remove EXPORT_FUNC.
15774 (grub_setcolorstate): Inline.
15775 (grub_newline_hook): Removed.
15776 * include/grub/terminfo.h: Rewritten. All users updated.
15777 * include/grub/unicode.h: New file.
15778 * include/grub/video.h (grub_video_signed_rect): New type.
15779 * kern/emu/console.c (grub_console_highlight_color): Removed.
15780 (grub_console_normal_color): Likewise.
15781 (grub_console_standard_color): Made static.
15782 (grub_ncurses_putchar): Remove mapping.
15783 (grub_ncurses_getcharwidth): Removed.
15784 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15785 (grub_ncurses_setcolor): Removed.
15786 (grub_ncurses_getcolor): Likewise.
15787 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
15788 (grub_console_putchar): ... this.
15789 (grub_console_putchar): Handle argument difference.
15790 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
15791 console_init_early and console_init_lately.
15792 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
15793 * kern/misc.c (grub_puts): Removed.
15794 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
15795 (grub_vsnprintf_real): Remove str = NULL support.
15796 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
15797 * normal/charset.c (grub_utf8_to_ucs4): ... here.
15798 * kern/term.c (grub_putcode): Renamed to ...
15799 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
15800 (grub_putchar): Removed.
15801 (grub_xputs_dumb): New function.
15802 (grub_xputs): New variable.
15803 * lib/charset.c: Move from here ...
15804 * normal/charset.c: ... to here.
15805 (grub_ucs4_to_utf8): New function.
15806 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
15807 (join_types): New variable.
15808 (unpack_join): New function.
15809 (bidi_types): New variable.
15810 (unpack_bidi): New function.
15811 (get_bidi_type): Likewise.
15812 (get_join_type): Likewise.
15813 (is_mirrored): Likewise.
15814 (grub_unicode_get_comb_type): Likewise.
15815 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
15816 (is_type_after): Likewise.
15817 (grub_unicode_aglomerate_comb): Likewise.
15818 (bidi_line_wrap): Likewise.
15819 (grub_bidi_line_logical_to_visual): Likewise.
15820 (grub_bidi_logical_to_visual): Likewise.
15821 (grub_unicode_mirror_code): Likewise.
15822 (grub_unicode_shape_code): Likewise.
15823 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
15824 Don't use grub_putchar.
15825 * normal/main.c (grub_normal_init_page): Use grub_putcode.
15826 (grub_normal_reader_init): Likewise.
15827 (grub_xputs_saved): New variable.
15828 (GRUB_MOD_INIT): Set grub_xputs.
15829 (GRUB_MOD_FINI): Restore grub_xputs.
15830 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
15831 (menu_init): Avoid printing gfxmenu error.
15832 (show_menu): Use grub_normal_get_char_counter.
15833 * normal/menu_entry.c (update_screen): Fix out-of-array.
15834 (complete): Avoid NULL dereferencing.
15835 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
15836 * normal/menu_text.c (print_spaces): Removed.
15837 (grub_print_ucs4): Likewise.
15838 (grub_print_message_indented): Use grub_print_ucs4.
15839 (print_message): Use grub_putcode.
15840 (print_entry): Hanlde diacritics.
15841 * normal/term.c (term_state): New type.
15842 (grub_more_lines): Removed.
15843 (term_states): New variable.
15844 (grub_normal_line_counter): Renamed to ..
15845 (grub_normal_char_counter): ...this. All users updated.
15846 (grub_normal_get_line_counter): Renamed to ...
15847 (grub_normal_get_char_counter): ... this.
15848 (grub_normal_reset_more): New function.
15849 (process_newline): Removed.
15850 (print_more): New function.
15851 (grub_install_newline_hook): Removed.
15852 (map_code): New function.
15853 (grub_puts_terminal): Use grub_print_ucs4.
15854 (putglyph): New function.
15855 (putcode_real): Likewise.
15856 (grub_putcode): Use putcode_real.
15857 (get_maxwidth): New function.
15858 (get_startwidth): Likewise.
15859 (print_ucs4_terminal): Likewise.
15860 (find_term_state): Likewise.
15861 (put_glyphs_terminal): Likewise.
15862 (print_backlog): Likewise.
15863 (print_ucs4_real): Likewise.
15864 (grub_print_ucs4): Likewise.
15865 (grub_xputs_normal): Likewise.
15866 * term/efi/console.c (grub_console_putchar): Output diacritics.
15867 (grub_console_getcharwidth): Removed.
15868 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15869 * term/gfxterm.c (clear_char): Free chars.
15870 (scroll_up): Avoid leaking memory.
15871 (grub_gfxterm_putchar): Support diacritics.
15872 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15873 * term/i386/pc/console.c (grub_console_term_output): Declare as
15874 GRUB_TERM_CODE_TYPE_VGA.
15875 * term/i386/pc/vga.c (grub_vga_term): Declare as
15876 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
15877 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
15878 GRUB_TERM_CODE_TYPE_VGA.
15879 * term/i386/vga_common.c (map_char): Removed.
15880 (grub_console_putchar): Likewise.
15881 (grub_console_getcharwidth): Likewise.
15882 * term/ieee1275/ofconsole.c: Simplify using terminfo.
15883 (colors): Reordered to match terminfo.
15884 (grub_ofconsole_normal_color): Removed.
15885 (grub_ofconsole_writeesc): Likewise.
15886 (grub_ofconsole_highlight_color): Likewise.
15887 (grub_ofconsole_getcharwidth): Likewise.
15888 (grub_ofconsole_setcolorstate): Likewise.
15889 (grub_ofconsole_setcolor): Likewise.
15890 (grub_ofconsole_getcolor): Likewise.
15891 (grub_ofconsole_readkey): Renamed to ...
15892 (readkey): ... this. Remove escape sequence handling. Return -1 on no
15893 key.
15894 (grub_ofconsole_checkkey): Removed.
15895 (grub_ofconsole_getkey): Likewise.
15896 (grub_ofconsole_getxy): Likewise.
15897 (grub_ofconsole_gotoxy): Likewise.
15898 (grub_ofconsole_cls): Likewise.
15899 (grub_ofconsole_refresh): Likewise.
15900 (grub_ofconsole_terminfo_input): New struct.
15901 (grub_ofconsole_terminfo_output): Likewise.
15902 (grub_ofconsole_term_input): Use terminfo.
15903 (grub_ofconsole_term_output): Likewise.
15904 (grub_console_init): Split into ...
15905 (grub_console_init_early): ...this and ...
15906 (grub_console_init_lately): ...this. Use terminfo.
15907 (grub_ofconsole_putchar): Renamed to ...
15908 (put): ... this. Remove mapping.
15909 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15910 * term/serial.c: Simplify using terminfo.
15911 (xpos): Removed.
15912 (ypos): Likewise.
15913 (keep_track): Likewise.
15914 (registered): Likewise.
15915 (input_buf): Likewise.
15916 (npending): Likewise.
15917 (serial_translate_key_sequence): Likewise.
15918 (fill_input_buf): Likewise.
15919 (grub_serial_checkkey): Likewise.
15920 (grub_serial_getkey): Likewise.
15921 (grub_serial_getxy): Likewise.
15922 (grub_serial_gotoxy): Likewise.
15923 (grub_serial_putchar): Likewise.
15924 (grub_serial_cls): Likewise.
15925 (grub_serial_setcolorstate): Likewise.
15926 (grub_serial_setcursor): Likewise.
15927 (serial_hw_init): Use serial_hw_fetch.
15928 (grub_serial_terminfo_input): New variable.
15929 (grub_serial_terminfo_output): Likewise.
15930 (grub_serial_term_input): Use terminfo.
15931 (grub_serial_term_output): Likewise.
15932 * term/terminfo.c (putstr): Use put.
15933 (grub_terminfo_all_free): New function
15934 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
15935 (grub_terminfo_output_register): New function.
15936 (grub_terminfo_output_unregister): Likewise.
15937 (grub_terminfo_getxy): Likewise.
15938 (grub_terminfo_readkey): Likewise.
15939 (grub_terminfo_checkkey): Likewise.
15940 (grub_terminfo_getkey): Likewise.
15941 (grub_terminfo_input_init): Likewise.
15942 (print_terminfo): Likewise.
15943 (grub_cmd_terminfo): Handle encoding.
15944 (grub_terminfo_gotoxy): Track position.
15945 (grub_terminfo_cls): Likewise.
15946 (grub_terminfo_putchar): Likewise.
15947 (grub_terminfo_setcolorstate): Handle colors
15948 (grub_terminfo_cursor_on): This ...
15949 (grub_terminfo_cursor_off): ... and this merged into ...
15950 (grub_terminfo_setcursor): ... this.
15951 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
15952 * unicode/ArabicShaping.txt: New file (imported from Unicode).
15953 * unicode/BidiMirroring.txt: Likewise.
15954 * unicode/UnicodeData.txt: Likewise.
15955 * unicode/COPYING: Likewise.
15956 * util/grub-editenv.c (grub_putchar): Removed.
15957 (grub_xputs_real): New function.
15958 (grub_xputs): New variable.
15959 * util/grub-fstest.c (grub_putchar): Removed.
15960 (grub_xputs_real): New function.
15961 (grub_xputs): New variable.
15962 * util/grub-mkdevicemap.c (grub_putchar): Removed.
15963 (grub_xputs_real): New function.
15964 (grub_xputs): New variable.
15965 * util/grub-probe.c (grub_putchar): Removed.
15966 (grub_xputs_real): New function.
15967 (grub_xputs): New variable.
15968 * util/grub-script-check.c (grub_putchar): Removed.
15969 (grub_xputs_real): New function.
15970 (grub_xputs): New variable.
15971 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
15972 (grub_xputs_real): New function.
15973 (grub_xputs): New variable.
15974 * util/import_unicode.py: New file.
15975 * util/grub-mkfont.c (ft_errmsgs): New array.
15976 (grub_glyph_info): Make bitmap a pointer.
15977 (file_formats): New type WIDTH_SPEC.
15978 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
15979 (options): Add width-spec.
15980 (help): Likewise.
15981 (add_char): Renamed to ...
15982 (add_glyph): ... this.
15983 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
15984 (glyph_replace): New type.
15985 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
15986 (add_char): New function.
15987 (add_subst): Likewise.
15988 (process_cursive): Likewise.
15989 (add_font): Handle GSUB.
15990 (write_font_width_spec): New function.
15991 (main): Sort glyphs.
15992 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
15993 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
15994 * kern/term.c (grub_cls): Moved from here...
15995 * normal/term.c (grub_cls): ... here.
15996
50f0bcda
CW
159972010-07-02 Colin Watson <cjwatson@ubuntu.com>
15998
15999 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
16000 suitable for using within the format argument of printf when
16001 converting grub_size_t.
16002 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
16003 "x" to convert grub_size_t arguments.
16004
40372103
VS
160052010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16006
16007 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
16008 too long captions.
16009 (list_get_minimal_size): Take selection box into account.
16010
942a10c7
VS
160112010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16012
16013 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
16014 NULL font.
16015
2bdb2892
CW
160162010-07-02 Colin Watson <cjwatson@ubuntu.com>
16017
16018 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
16019 devices when iterating over /dev/disk/by-id; they will be handled
16020 later if appropriate, which they aren't always (e.g. LVM).
16021
e03ed6c1
CW
160222010-07-02 Colin Watson <cjwatson@ubuntu.com>
16023
16024 * include/grub/misc.h (grub_reboot): Declare as noreturn.
16025 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
16026 fails.
16027 (grub_halt): Likewise.
16028 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
16029 reset-all fails.
16030 (grub_halt): Don't return, even if all of shut-down, power-off, and
16031 poweroff fail.
16032
47695765
CW
160332010-07-02 Colin Watson <cjwatson@ubuntu.com>
16034
16035 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
16036 arguments, not three.
16037
507736c8
CW
160382010-07-02 Colin Watson <cjwatson@ubuntu.com>
16039
16040 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
16041 * util/grub.d/10_linux.in: Use it to check for LVM, so that
16042 LVM-on-RAID is handled correctly.
16043
e3c8cd37
CW
160442010-07-02 Colin Watson <cjwatson@ubuntu.com>
16045
16046 * docs/grub.texi (Changes from GRUB Legacy): New section.
16047 (Future): Fix typo.
16048
8d4a2fec
CW
160492010-07-02 Colin Watson <cjwatson@ubuntu.com>
16050
16051 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
16052 grub.d/README accidentally ends up executable for one reason or
16053 another. Ignore it.
16054
1c4827be
VS
160552010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16056
16057 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
16058 (gpt_partition_map_iterate): Support non-512B sectors.
16059
d9a0c941
VS
160602010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16061
16062 * kern/efi/init.c (grub_efi_init): Disable watchdog.
16063 Tested by: Seth Goldberg.
16064
48f27e87
VS
160652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16066
16067 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
16068 Properly align mbi.
16069 Reported by: Seth Goldberg.
16070
b0c4f956
VS
160712010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16072
16073 * util/grub-mkrescue.in: Avoid module duplication.
16074
105a2e8c
SF
160752010-07-01 Sean Finney <seanius@seanius.net>
16076
16077 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
16078
5944958c
SF
160792010-07-01 Sean Finney <seanius@seanius.net>
16080
16081 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
16082
160832010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16084
16085 * disk/lvm.c (grub_lvm_checkvalue): New function.
16086 (grub_lvm_check_flag): Likewise.
16087
b79889ba
RM
160882010-07-01 Robert Millan <rmh@gnu.org>
16089
16090 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
16091 Support 'p' as partition separator on kernel of FreeBSD (used
16092 with GPT labels).
16093 (grub_util_biosdisk_get_grub_dev): Likewise.
16094
ec1d04f1
VS
160952010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16096
16097 Yeeloong firmware port.
16098
16099 * boot/mips/yeeloong/fwstart.S: New file.
16100 * bus/cs5536.c (gpiodump): New const.
16101 (set_io_space): New function.
16102 (set_iod): Likewise.
16103 (set_p2d): Likewise.
16104 (grub_cs5536_init_geode): Likewise.
16105 * commands/mips/yeeloong/lsspd.c: New file.
16106 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
16107 (serial_mod_SOURCES): New variable.
16108 (serial_mod_CFLAGS): Likewise.
16109 (serial_mod_LDFLAGS): Likewise.
16110 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
16111 term/terminfo.c and term/tparm.c.
16112 (pkglib_IMAGES): Add fwstart.img.
16113 (fwstart_img_SOURCES): New variable.
16114 (fwstart_img_CFLAGS): Likewise.
16115 (fwstart_img_ASFLAGS): Likewise.
16116 (fwstart_img_LDFLAGS): Likewise.
16117 (fwstart_img_FORMAT): Likewise.
16118 (pkglib_MODULES): Add lsspd.mod.
16119 (lsspd_mod_SOURCES): New variable.
16120 (lsspd_mod_CFLAGS): Likewise.
16121 (lsspd_mod_LDFLAGS): Likewise.
16122 (pkglib_MODULES): Add halt.mod.
16123 (halt_mod_SOURCES): New variable.
16124 (halt_mod_CFLAGS): Likewise.
16125 (halt_mod_LDFLAGS): Likewise.
16126 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
16127 (serial_mod_SOURCES): Removed.
16128 (serial_mod_CFLAGS): Likewise.
16129 (serial_mod_LDFLAGS): Likewise.
16130 * disk/ata.c (check_device): New function.
16131 (grub_ata_device_initialize): Use check_device.
16132 (grub_ata_iterate): Recheck devices.
16133 (grub_ata_open): Likewise.
16134 (grub_atapi_iterate): Likewise.
16135 (grub_atapi_open): Likewise.
16136 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
16137 (GRUB_ATA_CH1_PORT1): Likewise.
16138 (GRUB_ATA_CH0_PORT2): Likewise.
16139 (GRUB_ATA_CH1_PORT2): Likewise.
16140 * include/grub/mips/loongson.h: New file.
16141 * include/grub/mips/yeeloong/ec.h: Likewise.
16142 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
16143 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
16144 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
16145 * include/grub/misc.h (grub_halt): Declare as noreturn.
16146 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
16147 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
16148 (UART_ENABLE_FIFO_TRIGGER1): New definition.
16149 (UART_ENABLE_DTRRTS): Likewise.
16150 (UART_ENABLE_MODEM): Removed.
16151 (UART_ENABLE_OUT2): New const.
16152 * include/grub/term.h (grub_term_register_input_active): New function.
16153 (grub_term_register_output_active): Likewise.
16154 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
16155 argument.
16156 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
16157 (init_pci): New function.
16158 (grub_machine_init): Execute platform init when firmware. Init serial.
16159 (grub_halt): Implement.
16160 (grub_exit): Likewise.
16161 (grub_reboot): Likewise.
16162 * term/serial.c (serial_hw_init): Update macros.
16163 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
16164 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
16165 (image_targets): New target mipsel-yeeloong-flash.
16166 (generate_image): Support IMAGE_YEELOONG_FLASH.
16167 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
16168 (grub_video_sm712_setup): Init card.
16169 (grub_video_sm712_set_palette): Removed.
16170 * video/sm712_init.c: New file.
16171
ff4a70d2
CW
161722010-06-30 Colin Watson <cjwatson@ubuntu.com>
16173
16174 * Makefile.in (install-local): Temporarily prepend $(builddir) to
16175 PATH when running help2man and then run it on the unadorned
16176 executable names, rather than passing $(builddir)/* paths to
16177 help2man. This avoids the build directory ending up in generated
16178 manual pages.
16179
1246efeb
CW
161802010-06-29 Colin Watson <cjwatson@ubuntu.com>
16181
16182 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
16183 to avoid accidents when debugging with 'sh -x'.
16184 * util/grub-mkrescue.in: Likewise.
16185 * util/grub.d/00_header.in: Likewise.
16186 * util/grub.d/10_hurd.in: Likewise.
16187 * util/grub.d/10_kfreebsd.in: Likewise.
16188 * util/grub.d/10_linux.in: Likewise.
16189 * util/grub.d/10_netbsd.in: Likewise.
16190 * util/grub.d/10_windows.in: Likewise.
16191 * util/grub.d/20_linux_xen.in: Likewise.
16192 * util/grub.d/30_os-prober.in: Likewise.
16193 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16194
1ba9b889
CW
161952010-06-29 Colin Watson <cjwatson@ubuntu.com>
16196
16197 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
16198 last character in the buffer.
16199 Reported by: Vladimir Serbinenko.
16200
dccaf99d
RM
162012010-06-29 Robert Millan <rmh@gnu.org>
16202
16203 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
16204 (Command-line and menu entry commands): Document `badram' command.
16205
d500ed12
RM
162062010-06-28 Robert Millan <rmh@gnu.org>
16207
16208 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
16209 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
16210 command using ${GRUB_BADRAM} as parameter.
16211
20bc84a6
CW
162122010-06-28 Colin Watson <cjwatson@ubuntu.com>
16213
16214 * docs/grub.texi (Device map): New section.
16215 (Themes): New section (stub).
16216 * Makefile.in (docs/grub.info): The info documentation now builds
16217 without errors. Make sure it stays that way.
16218
4045dee1
VS
162192010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16220
16221 Use normal parser for menu entries.
16222 Reported by: Thomas Frauendorfer
16223
16224 * include/grub/parser.h (grub_parser_execute): Don't export.
16225 * normal/menu.c (grub_menu_execute_entry_real): New function.
16226 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
16227
bca58c7b
CW
162282010-06-28 Colin Watson <cjwatson@ubuntu.com>
16229
16230 * docs/grub.texi (Embedded configuration): New section (replacing
16231 old "Preset Menu" stub).
16232 (Images): New section.
16233 (configfile): Note that any menu entries defined in `file' are shown
16234 immediately.
16235
dec53e63
JT
162362010-06-28 Josh Triplett <josh@joshtriplett.org>
16237
16238 * mmap/i386/pc/mmap_helper.S: Set CF on return.
16239
c06e40f7
CW
162402010-06-28 Colin Watson <cjwatson@ubuntu.com>
16241
16242 * util/grub-install.in: Add --debug-image= option.
16243
cb88052b
CW
162442010-06-28 Colin Watson <cjwatson@ubuntu.com>
16245
16246 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
16247 possible on Linux.
16248
16249 * util/deviceiter.c (check_device): Rename to ...
16250 (check_device_readable_unique): ... this. Update all callers.
16251 Maintain and check a list of which devices (by canonicalized name)
16252 have already been seen.
16253 (clear_seen_devices): New function.
16254 (compare_file_names) [__linux__]: New function.
16255 (grub_util_iterate_devices): Clear the list of seen devices on exit
16256 and (just in case) on entry.
16257 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
16258 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
16259 seen-devices list, superseded by general code in check_device.
16260
bbe34652
CW
162612010-06-28 Colin Watson <cjwatson@ubuntu.com>
16262
16263 * commands/cat.c (options): New variable.
16264 (grub_cmd_cat): Parse options. If the --dos option is given, print
16265 DOS-style "\r\n" line endings as simple newlines (Debian bug
16266 #586358).
16267 (GRUB_MOD_INIT): Use extcmd.
16268 (GRUB_MOD_FINI): Likewise.
16269 * docs/grub.texi (cat): Document --dos.
16270
412e09f3
VS
162712010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16272
16273 XEN with Linux grub-mkconfig support.
16274
16275 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16276 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16277 GRUB_CMDLINE_XEN_DEFAULT.
16278 * util/grub.d/20_linux_xen.in: New file.
16279
53f3ef38 162802010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
16281
16282 Initialise VGA video on qemu ourselves.
16283
16284 * boot/i386/qemu/boot.S: Don't call 0xc000.
16285 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16286 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16287 (kernel_img_HEADERS): Add pci.h.
16288 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16289 * configure.ac: Force unifont on qemu and yeeloong.
16290 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16291 (grub_vga_palette_write): Use correct register.
16292 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16293 Call grub_qemu_init_cirrus.
16294 * kern/i386/qemu/init.c: New file.
16295 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16296
16297 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16298
c75be4fb
PR
162992010-06-26 Pavel Roskin <proski@gnu.org>
16300
16301 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16302 13.
16303
d8034603
CW
163042010-06-26 Colin Watson <cjwatson@ubuntu.com>
16305
16306 * docs/grub.texi (Simple configuration): Explain that
16307 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16308 set to `true' to disable their respective recovery entries, not
16309 merely set.
16310
3fa06487
CW
163112010-06-26 Colin Watson <cjwatson@ubuntu.com>
16312
16313 Make the `source' command slightly faster.
16314
16315 * normal/main.c (grub_normal_execute): Don't re-read list files when
16316 nested.
16317
e9b29642
CW
163182010-06-23 Colin Watson <cjwatson@ubuntu.com>
16319
16320 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16321 field position and mask size to red fields from mode_info, not
16322 green.
16323 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16324 Remove redundant tag->common.framebuffer_type assignment.
16325 Reported by: Seth Goldberg.
16326
e726542f
CW
163272010-06-23 Colin Watson <cjwatson@ubuntu.com>
16328
16329 Sync up other versions of the Linux loader with Robert Millan's
16330 change of 2010-01-09, "Make loader output a bit more user-friendly".
16331
16332 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16333 grub_dprintf().
16334 (grub_cmd_linux): Likewise.
16335 (grub_cmd_initrd): Likewise.
16336 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16337 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16338
d6e98a17
CW
163392010-06-21 Colin Watson <cjwatson@ubuntu.com>
16340
16341 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
16342 larger than MEMORY_MAP_SIZE.
16343
14d3f08e
BC
163442010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
16345
16346 Fix parallel build.
16347
16348 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
16349 dependency.
16350 * script/parser.y: #include grub_script.tab.h header.
16351
4f9613a3
VS
163522010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16353
16354 Support >3GiB and <16MiB RAM in i386-qemu.
16355
16356 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
16357 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
16358 (grub_lower_mem): Removed.
16359 (grub_upper_mem): Likewise.
16360 (mem_size): Made static.
16361 (above_4g): New variable.
16362 (grub_machine_mmap_init): Detect small mem_size and above_4g.
16363 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
16364 support.
16365
05e51879
VS
163662010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16367
16368 Cirrus 5446 and Bochs video cards support.
16369
16370 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
16371 video_bochs.mod
16372 (video_cirrus_mod_SOURCES): New variable.
16373 (video_cirrus_mod_CFLAGS): Likewise.
16374 (video_cirrus_mod_LDFLAGS): Likewise.
16375 (video_bochs_mod_SOURCES): Likewise.
16376 (video_bochs_mod_CFLAGS): Likewise.
16377 (video_bochs_mod_LDFLAGS): Likewise.
16378 * include/grub/vga.h: New file.
16379 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
16380 (grub_video_fb_set_page_t): New type.
16381 (grub_video_fb_setup): New prototype.
16382 (grub_video_fb_swap_buffers): Likewise.
16383 (grub_video_fb_get_info_and_fini): Likewise.
16384 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
16385 (CRTC_DATA_PORT): Likewise.
16386 (CRTC_CURSOR): Likewise.
16387 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16388 (CRTC_CURSOR_ADDR_LOW): Likewise.
16389 (CRTC_CURSOR_DISABLE): Likewise.
16390 (update_cursor): Use grub_vga_cr_write.
16391 (grub_vga_text_setcursor): Likewise.
16392 * video/bochs.c: New file.
16393 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
16394 (palette): Likewise.
16395 (palette_size): Likewise.
16396 (framebuffer): New variable.
16397 (grub_video_fb_init): Use 'framebuffer'.
16398 (grub_video_fb_fini): Likewise.
16399 (grub_video_fb_get_info): Likewise.
16400 (grub_video_fb_get_palette): Likewise.
16401 (grub_video_fb_set_palette): Likewise.
16402 (grub_video_fb_set_viewport): Likewise.
16403 (grub_video_fb_get_viewport): Likewise.
16404 (grub_video_fb_map_color): Likewise.
16405 (grub_video_fb_map_rgb): Likewise.
16406 (grub_video_fb_map_rgba): Likewise.
16407 (grub_video_fb_unmap_color): Likewise.
16408 (grub_video_fb_unmap_color_int): Likewise.
16409 (grub_video_fb_fill_rect): Likewise.
16410 (grub_video_fb_blit_bitmap): Likewise.
16411 (grub_video_fb_blit_render_target): Likewise.
16412 (grub_video_fb_scroll): Likewise.
16413 (grub_video_fb_create_render_target): Likewise.
16414 (grub_video_fb_doublebuf_blit_init): Likewise.
16415 (grub_video_fb_set_active_render_target): Handle doublebuffering.
16416 (doublebuf_pageflipping_update_screen): New function.
16417 (doublebuf_pageflipping_init): Likewise.
16418 (grub_video_fb_setup): Likewise.
16419 (grub_video_fb_swap_buffers): Likewise.
16420 (grub_video_fb_get_info_and_fini): Likewise.
16421 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
16422 All users updated.
16423 (doublebuf_pageflipping_commit): Restructured into ...
16424 (doublebuf_pageflipping_set_page): ... this.
16425 (doublebuf_pageflipping_update_screen): Removed.
16426 (doublebuf_pageflipping_init): Likewise.
16427 (double_buffering_init): Likewise.
16428 (grub_video_vbe_setup): Use grub_video_fb_setup.
16429 (grub_video_vbe_swap_buffers): Removed.
16430 (grub_video_vbe_set_active_render_target): Likewise.
16431 (grub_video_vbe_get_active_render_target): Likewise.
16432 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
16433 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
16434 grub_video_fb_set_active_render_target and
16435 grub_video_fb_get_active_render_target.
16436 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
16437 (SEQUENCER_DATA_PORT): Likewise.
16438 (MAP_MASK_REGISTER): Likewise.
16439 (CRTC_ADDR_PORT): Likewise.
16440 (CRTC_DATA_PORT): Likewise.
16441 (START_ADDR_HIGH_REGISTER): Likewise.
16442 (START_ADDR_LOW_REGISTER): Likewise.
16443 (GRAPHICS_ADDR_PORT): Likewise.
16444 (GRAPHICS_DATA_PORT): Likewise.
16445 (READ_MAP_REGISTER): Likewise.
16446 (INPUT_STATUS1_REGISTER): Likewise.
16447 (INPUT_STATUS1_VERTR_BIT): Likewise.
16448 (get_map_mask): Use grub_vga_sr_read.
16449 (set_map_mask): Use grub_vga_sr_write.
16450 (set_read_map): Use grub_vga_gr_write.
16451 (set_start_address): Use grub_vga_cr_write.
16452 * video/sm712.c (framebuffer): Remove leftover fields.
16453
4321c64a
CW
164542010-06-20 Colin Watson <cjwatson@ubuntu.com>
16455
16456 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
16457 setting GRUB_VIDEO_BACKEND. Make it available as a user override
16458 instead. Replace the gfxterm backend check with a check that
16459 ${GRUB_PREFIX}/video.lst is non-empty.
16460 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
16461 again.
16462 (load_video): New generated function. Call it before loading
16463 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
16464 * util/grub.d/10_linux.in (linux_entry): Call load_video.
16465 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
16466 * docs/grub.texi (Simple configuration): Document
16467 GRUB_VIDEO_BACKEND.
16468
164692010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16470
16471 Use video functions in linux and xnu loaders.
16472
16473 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
16474 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
16475 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
16476 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
16477 loader/i386/pc/linux.c.
16478 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
16479 (find_line_len): Removed.
16480 (find_framebuf): Likewise.
16481 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
16482 * loader/i386/efi/xnu.c: Removed.
16483 * loader/i386/pc/xnu.c: Moved from here...
16484 * loader/i386/xnu.c: ...here.
16485
16486 Enable priorities in video drivers.
16487
16488 * include/grub/video.h (grub_video_adapter_prio_t): New type.
16489 (grub_video_adapter): New field prio.
16490 (grub_video_register): Respect prio when inserting.
16491 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
16492 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
16493 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
16494 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
16495 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
16496 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
16497 * video/sm712.c (grub_video_sm712_adapter): Likewise.
16498
16499 Fix SDL driver ID.
16500
16501 * include/grub/video.h (grub_video_driver_id_t): New value
16502 GRUB_VIDEO_DRIVER_SDL.
16503 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
16504
7d24e434
CW
165052010-06-17 Colin Watson <cjwatson@ubuntu.com>
16506
16507 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
16508 argument to printf.
16509 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16510
c88a83f6
CW
165112010-06-17 Colin Watson <cjwatson@ubuntu.com>
16512
16513 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
16514 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16515
094dfb69
CW
165162010-06-17 Colin Watson <cjwatson@ubuntu.com>
16517
16518 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
16519 directly, and recommend grub-install instead.
16520 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16521
2164da6b
CW
165222010-06-17 Colin Watson <cjwatson@ubuntu.com>
16523
16524 Fix i386-pc prefix handling with nested partitions (Debian bug
16525 #585068). Note that the case where the core image is booted using
16526 multiboot and relocated from its original location still requires
16527 more work.
16528
16529 * kern/i386/pc/init.c (make_install_device): If the prefix starts
16530 with "(,", fill the boot drive in between those two characters, but
16531 expect that a full partition specification including partition map
16532 names will follow.
16533 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
16534 specified, write a prefix without the drive name but including a
16535 full partition specification.
16536
044e2e60
CW
165372010-06-16 Colin Watson <cjwatson@ubuntu.com>
16538
16539 * util/grub-mkconfig.in: Ignore non-option arguments, for
16540 compatibility with older versions (before 2010-06-12) which did the
16541 same. In particular, this makes it easier to ship an update-grub
16542 wrapper which is compatible with that used with GRUB Legacy (Debian
16543 bug #586056).
16544
5591324f
GS
165452010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16546
16547 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
16548 for manual page generation.
16549
662e24d5
GS
165502010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16551
16552 * po/POTFILES: Remove leftover commands/handler.c.
16553
8d70754e
CW
165542010-06-14 Colin Watson <cjwatson@ubuntu.com>
16555
16556 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
16557 left this script non-functional.
16558
41160e2e
CW
165592010-06-14 Colin Watson <cjwatson@ubuntu.com>
16560
16561 * docs/man/grub-emu.h2m: New file.
16562
b5309cc1
CW
165632010-06-13 Colin Watson <cjwatson@ubuntu.com>
16564
16565 * docs/grub.texi (Commands): Document reduced command set in rescue
16566 mode.
16567 (cpuid): New section.
16568
fcb2d090
GS
165692010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
16570
16571 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
16572 new partition naming style.
16573 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
16574
96e5c556
BC
165752010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
16576
16577 Add "-o grub.iso" like cmdline options support.
16578
16579 * util/grub-install.in: Improve cmdline option parsing.
16580 * util/grub-mkconfig.in: Likewise.
16581 * util/grub-mkrescue.in: Likewise.
16582 * util/grub-reboot.in: Likewise.
16583 * util/grub-set-default.in: Likewise.
16584 * util/i386/efi/grub-install.in: Likewise.
16585 * util/ieee1275/grub-install.in: Likewise.
16586 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16587
c16be99b
CW
165882010-06-12 Colin Watson <cjwatson@ubuntu.com>
16589
16590 * .bzrignore: Ignore 41_custom.
16591
ce08a9fb
TS
165922010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16593
16594 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
16595
7beac90c
CW
165962010-06-12 Colin Watson <cjwatson@ubuntu.com>
16597
16598 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
16599 prototype declarations.
16600
16601 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
16602 generating fs, partmap, and video lists.
16603 * include/grub/fs.h (grub_fs_register): Omit prototype if
16604 GRUB_LST_GENERATOR is defined.
16605 * include/grub/partition.h (grub_partition_map_register): Likewise.
16606 * include/grub/video.h (grub_video_register): Likewise.
16607
1c8f0f8d
JM
166082010-06-12 Javier Martín <lordhabbit@gmail.com>
16609
16610 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
16611
a6085973
TS
166122010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16613
16614 * util/grub-mkrescue.in: Support --xorriso argument.
16615
25c56d29
VS
166162010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16617
16618 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
16619 Suggested by: Thomas Schmitt.
16620
e03e4b24
VS
166212010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16622
16623 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
16624 Suggested by: Thomas Schmitt.
16625
57711df6
VS
166262010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16627
16628 custom.cfg support.
16629
16630 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
16631 * util/grub.d/41_custom.in: New file.
16632
ee62c427
CW
166332010-06-12 Colin Watson <cjwatson@ubuntu.com>
16634
16635 * util/grub-mkrescue.in (make_image): Remove sh module, which has
16636 been merged back into normal.
16637
283af07a
CW
166382010-06-11 Colin Watson <cjwatson@ubuntu.com>
16639
16640 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
16641 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
16642
56a0d956
CW
166432010-06-11 Colin Watson <cjwatson@ubuntu.com>
16644
16645 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
16646 when generating manual pages.
16647 * docs/man/grub-bin2h.h2m: New file.
16648 * docs/man/grub-editenv.h2m: New file.
16649 * docs/man/grub-fstest.h2m: New file.
16650 * docs/man/grub-install.h2m: New file.
16651 * docs/man/grub-macho2img.h2m: New file.
16652 * docs/man/grub-mkconfig.h2m: New file.
16653 * docs/man/grub-mkdevicemap.h2m: New file.
16654 * docs/man/grub-mkfont.h2m: New file.
16655 * docs/man/grub-mkimage.h2m: New file.
16656 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
16657 * docs/man/grub-mkrelpath.h2m: New file.
16658 * docs/man/grub-mkrescue.h2m: New file.
16659 * docs/man/grub-ofpathname.h2m: New file.
16660 * docs/man/grub-pe2elf.h2m: New file.
16661 * docs/man/grub-probe.h2m: New file.
16662 * docs/man/grub-reboot.h2m: New file.
16663 * docs/man/grub-script-check.h2m: New file.
16664 * docs/man/grub-set-default.h2m: New file.
16665 * docs/man/grub-setup.h2m: New file.
16666
3a37e322
VS
166672010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 Use FOR_* macros instead of *_iterate whenever possible.
16670
16671 * commands/handler.c: Removed.
16672 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
16673 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
16674 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16675 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
16676 (grub_probe_SOURCES): Remove kern/parser.c.
16677 (util/grub-script-check.c_DEPENDENCIES): Removed.
16678 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
16679 and grub_script_check_init.c.
16680 (grub_script_check_init.lst): Removed.
16681 (grub_script_check_init.h): Likewise.
16682 (grub_script_check_init.c): Likewise.
16683 (pkglib_MODULES): Remove handler.mod and sh.mod.
16684 (handler_mod_SOURCES): Removed.
16685 (handler_mod_CFLAGS): Likewise.
16686 (handler_mod_LDFLAGS): Likewise.
16687 (normal_mod_SOURCES): Remove normal/handler.c.
16688 Add script/main.c, script/script.c, script/execute.c,
16689 script/function.c, script/lexer.c, grub_script.tab.c
16690 and grub_script.yy.c.
16691 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16692 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16693 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
16694 (grub_setup_SOURCES): Remove kern/parser.c.
16695 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16696 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
16697 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16698 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16699 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16700 (grub_setup_SOURCES): Remove kern/parser.c.
16701 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16702 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
16703 * include/grub/command.h (grub_command_iterate): Removed.
16704 (FOR_COMMANDS): New macro.
16705 * include/grub/dl.h (grub_dl): New member next.
16706 (grub_dl_iterate): Removed.
16707 (grub_dl_head): New variable declaration.
16708 (FOR_DL_MODULES): New macro.
16709 * include/grub/fs.h: Include list.h.
16710 (grub_fs): Make next first element.
16711 (grub_fs_list): New variable declaration.
16712 (grub_fs_register): Make inline.
16713 (grub_fs_unregister): Likewise.
16714 (grub_fs_iterate): Removed.
16715 (FOR_FILESYSTEMS): New macro.
16716 * include/grub/handler.h: Removed.
16717 * include/grub/list.h (grub_list_hook_t): Removed.
16718 (grub_list_test_t): Likewise.
16719 (grub_list_pop): Likewise.
16720 (grub_list_iterate): Likewise.
16721 (grub_list_insert): Likewise.
16722 (FOR_LIST_ELEMENTS): New macro.
16723 * include/grub/parser.h (grub_parser_class): Removed.
16724 (grub_parser_register): Likewise.
16725 (grub_parser_unregister): Likewise.
16726 (grub_parser_get_current): Likewise.
16727 (grub_parser_set_current): Likewise.
16728 (grub_register_rescue_parser): Likewise.
16729 (grub_rescue_parse_line): New function.
16730 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
16731 * include/grub/script_sh.h (grub_script_function_list): New variable
16732 declaration.
16733 (FOR_SCRIPT_FUNCTIONS): New macro.
16734 (grub_script_function_iterate): Removed.
16735 (grub_normal_parse_line): New prototype.
16736 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
16737 (FOR_DISABLED_TERM_INPUTS): Likewise.
16738 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16739 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16740 * include/grub/video.h (grub_video_adapter): Move 'next' to first
16741 element.
16742 (grub_video_register): Inline.
16743 (grub_video_unregister): Likewise.
16744 (grub_video_adapter_list): New variable declaration.
16745 (grub_video_iterate): Removed.
16746 (FOR_VIDEO_ADAPTERS): New macro.
16747 * kern/dl.c (grub_dl_list): Removed. All users updated.
16748 (grub_dl_iterate): Removed.
16749 * kern/fs.c (grub_fs_list): Make global.
16750 (grub_fs_register): Removed.
16751 (grub_fs_unregister): Likewise.
16752 (grub_fs_iterate): Likewise.
16753 * kern/handler.c: Removed.
16754 * kern/list.c (grub_list_pop): Removed.
16755 (grub_list_iterate): Likewise.
16756 (grub_list_insert): Likewise.
16757 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
16758 (grub_prio_list_insert): Don't use grub_list_insert.
16759 * kern/main.c (grub_register_rescue_parser): Don't call
16760 grub_register_rescue_parser.
16761 * kern/parser.c (grub_parser_class): Removed.
16762 (grub_parser_execute): Use grub_rescue_parse_line.
16763 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
16764 (grub_rescue_parser): Removed.
16765 (grub_register_rescue_parser): Likewise.
16766 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
16767 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
16768 (grub_auth_check_authentication): Likewise.
16769 * normal/completion.c (iterate_command): Removed.
16770 (grub_normal_do_completion): Use FOR_COMMANDS.
16771 * normal/handler.c: Removed.
16772 * normal/main.c (read_config_file): Remove parser changing.
16773 (grub_normal_execute): Don't call read_handler_list.
16774 (grub_normal_read_line_real): Statically allocate prompt.
16775 (grub_cmdline_run): Use grub_normal_parse_line.
16776 (GRUB_MOD_FINI): Don't call free_handler_list.
16777 * normal/menu_entry.c (run): Likewise.
16778 * script/function.c (grub_script_function_list): Make global.
16779 (grub_script_function_iterate): Removed.
16780 * script/main.c (grub_normal_parse_line): Make global.
16781 (grub_sh_parser): Removed.
16782 (GRUB_MOD_INIT): Likewise.
16783 (GRUB_MOD_FINI): Likewise.
16784 * tests/lib/functional_test.c (grub_functional_test): Use
16785 FOR_LIST_ELEMENTS.
16786 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
16787 (grub_test_run): Use FOR_LIST_ELEMENTS.
16788 * tests/lib/unit_test.c (main): Likewise.
16789 * util/deviceiter.c (grub_util_iterate_devices): Don't use
16790 grub_list_pop.
16791 * util/grub-fstest.c (grub_term_input_class): Removed.
16792 (grub_term_output_class): Likewise.
16793 * util/grub-probe.c: Likewise.
16794 * util/i386/pc/grub-setup.c: Likewise.
16795 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16796 * util/grub-script-check.c (main): Don't call grub_init_all and
16797 grub_fini_all.
16798 * video/video.c (grub_video_adapter_list): Make global.
16799 (grub_video_register): Removed.
16800 (grub_video_unregister): Likewise.
16801 (grub_video_iterate): Likewise.
16802
6289c3a7
VS
168032010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
16804
16805 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
16806 reported by Henrique Ferreiro.
16807
91460247
RM
168082010-06-09 Robert Millan <rmh@gnu.org>
16809
16810 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
16811 ones, when both are available.
16812
0ea7c4f9
GS
168132010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16814
16815 Make --version uniform and avoid hard-coded program name.
16816
16817 * util/grub-mkimage.c (main): Use `program_name' instead of
16818 hard-coded string.
16819 * util/i386/pc/grub-setup.c (main): Likewise.
16820 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
16821 * util/grub-install.in: Save the basename of $0 in $self, and use the
16822 latter in informational messages. Use the same format for --version
16823 as the binary programs.
16824 * util/grub-mkconfig.in: Likewise.
16825 * util/grub-mkrescue.in: Likewise.
16826 * util/grub-reboot.in: Likewise.
16827 * util/grub-set-default.in: Likewise.
16828 * util/i386/efi/grub-install.in: Likewise.
16829 * util/ieee1275/grub-install.in: Likewise.
16830 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16831
e8a6f3b6
GS
168322010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16833
16834 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
16835 embedding area. Use <= instead of == when checking for non-emptiness.
16836
f4d095d7
GS
168372010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16838
16839 * configure.ac: Add `.' to the directories searched for unifont.
16840
50e532ca
CW
168412010-06-08 Colin Watson <cjwatson@ubuntu.com>
16842
16843 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
16844 grub_script.yy.h.
16845
d39f3dec
CW
168462010-06-08 Colin Watson <cjwatson@ubuntu.com>
16847
16848 * docs/grub.texi (History): Expand to cover GRUB 2.
16849 (Serial terminal): Refer to `terminal_input' and `terminal_output'
16850 commands, not `terminal'.
16851 (serial): Likewise.
16852 (terminal_input): New section.
16853 (terminal_output): New section.
16854 (uppermem): New section (stub).
16855 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
16856
6ef0ddb4
CW
168572010-06-08 Colin Watson <cjwatson@ubuntu.com>
16858
16859 * docs/grub.texi (Security): Menu entries are unrestricted by
16860 default, not restricted to superusers as I had previously thought.
16861 Reword to account for this.
16862
e0f4c438
CW
168632010-06-07 Colin Watson <cjwatson@ubuntu.com>
16864
16865 * kern/emu/misc.c (device_mapper_null_log): New function.
16866 (grub_device_mapper_supported): New function.
16867 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
16868 prototype.
16869 * kern/emu/hostdisk.c (find_partition_start): Check whether
16870 device-mapper is supported before trying to use it.
16871 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
16872
da908200
CW
168732010-06-07 Colin Watson <cjwatson@ubuntu.com>
16874
16875 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
16876 (File name syntax): Likewise.
16877 (help): --all is no longer supported in GRUB 2. Be more precise
16878 about pattern matching.
16879
fb55c3ac
CW
168802010-06-07 Colin Watson <cjwatson@ubuntu.com>
16881
16882 * normal/completion.c (grub_normal_do_completion): When completing
16883 arguments to "set" and the current word contains an equals sign,
16884 skip to after the equals sign before starting completion.
16885
258c2573
CW
168862010-06-07 Colin Watson <cjwatson@ubuntu.com>
16887
16888 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
16889
ee75515e
CW
168902010-06-07 Colin Watson <cjwatson@ubuntu.com>
16891
16892 * docs/grub.texi (Network): New section.
16893 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
16894 `(nd)' as in GRUB Legacy.
16895 (pxe_unload): New section.
16896
a6a700aa
CW
168972010-06-07 Colin Watson <cjwatson@ubuntu.com>
16898
16899 * docs/grub.texi (Troubleshooting): `echo' is not usually available
16900 in the rescue shell, so recommend using `set' instead. Thanks,
16901 Jordan Uggla.
16902
4003dd38
CW
169032010-06-07 Colin Watson <cjwatson@ubuntu.com>
16904
16905 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
16906 (password): New section.
16907 (password_pbkdf2): New section.
16908 (search): New section.
16909 (Security): New section.
16910 (Troubleshooting): New section, currently very incomplete.
16911 (Invoking grub-mkpasswd-pbkdf2): New section.
16912 (Internals): New section, currently very incomplete.
16913
e1cbcc40
CW
169142010-06-07 Colin Watson <cjwatson@ubuntu.com>
16915
16916 * util/grub.d/00_header.in: Add some more quoting (of
16917 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
16918 work again.
16919 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
16920
db8fa1ad
CW
169212010-06-07 Colin Watson <cjwatson@ubuntu.com>
16922
16923 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
16924 to `count', fixing variable shadowing that broke the -c option.
16925
169262010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
16927
16928 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
16929 in case they contain spaces.
16930
f28a9212
CW
169312010-06-04 Colin Watson <cjwatson@ubuntu.com>
16932
16933 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
16934 "part_" to partmap module names, in line with grub-install.
16935 Reported by: Jindřich Makovička (Debian bug #584426).
16936
9cdfe32f
CW
169372010-06-04 Colin Watson <cjwatson@ubuntu.com>
16938
16939 * util/grub-mkimage.c: Make target-related error messages slightly
16940 more helpful; -O talks about "format". Explicitly point to the use
16941 of -O if no target is specified.
16942 Reported by: Didier Raboud (Debian bug #584415).
16943
795b593a
CW
169442010-06-03 Colin Watson <cjwatson@ubuntu.com>
16945
16946 * INSTALL: Document several build requirements for optional features
16947 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
16948
9d9b5833
GS
169492010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16950
16951 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
16952 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
16953 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
16954
0819fec8
CW
169552010-06-02 Colin Watson <cjwatson@ubuntu.com>
16956
16957 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
16958 Thanks to Jordan Uggla for spotting this.
16959
49396b4f
VS
169602010-06-02 Aleš Nesrsta <starous@volny.cz>
16961
16962 Finally make USB usable.
16963
16964 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
16965 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
16966 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
16967 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
16968 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
16969 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
16970 (GRUB_OHCI_FSMPS): Likewise.
16971 (GRUB_OHCI_PERIODIC_START): Likewise.
16972 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
16973 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
16974 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
16975 (GRUB_OHCI_SET_PORT_RESET): Likewise.
16976 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
16977 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
16978 (grub_ohci_transaction): Likewise.
16979 (grub_ohci_transfer): Improve condition detection algorithms.
16980 Handle toggle property. Program the transactions correctly.
16981 Improve error handling. Various important fixups.
16982 (grub_ohci_portstatus): Put register writes in right order.
16983 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
16984 (grub_uhci_transfer): Don't show "failed" message on success.
16985 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
16986 array.
16987 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
16988 determine its size.
16989 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
16990 before initialization is completed. Use IN direction for empty
16991 transfers. Use last_trans and compute toggle.
16992 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
16993 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
16994 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
16995 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
16996 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
16997 (grub_usb_device): Increase toggle to 256.
16998 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
16999 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
17000 GRUB_USBMS_SUBCLASS_SFF8070.
17001 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
17002 (grub_scsi_inquiry): New member page and alloc_length.
17003 (grub_scsi_request_sense): New structure.
17004 (grub_scsi_request_sense_data): Likewise.
17005 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
17006 control.
17007 * disk/scsi.c (grub_scsi_request_sense): New function.
17008 (grub_scsi_test_unit_ready): Likewise.
17009 (grub_scsi_inquiry): Fill new fields.
17010 (grub_scsi_read_capacity): Likewise.
17011 (grub_scsi_read10): Add request sense at the end.
17012 (grub_scsi_read12): Likewise.
17013 (grub_scsi_write10): Likewise.
17014 (grub_scsi_write12): Likewise.
17015 (grub_scsi_open): Add Test Unit Ready.
17016 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
17017 Support additional subclasses. Con't clear halt yet. Activate the
17018 proper config. Calculate LUNs correctly.
17019 (grub_usbms_transfer): Various important fixups.
17020
170212010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17022
17023 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
17024 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
17025 (grub_ohci_fini_hw): New function.
17026 (grub_ohci_restore_hw): Likewise.
17027 (GRUB_MOD_INIT(ohci)): Register preboot hook.
17028 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
17029 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
17030
170312010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17032
17033 Dedicated DMA allocations.
17034
17035 * bus/pci.c (grub_memalign_dma32): New function
17036 (grub_dma_free): Likewise.
17037 (grub_dma_get_virt): Likewise.
17038 (grub_dma_get_phys): Likewise.
17039 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
17040 (grub_ohci_pci_iter): Use dma32_alloc.
17041 (grub_ohci_transfer): Likewise.
17042 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17043 (grub_usb_bulk_readwrite): Likewise.
17044 * include/grub/pci.h: Add declarations.
17045
170462010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17047
17048 CS5536 support.
17049
17050 * bus/cs5536.c: New file.
17051 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
17052 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
17053 (cs5536_mod_SOURCES): New variable.
17054 (cs5536_mod_CFLAGS): Likewise.
17055 (cs5536_mod_LDFLAGS): Likewise.
17056 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
17057 machine/pci.h.
17058 (kernel_img_SOURCES): Add bus/cs5536.c.
17059 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
17060 usb_keyboard.mod.
17061 (usb_mod_SOURCES): New variable.
17062 (usb_mod_CFLAGS): New variable.
17063 (usb_mod_LDFLAGS): New variable.
17064 (usbtest_mod_SOURCES): New variable.
17065 (usbtest_mod_CFLAGS): New variable.
17066 (usbtest_mod_LDFLAGS): New variable.
17067 (ohci_mod_SOURCES): New variable.
17068 (ohci_mod_CFLAGS): New variable.
17069 (ohci_mod_LDFLAGS): New variable.
17070 (usbms_mod_SOURCES): New variable.
17071 (usbms_mod_CFLAGS): New variable.
17072 (usbms_mod_LDFLAGS): New variable.
17073 (usb_keyboard_mod_SOURCES): New variable.
17074 (usb_keyboard_mod_CFLAGS): New variable.
17075 (usb_keyboard_mod_LDFLAGS): New variable.
17076 * include/grub/smbus.h: New file.
17077 * include/grub/cs5536.h: New file.
17078
0b35b2a9
CW
170792010-06-02 Colin Watson <cjwatson@ubuntu.com>
17080
17081 * util/grub.d/00_header.in: Add safety check to make sure that
17082 ${locale_dir} exists before trying to probe it.
17083
ca0afd5b
CW
170842010-06-02 Colin Watson <cjwatson@ubuntu.com>
17085
17086 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
17087 per the GNU Coding Standards; this is now too obscure to be worth
17088 documenting.
17089 (QNX): Likewise.
17090 (chainloader): Remove cross-reference to `SCO UnixWare'.
17091
1c41aa78
CW
170922010-06-02 Colin Watson <cjwatson@ubuntu.com>
17093
17094 * docs/grub.texi (Chain-loading): New section.
17095 (DOS/Windows): New section, borrowed from GRUB Legacy with details
17096 adjusted for GRUB 2.
17097 (SCO UnixWare): Likewise.
17098 (QNX): Likewise.
17099 (chainloader): Add reference to `Block list syntax'.
17100 (drivemap): New section.
17101 (parttool): New section.
17102
bb8ea0f5
CW
171032010-06-02 Colin Watson <cjwatson@ubuntu.com>
17104
17105 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
17106 the grub shell'.
17107 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
17108 (Installing GRUB using grub-install): Remove reference to the grub
17109 shell; mention `grub-mkimage' and `grub-setup' instead.
17110 (Invoking grub-install): Likewise.
17111 (Interface): Add reference to `Menu entry editor'.
17112 (serial): Remove `--device' option.
17113
288dd6ed
CW
171142010-06-02 Colin Watson <cjwatson@ubuntu.com>
17115
17116 * docs/grub.texi (Configuration): New section, documenting
17117 configuration file generation using grub-mkconfig. I've left a slot
17118 for documenting the full shell scripting format but have not yet
17119 started on writing that up.
17120 (Invoking grub-mkconfig): New section.
17121
34c9f0e9
CW
171222010-06-02 Colin Watson <cjwatson@ubuntu.com>
17123
17124 * docs/grub.texi (direntry): Remove grub-terminfo reference.
17125 (GNU GRUB manual): Likewise.
17126 (General commands): Update description of `terminfo' for GRUB 2.
17127
9121567e
CW
171282010-06-02 Colin Watson <cjwatson@ubuntu.com>
17129
17130 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
17131 (GRUB_MOD_INIT): Fix capitalisation.
17132 * docs/grub.texi (Command-line and menu entry commands): Document
17133 gettext and gptsync commands.
17134
ab631611
CW
171352010-06-02 Colin Watson <cjwatson@ubuntu.com>
17136
17137 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
17138 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
17139
bde4a9ac
CW
171402010-06-01 Colin Watson <cjwatson@ubuntu.com>
17141
17142 Add btrfs probing support, currently only in the single-device case.
17143
17144 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
17145 function.
17146 (grub_guess_root_device): Call find_root_device_from_mountinfo
17147 before looking in /dev.
17148
b1d17e10
VS
171492010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17150
17151 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
17152 GRUB_DISK_SIZE_UNKNOWN.
17153 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
17154
dfbfe004
JS
171552010-05-31 Jiro SEKIBA <jir@unicus.jp>
17156
17157 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
17158 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
17159 corrupted or not synced properly.
17160
c2ffc8e9
VS
171612010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17162
17163 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
17164 Reported by: Seth Goldberg.
17165
56293166
VS
171662010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17167
17168 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
17169 addition of dest.
17170 Reported by: Seth Goldberg.
17171
7620e7de
VS
171722010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17173
17174 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
17175 Reported by: Seth Goldberg.
17176
c837af3f
VS
171772010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17178
17179 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
17180 64-bit address as signed on MIPS.
17181
c7c75cf4
CW
171822010-05-28 Colin Watson <cjwatson@ubuntu.com>
17183
17184 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
17185 to the empty string.
17186
fa4b8490
BC
171872010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
17188
17189 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
17190
17191 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
17192 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
17193 * kern/misc.c (__enable_execute_stack): Disable on
17194 GRUB_MACHINE_EMU.
17195
a33075b9
CW
171962010-05-28 Colin Watson <cjwatson@ubuntu.com>
17197
17198 Make grub-probe work with symbolic links under /dev/mapper as well
17199 as with real block devices. The Linux world seems to be (at best)
17200 in transition here, and GRUB shouldn't get caught in the middle.
17201
17202 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
17203 /dev/mapper.
17204
d8708134
CW
172052010-05-27 Colin Watson <cjwatson@ubuntu.com>
17206
17207 * util/grub-script-check.c (main): Ensure defined behaviour on empty
17208 input files (in which case exit zero).
17209
db2102a0
CW
172102010-05-27 Colin Watson <cjwatson@ubuntu.com>
17211
17212 * kern/emu/misc.c (canonicalize_file_name): realpath can still
17213 return NULL for various reasons even if it has a maximum-length
17214 buffer: for example, there might be a symlink loop, or the path
17215 might exceed PATH_MAX. If this happens, return NULL.
17216
5fdba519
RM
172172010-05-27 Robert Millan <rmh@gnu.org>
17218
17219 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
17220 partmap module to handle cross-partmap setups.
17221 Reported by Orestes Mas. Gràcies!
17222
d1d368e4
CW
172232010-05-27 Colin Watson <cjwatson@ubuntu.com>
17224
17225 * util/grub-mkrescue.in: Initialise override_dir rather than
17226 assuming that it's unset or empty in the environment.
17227
95ac3c73
GS
172282010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
17229
17230 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
17231 variable index into p_index to suppress a warning with -Wshadow.
17232
7d8c0213
BC
172332010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
17234
17235 * INSTALL: Added flex >= 2.5.35 requirement.
17236
db4d5813
VS
172372010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17238
17239 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
17240
f24f4300
VS
172412010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17242
17243 cmostest support.
17244
17245 * commands/i386/cmostest.c: New file.
17246 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
17247 (cmostest_mod_SOURCES): New variable.
17248 (cmostest_mod_CFLAGS): Likewise.
17249 (cmostest_mod_LDFLAGS): Likewise.
17250 * conf/i386-pc.rmk: Likewise.
17251 * docs/grub.texi (Vendor power-on keys): New section.
17252 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
17253 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
17254 and GRUB_BUTTON_CMOS_ADDRESS.
17255 * util/grub.d/00_header.in: Handle powering-on by separate button.
17256
ad603f61
VS
172572010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17258
17259 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
17260 Removed drawing_scrollbar argument. All users updated
17261 Fixes #29792.
17262 Reported by Jo Shields
17263
3ecb080a
VS
172642010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17265
17266 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
17267 buffer since gfxterm handles double repaint.
17268
5f2316c1
VS
172692010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17270
17271 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
17272 * term/gfxterm.c (real_scroll): Likewise.
17273
9a25f885
VS
172742010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17275
17276 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17277 before calling BIOS.
17278
39fbb79a
VS
172792010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17280
17281 * include/grub/i18n.h: Always enable grub_gettext.
17282
228cfa97
VS
172832010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17284
17285 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17286 partition naming style.
17287
21717c8f
CW
172882010-05-21 Colin Watson <cjwatson@ubuntu.com>
17289
17290 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17291 not the first option.
17292
c0f48e65
CW
172932010-05-20 Colin Watson <cjwatson@ubuntu.com>
17294
17295 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17296
96779aec
CW
172972010-05-20 Colin Watson <cjwatson@ubuntu.com>
17298
17299 * util/misc.c: Move inclusion of <limits.h> to ...
17300 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17301
fa9d256e
GS
173022010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17303
17304 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17305 Fix merge error in NetBSD code.
17306 (find_partition_start) [__NetBSD__]: Likewise.
17307
123b7a85
BC
173082010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17309
17310 Fix grub-mkrescue usage unit testing.
17311
17312 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17313
74276c0d
CF
173142010-05-18 Christian Franke <franke@computer.org>
17315
17316 * util/grub.d/10_windows.in: Use path names instead of
17317 drive letters to prevent warning from Cygwin 1.7.
17318 Add drivemap command to menuentry if needed.
17319
c4f7b523
ST
173202010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17321
17322 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17323 gnumach and gnumach.gz.
17324
95b97950
VS
173252010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17326
17327 * include/grub/i18n.h (gettext): Inline instead of using #define.
17328 (grub_gettext): Likewise.
17329 (_): Likewise.
17330
01b8d2d7
VS
173312010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17332
17333 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17334 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17335 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17336 (main): Add a slash after pkglibdirroot.
17337
654e1d1e
VS
173382010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17339
17340 * util/grub-install.in: Add missing "in" keyword.
17341
26966aeb
VS
173422010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17343
17344 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
17345 Reported by: Seth Goldberg.
17346
75006747
VS
173472010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17348
17349 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
17350
74cbf5bd
CW
173512010-05-18 Colin Watson <cjwatson@ubuntu.com>
17352
17353 * configure.ac: Check for Linux device-mapper support.
17354
17355 * util/hostdisk.c (device_is_mapped): New function.
17356 (find_partition_start): New function, partly broken out from
17357 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
17358 device-mapper support added.
17359 (linux_find_partition): Use find_partition_start.
17360 (convert_system_partition_to_system_disk): Add `st' argument.
17361 Support Linux /dev/mapper/* devices if device-mapper support is
17362 available; only DM-RAID devices are understood at present.
17363 (find_system_device): Add `st' argument. Pass it to
17364 convert_system_partition_to_system_disk.
17365 (grub_util_biosdisk_get_grub_dev): Pass stat result to
17366 find_system_device and convert_system_partition_to_system_disk. Use
17367 find_partition_start.
17368
17369 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
17370 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
17371 * util/deviceiter.c [__linux__]: Define MINOR.
17372 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
17373 * util/mkdevicemap.c (grub_putchar): New function.
17374 (grub_getkey): New function.
17375 (grub_refresh): New function.
17376 (main): Set debug=all if -v -v is used.
17377
355b51e9
CW
173782010-05-18 Colin Watson <cjwatson@ubuntu.com>
17379
17380 Fix build with non-GNU libcs.
17381
17382 * util/misc.c (canonicalize_file_name): Move to ...
17383 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
17384 grub_make_system_path_relative_to_its_root.
17385
7fb5c25f
CW
173862010-05-18 Colin Watson <cjwatson@ubuntu.com>
17387
17388 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
17389 we handle finding grub-mkimage. Default to finding grub-mkimage in
17390 ${bindir} with program_transform_name applied, and provide a
17391 --grub-mkimage option to override this.
17392
1d3293d6
VS
173932010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17394
17395 Remove grub-mkisofs.
17396
17397 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
17398 (grub_mkisofs_SOURCES): Removed.
17399 (grub_mkisofs_CFLAGS): Removed.
17400 * util/mkisofs/defaults.h: Removed.
17401 * util/mkisofs/eltorito.c: Likewise.
17402 * util/mkisofs/exclude.h: Likewise.
17403 * util/mkisofs/hash.c: Likewise.
17404 * util/mkisofs/include/: Likewise.
17405 * util/mkisofs/include/fctldefs.h: Likewise.
17406 * util/mkisofs/include/mconfig.h: Likewise.
17407 * util/mkisofs/include/prototyp.h: Likewise.
17408 * util/mkisofs/include/statdefs.h: Likewise.
17409 * util/mkisofs/iso9660.h: Likewise.
17410 * util/mkisofs/joliet.c: Likewise.
17411 * util/mkisofs/match.c: Likewise.
17412 * util/mkisofs/match.h: Likewise.
17413 * util/mkisofs/mkisofs.c: Likewise.
17414 * util/mkisofs/mkisofs.h: Likewise.
17415 * util/mkisofs/msdos_partition.h: Likewise.
17416 * util/mkisofs/multi.c: Likewise.
17417 * util/mkisofs/name.c: Likewise.
17418 * util/mkisofs/rock.c: Likewise.
17419 * util/mkisofs/tree.c: Likewise.
17420 * util/mkisofs/write.c: Likewise.
17421
5dde9afe
VS
174222010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17423
17424 Unify grub-mkimage accross platforms.
17425
17426 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
17427 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
17428 (grub_mkelfimage_SOURCES): Removed.
17429 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
17430 (util/grub-mkimage.c_DEPENDENCIES): .. this.
17431 (bin_UTILITIES): Add grub-mkimage.
17432 (grub_mkimage_SOURCES): New variable.
17433 (kernel_img_HEADERS): Remove machine/kernel.h.
17434 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
17435 (pkglib_PROGRAMS): Add kernel.img.
17436 (kernel_img_HEADERS): Add machine/kernel.h.
17437 (kernel_img_FORMAT): Removed.
17438 (bin_UTILITIES): Remove grub-mkimage.
17439 (grub_mkimage_SOURCES): Removed.
17440 (grub_mkimage_CFLAGS): Likewise.
17441 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17442 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
17443 (pkglib_PROGRAMS): Add kernel.img.
17444 (bin_UTILITIES): Remove grub-mkimage.
17445 (grub_mkimage_SOURCES): Removed.
17446 (grub_mkimage_CFLAGS): Likewise.
17447 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17448 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
17449 (pkglib_PROGRAMS): Add kernel.img.
17450 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
17451 (pkglib_PROGRAMS): Add kernel.img.
17452 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
17453 (grub_mkimage_SOURCES): Removed.
17454 (grub_mkimage_CFLAGS): Likewise.
17455 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17456 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
17457 (pkglib_PROGRAMS): Add kernel.img.
17458 (bin_UTILITIES): Remove grub-mkimage.
17459 (grub_mkimage_SOURCES): Removed.
17460 (grub_mkimage_CFLAGS): Likewise.
17461 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17462 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
17463 (grub_mkimage_SOURCES): Removed.
17464 (grub_mkimage_CFLAGS): Likewise.
17465 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17466 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
17467 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
17468 (grub_pe32_optional_header): ... this.
17469 (grub_pe64_optional_header): ... and this. All users updated.
17470 (GRUB_PE32_PE32_MAGIC): Split into ..
17471 (GRUB_PE32_PE32_MAGIC): .. this.
17472 (GRUB_PE32_PE64_MAGIC): .. and this.
17473 (GRUB_PE32_SIGNATURE_SIZE): New definition.
17474 * include/grub/elf.h (PT_GNU_STACK): New definition.
17475 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
17476 * include/grub/i386/efi/kernel.h: Likewise.
17477 * include/grub/i386/kernel.h: Likewise.
17478 * include/grub/i386/pc/kernel.h: Likewise.
17479 * include/grub/i386/qemu/boot.h: Likewise.
17480 * include/grub/mips/kernel.h: Likewise.
17481 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17482 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17483 * include/grub/powerpc/kernel.h: Likewise.
17484 * include/grub/sparc64/ieee1275/boot.h: Likewise.
17485 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17486 * include/grub/sparc64/kernel.h: Likewise.
17487 * include/grub/x86_64/efi/kernel.h: Likewise.
17488 * include/grub/x86_64/kernel.h: Likewise.
17489 * include/grub/offsets.h: New file.
17490 * include/grub/kernel.h (grub_module_info): Split into ...
17491 (grub_module_info32): ... this.
17492 (grub_module_info64): ... and this.
17493 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
17494 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
17495 (grub_boot_blocklist): Moved from here ...
17496 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
17497 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
17498 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
17499 * include/grub/types.h (grub_target_to_host16): Removed.
17500 (grub_target_to_host32): Likewise.
17501 (grub_target_to_host64): Likewise.
17502 (grub_host_to_target16): Likewise.
17503 (grub_host_to_target32): Likewise.
17504 (grub_host_to_target64): Likewise.
17505 (grub_host_to_target_addr): Likewise.
17506
17507 Support grub-mkrescue for efi, coreboot and qemu.
17508
17509 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
17510 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
17511 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
17512 * util/grub-mkrawimage.c: Moved from here ...
17513 * util/grub-mkimage.c: ... here. All users updated.
17514 (ALIGN_ADDR): Use image_target.
17515 (TARGET_NO_FIELD): New const.
17516 (image_target_desc): New type.
17517 (image_targets): New array.
17518 (grub_target_to_host64): Use image_target.
17519 (grub_target_to_host32): Likewise.
17520 (grub_target_to_host16): Likewise.
17521 (grub_host_to_target64): Likewise.
17522 (grub_host_to_target32): Likewise.
17523 (grub_host_to_target16): Likewise.
17524 (grub_host_to_target_addr): Likewise.
17525 (generate_image): Handle multiimage.
17526 (main): Require -O parameter. All users updated.
17527 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
17528 util/efi/grub-mkimage.c
17529 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
17530 New option --rom-directory.
17531 Use xorriso.
17532 * util/i386/efi/grub-mkimage.c: Removed.
17533 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
17534 (grub_target_to_host32): Likewise.
17535 (grub_target_to_host64): Likewise.
17536 (grub_host_to_target16): Likewise.
17537 (grub_host_to_target32): Likewise.
17538 (grub_host_to_target64): Likewise.
17539 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
17540 (grub_target_to_host32): Likewise.
17541 (grub_target_to_host64): Likewise.
17542 (grub_host_to_target16): Likewise.
17543 (grub_host_to_target32): Likewise.
17544 (grub_host_to_target64): Likewise.
17545
f4fc97d0
BC
175462010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
17547
17548 Source tree is reorganized for emu build.
17549
17550 * include/grub/util/console.h: Move from here...
17551 * include/grub/emu/console.h: ...to here.
17552 * include/grub/util/getroot.h: Move from here...
17553 * include/grub/emu/getroot.h: ...to here.
17554 * include/grub/util/hostdisk.h: Move from here...
17555 * include/grub/emu/hostdisk.h: ...to here.
17556 * util/console.c: Move from here...
17557 * kern/emu/console.c: ...to here.
17558 * util/getroot.c: Move from here...
17559 * kern/emu/getroot.c: ...to here.
17560 * util/grub-emu.c: Move from here...
17561 * kern/emu/main.c: ...to here.
17562 * util/hostdisk.c: Move from here...
17563 * kern/emu/hostdisk.c: ...to here.
17564 * util/hostfs.c: Move from here...
17565 * kern/emu/hostfs.c: ...to here.
17566 * util/mm.c: Move from here...
17567 * kern/emu/mm.c: ...to here.
17568 * util/pci.c: Move from here...
17569 * bus/emu/pci.c: ...to here.
17570 * util/sdl.c: Move from here...
17571 * video/emu/sdl.c: ...to here.
17572 * util/time.c: Move from here...
17573 * kern/emu/time.c: ...to here.
17574 * util/usb.c: Move from here...
17575 * bus/usb/emu/usb.c: ...to here.
17576
17577 * include/grub/emu/misc.h: New header for grub-emu functions.
17578 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
17579
17580 * conf/any-emu.rmk: Rule updates for above renames.
17581 * conf/common.rmk: Likewise.
17582 * conf/i386-pc.rmk: Likewise.
17583 * conf/i386-qemu.rmk: Likewise.
17584 * conf/mips.rmk: Likewise.
17585 * conf/sparc64-ieee1275.rmk: Likewise.
17586 * conf/x86-efi.rmk: Likewise.
17587
17588 * disk/lvm.h: #include updates for above renames.
17589 * util/grub-mkrelpath.c: Likewise.
17590 * util/grub-probe.c: Likewise.
17591 * util/i386/pc/grub-setup.c: Likewise.
17592 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17593 * kern/emu/console.c: Likewise.
17594 * kern/emu/getroot.c: Likewise.
17595 * kern/emu/hostdisk.c: Likewise.
17596 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
17597
17598 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
17599 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
17600 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
17601 * util/misc.c: Remove grub-emu functions.
17602
cced9145
VS
176032010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17604
17605 Fix gfxmenu crash.
17606 Reported by: Thorsten Grützmacher.
17607
17608 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
17609 timeout hook.
17610 (circprog_set_property): Register and unregister timeout hook.
17611 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
17612 (label_destroy): Free template. and unregister hook.
17613 (label_set_state): New function.
17614 (label_set_property): Handle templates and hooks.
17615 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
17616 timeout hook.
17617 (progress_bar_set_property): Register and unregister timeout hook.
17618 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
17619 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
17620 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
17621 (update_timeout_visit): Removed.
17622 (update_timeouts): New function.
17623 (redraw_timeouts): Likewise.
17624 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
17625 (grub_gfxmenu_clear_timeout): Likewise.
17626 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
17627 (grub_gfxmenu_timeout_notify): Likewise.
17628 (grub_gfxmenu_timeout_notifications): New external variable.
17629 (grub_gfxmenu_timeout_register): New function.
17630 (grub_gfxmenu_timeout_unregister): Likewise.
17631
c6e5caab
VS
176322010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17633
17634 Transform (broken) vga terminal into (working) vga video driver.
17635
17636 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
17637 video/i386/pc/vga.c.
17638 * include/grub/video.h (grub_video_driver_id):
17639 Add GRUB_VIDEO_DRIVER_VGA.
17640 * term/i386/pc/vga.c: Renamed to ...
17641 * video/i386/pc/vga.c: ...this
17642 (DEBUG_VGA): Removed.
17643 (CHAR_WIDTH): Likewise.
17644 (CHAR_HEIGHT): Likewise.
17645 (TEXT_WIDTH): Likewise.
17646 (TEXT_HEIGHT): Likewise.
17647 (DEFAULT_FG_COLOR): Likewise.
17648 (DEFAULT_BG_COLOR): Likewise.
17649 (colored_char): Likewise.
17650 (xpos): Likewise.
17651 (ypos): Likewise.
17652 (cursor_state): Likewise.
17653 (fg_color): Likewise.
17654 (bg_color): Likewise.
17655 (text_buf): Likewise.
17656 (page): Likewise.
17657 (font): Likewise.
17658 (framebuffer): New variable.
17659 (set_read_map): Disabled.
17660 (setup): New variable.
17661 (is_target): Likewise.
17662 (grub_vga_mod_init): Likewise.
17663 (grub_vga_mod_fini): Likewise.
17664 (check_vga_mem): Likewise.
17665 (write_char): Likewise.
17666 (write_cursor): Likewise.
17667 (scroll_up): Likewise.
17668 (grub_vga_putchar): Likewise.
17669 (grub_vga_getcharwidth): Likewise.
17670 (grub_vga_getwh): Likewise.
17671 (grub_vga_getxy): Likewise.
17672 (grub_vga_gotoxy): Likewise.
17673 (grub_vga_cls): Likewise.
17674 (grub_vga_setcolorstate): Likewise.
17675 (grub_vga_setcursor): Likewise.
17676 (grub_video_vga_init): New function.
17677 (grub_video_vga_setup): Likewise.
17678 (grub_video_vga_fini): Likewise.
17679 (update_target): Likewise.
17680 (grub_video_vga_blit_bitmap): Likewise.
17681 (grub_video_vga_blit_render_target): Likewise.
17682 (grub_video_vga_set_active_render_target): Likewise.
17683 (grub_video_vga_get_active_render_target): Likewise.
17684 (grub_video_vga_swap_buffers): Likewise.
17685 (grub_video_vga_set_palette): Likewise.
17686 (grub_video_vga_get_info_and_fini): Likewise.
17687 (grub_vga_term): Removed.
17688 (grub_video_vga_adapter): New variable.
17689 (GRUB_MOD_INIT): Register a video driver instead of terminal.
17690 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
17691
2bf61a98
VS
176922010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17693
17694 * video/readers/jpeg.c: Indented.
17695
09ddcd11
VS
176962010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17697
17698 Various jpeg cleanups.
17699
17700 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
17701 (grub_jpeg_decode_quan_table): Use sizeof.
17702 (grub_jpeg_decode_du): Use ARRAY_SIZE.
17703
e5507505
PH
177042010-05-05 Peter Hurley <No e-mail available> (tiny change)
17705
17706 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
17707 tables. Ignore non-last ac bit.
17708 (grub_jpeg_decode_quan_table): Likewise.
17709
7e720a9b
VS
177102010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17711
17712 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
17713 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
17714 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17715 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
17716 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
17717 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
17718
a7fc080b
VS
177192010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17720
17721 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
17722 error.
17723
2bf6012d
VS
177242010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17725
17726 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
17727
265d68cd
VS
177282010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
17731 condition.
17732
177332010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
17734
17735 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
17736 part.
17737
265d68cd 177382010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
17739
17740 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
17741 pointers.
17742
265d68cd 177432010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
17744
17745 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
17746
d1b61374
CF
177472010-05-01 Christian Franke <franke@computer.org>
17748
17749 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
17750 Remove broken Cygwin path conversion.
17751 * util/misc.c: [__CYGWIN__] Add include and define.
17752 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
17753 for Cygwin 1.7.
17754 (make_system_path_relative_to_its_root): Simplify loop, replace early
17755 return by break.
17756 [__CYGWIN__] Add conversion to win32 path.
17757 Include "/" case in trailing slash removal.
17758
3558c6e9
VS
177592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17760
17761 * kern/main.c (grub_load_config): Fix copy-pasted comment.
17762 Reported by: Seth Goldberg
17763
f5f3ff93
VS
177642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17765
17766 * commands/help.c (grub_cmd_help): Fix a typo.
17767 Reported by: Seth Goldberg
17768
d8b5cd40
VS
177692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17770
17771 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
17772 name and add N_.
17773 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
17774 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
17775 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
17776 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
17777 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
17778 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
17779 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17780 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17781 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17782 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17783 * normal/context.c (GRUB_MOD_INIT): Likewise.
17784 * normal/main.c (GRUB_MOD_INIT): Likewise.
17785 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17786 * term/serial.c (GRUB_MOD_INIT): Likewise.
17787 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17788
88c14915
VS
177892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17790
17791 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
17792 extra == 0.
17793
165134bc
VS
177942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17795
17796 * commands/iorw.c: New file.
17797 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
17798 (iorw_mod_SOURCES): New variable.
17799 (iorw_mod_CFLAGS): Likewise.
17800 (iorw_mod_LDFLAGS): Likewise.
17801
c5ac9b32
VS
178022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17803
17804 Hotkey support
17805
17806 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
17807 * normal/main.c (hotkey_aliases): New variable.
17808 (grub_normal_add_menu_entry): Parse "--hotkey".
17809 * normal/menu_text.c (run_menu): Handle hotkeys.
17810
ce60689c
VS
178112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17812
17813 * kern/i386/coreboot/init.c (grub_machine_init): Call
17814 grub_machine_mmap_init on qemu.
17815
0359d006
VS
178162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17817
17818 * boot/i386/qemu/boot.S: Add a missing .code16.
17819
7819a456
VS
178202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17821
17822 Use LBIO on coreboot.
17823
17824 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
17825 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
17826 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
17827 New declaration.
17828 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
17829 grub_machine_mmap_init on coreboot.
17830 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
17831 GRUB_LINUXBIOS_MEMBER_LINK.
17832 (grub_machine_mmap_iterate): Fix declaration.
17833 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
17834
7210dca9
VS
178352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17836
17837 Split coreboot and multiboot ports.
17838
17839 * conf/i386-multiboot.rmk: New file.
17840 * configure.ac: Add multiboot port.
17841 * include/grub/i386/multiboot/boot.h: New file.
17842 * include/grub/i386/multiboot/console.h: Likewise.
17843 * include/grub/i386/multiboot/init.h: Likewise.
17844 * include/grub/i386/multiboot/kernel.h: Likewise.
17845 * include/grub/i386/multiboot/loader.h: Likewise.
17846 * include/grub/i386/multiboot/memory.h: Likewise.
17847 * include/grub/i386/multiboot/serial.h: Likewise.
17848 * include/grub/i386/multiboot/time.h: Likewise.
17849 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
17850 * loader/multiboot.c: Likewise.
17851 * loader/multiboot_mbi2.c: Likewise.
17852 * util/grub-mkrescue.in: Generate multiboot rescue.
17853
6f8aaf68
VS
178542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17855
3080f7a7
VS
17856 * kern/parser.c (grub_parser_execute): Cope with read-only config.
17857
178582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17859
17860 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
17861
17862 * commands/terminal.c (abstract_terminal): New struct.
17863 (handle_command): New function. Based on grub_cmd_terminal_input.
17864 (grub_cmd_terminal_input): Use handle_command.
17865 (grub_cmd_terminal_output): Use handle_command.
17866
a8ebb841
BC
178672010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
17868
17869 Fix comment handling.
17870
17871 * tests/grub_script_comments.in: New testcase.
17872 * conf/tests.rmk: Rules for new testcase.
17873 * script/yylex.l: Updated flex rules.
17874
bb06ba08
ST
178752010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
17876
17877 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
17878 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
17879 if argc is 1.
bb06ba08 17880
cc9d2425
VS
178812010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17882
17883 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
17884 autogen issues.
17885
460d8402
CF
178862010-04-26 Christian Franke <franke@computer.org>
17887
17888 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
17889 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
17890 (grub_get_prefix): Remove function.
17891 * util/grub-emu.c (main): Replace grub_get_prefix () call by
17892 make_system_path_relative_to_its_root ().
17893 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17894
553c01f9
CF
178952010-04-24 Christian Franke <franke@computer.org>
17896
17897 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
17898 (kernel_img_LDFLAGS): Remove -static-libgcc.
17899
2aec1692
CF
179002010-04-24 Christian Franke <franke@computer.org>
17901
17902 * configure.ac: Do not CHECK_BSS_START_SYMBOL
17903 and CHECK_END_SYMBOL if grub-emu is built.
17904 Unset TARGET_OBJ2ELF if grub-emu is built
17905 without module support.
17906
f67dc308
JS
179072010-04-24 Jiro SEKIBA <jir@unicus.jp>
17908
17909 Nilfs2 support.
17910
17911 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
17912 (grub_fstest_SOURCES): Likewise.
17913 (pkglib_MODULES): Add nilfs2.mod.
17914 (nilfs2_mod_SOURCES): New variable.
17915 (nilfs2_mod_CFLAGS): Likewise.
17916 (nilfs2_mod_LDFLAGS): Likewise.
17917 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17918 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17919 * fs/nilfs2.c: New file.
17920
4ba8d354
VS
179212010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
17922
17923 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
17924 is not supported.
17925
0d2c20c6
GS
179262010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
17927
17928 Add grub-mkconfig support for NetBSD.
17929
17930 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
17931 * util/grub-mkconfig.in: export new NetBSD specific variables.
17932 * po/POTFILES-shell: added 10_netbsd.in.
17933 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
17934
bc4a2d83
BC
179352010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
17936
17937 Fix emu build with grub-emu-pci and grub-emu-modules.
17938
17939 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
17940 functions.
17941 * include/grub/libpciaccess.h: New file.
17942 * conf/any-emu.rmk: Update kernel headers for emu build.
17943
f48c87aa
VS
179442010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17945
17946 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
17947
18959385
VS
179482010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17949
17950 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
17951
0037de3f
VS
179522010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17953
17954 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
17955 Retrieve chosen/bootpath if bootpath isn't hardcoded.
17956 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
17957 util/ieee1275/ofpath.c.
17958 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
17959 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
17960 * include/grub/sparc64/ieee1275/boot.h
17961 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
17962 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
17963 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
17964 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
17965 const char *.
17966 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
17967 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
17968 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
17969 install.
17970
38e55e90
GS
179712010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17972
17973 * util/grub-mkconfig.in: Corrected two == equality tests.
17974 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
17975 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
17976 expect a number appended to it.
17977 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
17978 expects a number appended to it.
17979
a9e6ff28
VS
179802010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17981
17982 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
17983
0b830b8f
VS
179842010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17985
17986 * util/hostdisk.c (make_device_name): Change to new partition naming.
17987
0973daeb
VS
179882010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17989
17990 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
17991
460d8402 179922010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
17993
17994 * Makefile.in: Add missing localedir setting.
17995
0b456309
CW
179962010-04-14 Colin Watson <cjwatson@ubuntu.com>
17997
17998 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
17999 mistake in r2156. Noticed by Anthony Fok.
18000
18001 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
18002 @localedir@.
18003 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18004
08f46d62
BC
180052010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
18006
18007 Fix a spurious, uninitialized variable warning.
18008
18009 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
18010 Initialize variable, shdr.
18011 (grub_freebsd_load_elfmodule): Likewise.
18012 (grub_freebsd_load_elf_meta): Likewise.
18013
8c4a72d4
BC
180142010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
18015
18016 Fix for escaped dollar in double quoted strings.
18017
18018 * script/yylex.l: Updated flex rules.
18019 * conf/tests.rmk: Rule for new testcase.
18020 * tests/grub_script_dollar.in: New testcase.
18021
ce44826e
CPE
180222010-04-13 Carles Pina i Estany <carles@pina.cat>
180232010-04-13 Colin Watson <cjwatson@ubuntu.com>
18024
18025 Enclose all translated strings in grub.cfg in single quotes, and
18026 escape them appropriately (Ubuntu bug #552921).
18027
18028 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
18029 * util/grub.d/10_hurd.in: Use it.
18030 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18031 * util/grub.d/10_linux.in (linux_entry): Likewise.
18032
4b0cd8f8
VS
180332010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18034
18035 Fix cygwin compilation.
18036
18037 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
18038 * include/grub/misc.h (__register_frame_info)
18039 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
18040 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18041 * kern/misc.c (__register_frame_info)
18042 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
18043 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18044
01fcf061
VS
180452010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18046
18047 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
18048
5d04b11e
VS
180492010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18050
18051 Unify libgcc processing.
18052
18053 * Makefile.in (kernel_img_LDFLAGS): New variable.
18054 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
18055 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
18056 overwriting.
18057 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
18058 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
18059 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
18060 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
18061 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
18062 overwriting. Remove -lgcc and -static-libgcc
18063 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
18064 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18065 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18066 (kernel_img_LDFLAGS): Append instead of overwriting.
18067 Remove -lgcc and -static-libgcc
18068 * conf/sparc64-ieee1275.rmk: Likewise.
18069 * include/grub/powerpc/libgcc.h: Move to ...
18070 * include/grub/libgcc.h: .. this.
18071 * include/grub/libgcc.h: Don't export most of the function on x86.
18072 (__bswapsi2): New export.
18073 (__bswapdi2): Likewise.
18074 * include/grub/mips/libgcc.h: Removed.
18075 * include/grub/sparc64/libgcc.h: Likewise.
18076
b7f3ac29
VS
180772010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18078
18079 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
18080 disk_info_msg (conflicts with gettexting into languages with cases).
18081
2c7031b1
GS
180822010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
18083
18084 Add grub-probe support for NetBSD.
18085
18086 * util/getroot.c (find_root_device): Convert block device to
18087 character device on NetBSD.
18088 * util/probe.c (probe): Require character device on NetBSD.
18089 * util/hostdisk.c: NetBSD specific headers.
18090 (configure_device_driver): new function to tune device driver
18091 parameters (currently only for NetBSD floppy driver).
18092 (grub_util_biosdisk_open): NetBSD specific code (get disk size
18093 via disklabel ioctl).
18094 (open_device): call configure_device_driver on NetBSD.
18095 (convert_system_partition_to_system_disk): NetBSD specific code.
18096 (device_is_wholedisk): Likewise.
18097 (grub_util_biosdisk_get_grub_dev): Likewise.
18098 (make_device_name): Fixed a typo in bsd_part_str.
18099 * configure.ac: check for opendisk() and getrawpartition() on
18100 NetBSD and set LIBUTIL.
18101 * Makefile.in: add LIBUTIL to LIBS.
18102
f516290c
BC
181032010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18104
18105 Documentation fix.
18106
18107 * util/grub-script-check.c: Better help message.
18108
d8dcc0df
BC
181092010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18110
18111 Fix FreeBSD build.
18112
18113 * configure.ac: Flex version check.
18114 * conf/common.rmk: Add -Wno-error to sh.mod.
18115 * script/yylex.l: Remove all #pragma.
18116
6734334a
VS
181172010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18118
18119 * include/grub/util/misc.h (canonicalise_file_name): Add missing
18120 prototype.
18121 Reported by: Seth Goldberg.
18122
daea6abd
VS
181232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18124
18125 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
18126 Rename "module" to "module2".
18127 Reported by: Seth Goldberg.
18128
f2fd9d2b
VS
181292010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18130
18131 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
18132 EXPORT_FUNC.
18133 Reported by: Seth Goldberg.
18134
be124579
VS
181352010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18136
18137 * lib/posix_wrap/locale.h: Add missing file.
18138 Reported by: Seth Goldberg.
18139
ef5da797
VS
181402010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18141
18142 grub-emu module load support.
18143
18144 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
18145 NO_DYNAMIC_MODULES switched to this.
18146 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
18147 (CFLAGS): Likewise.
18148 * conf/any-emu.rmk: Generate symlist.
18149 (kernel_img_HEADERS): Add util/datetime.h.
18150 (kernel_img_HEADERS) [sdl]: Add sdl.h.
18151 (kernel_img_HEADERS) [libusb]: Add libusb.h.
18152 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
18153 kern/$(target_cpu)/cache.S.
18154 * configure.ac (grub-emu-modules): New option.
18155 * genmk.rb: Handle multiple source lists.
18156 * include/grub/sdl.h: New file.
18157 * include/grub/libusb.h: Likewise.
18158 * util/grub-emu.c (main): Hanle (host) root.
18159 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
18160 GRUB_ERR_UNKNOWN_DEVICE.
18161 * util/misc.c: Move mm functions to ...
18162 * util/mm.c: ... here. All users updated.
18163
47822096
VS
181642010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18165
18166 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
18167 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
18168 missing files.
18169 (maintainer-clean): Remove libgcrypt-grub.
18170
5d7e7445
VS
181712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18172
18173 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
18174
25f4e252
EC
181752010-04-09 EFI Coder <eficoder@hotmail.com>
18176
18177 * normal/menu_text.c (print_message): Clean up the message and show
18178 the Fn information when on EFI
18179 * term/efi/console.c (grub_console_checkkey): Add F4 support.
18180
027de555
VS
181812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18182
18183 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
18184 All users updated.
18185 * normal/crypto.c (read_crypto_list): Likewise.
18186 * normal/dyncmd.c (read_command_list): Likewise.
18187 * normal/term.c (read_terminal_list): Likewise.
18188 * normal/main.c (read_lists): Use explicit prefix.
18189 (read_lists_hook): Use read_lists.
18190 (grub_normal_execute): Likewise.
18191
47779711
VS
181922010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18193
18194 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
18195 Reported by: Thomas Schmitt.
18196 Add -no-emul-boot to grub-mkisofs parameters.
18197
1118c32e
VS
181982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18199
18200 * font/font.c: Indented.
18201
7d652447
BC
182022010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18203
18204 Elif support to GRUB script (by Deepak Vankadaru).
18205
18206 * tests/grub_script_if.in: New testcase.
18207 * conf/tests.rmk: Rule for new testcase.
18208 * script/parser.y: Grammar rules for elif.
18209
34bb22df
BC
182102010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18211
18212 While and until loops support to GRUB script.
18213
18214 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
18215 (grub_script_create_cmdwhile): New function prototype.
18216 (grub_script_execute_cmdwhile): New function prototype.
18217 * script/execute.c (grub_script_execute_cmdwhile): New function.
18218 * script/parser.y (command): New commands.
18219 (whilecmd): New grammar rule.
18220 (untilcmd): New grammar rule.
18221 * script/script.c (grub_script_create_cmdwhile): New function.
18222 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
18223 function.
18224
18225 * tests/grub_script_while1.in: New testcase.
18226 * conf/tests.rmk: Rule for new testcase.
18227
e215d8e0
VS
182282010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18229
18230 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
18231 as *.jpg.
18232
d7c43ba1
MV
182332010-04-09 Mario Vazquez <mariovazq@gmail.com>
18234
18235 GRUB_BACKGROUND support.
18236
18237 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
18238 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
18239
d64795c0
VS
182402010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18241
18242 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 18243 Idea by: Mario Vazquez
d64795c0
VS
18244
18245 * util/grub.d/00_header.in: Load pf2 and image modules.
18246
f267f83a
VS
182472010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18248
18249 grub-mkconfig multiple terminal support.
18250
18251 * util/grub-mkconfig.in: Handle multiple terminals correctly.
18252 * util/grub.d/00_header.in: Likewise.
18253
b7841ceb
VS
182542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18255
18256 * Makefile.in: Specify files explicitly instead of using $< and $@ since
18257 we use cd $(srcdir).
18258
df60998c
CW
182592010-04-08 Colin Watson <cjwatson@ubuntu.com>
18260
18261 * util/grub.d/10_linux.in: Only use the first word of
18262 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
18263 spaces in GRUB_DISTRIBUTOR.
18264 * util/grub.d/10_kfreebsd.in: Likewise.
18265 * util/grub.d/10_hurd.in: Likewise.
18266
fa09c82e
BC
182672010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
18268
14e18ae3 18269 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
18270
18271 * tests/util/grub-shell.in: Remove -serial stdio option.
18272
daf892b3
BC
182732010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18274
18275 POSIX header file wrappers.
18276
18277 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18278 equivalents.
18279 * lib/posix_wrap/ctype.h: Likewise.
18280 * lib/posix_wrap/errno.h: Likewise.
18281 * lib/posix_wrap/langinfo.h: Likewise.
18282 * lib/posix_wrap/limits.h: Likewise.
18283 * lib/posix_wrap/localcharset.h: Likewise.
18284 * lib/posix_wrap/stdint.h: Likewise.
18285 * lib/posix_wrap/stdio.h: Likewise.
18286 * lib/posix_wrap/stdlib.h: Likewise.
18287 * lib/posix_wrap/string.h: Likewise.
18288 * lib/posix_wrap/sys/types.h: Likewise.
18289 * lib/posix_wrap/unistd.h: Likewise.
18290 * lib/posix_wrap/wchar.h: Likewise.
18291 * lib/posix_wrap/wctype.h: Likewise.
18292 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18293 (grub_script.yy.h): Likewise.
18294 * script/yylex.l: Remove POSIX emulation #defines.
18295 * Makefile.in (POSIX_CFLAGS): New variable.
18296 (GNULIB_UTIL_CFLAGS): Likewise.
18297
18298 Regexp support.
18299
18300 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18301 (regexp_mod_SOURCES): New variable.
18302 (regexp_mod_CFLAGS): Likewise.
18303 (regexp_mod_LDFLAGS): Likewise.
18304 * commands/regexp.c: New file.
18305 * gnulib/regcomp.c: New file. Imported from gnulib.
18306 * gnulib/regex.c: Likewise.
18307 * gnulib/regex_internal.c: Likewise.
18308 * gnulib/regex_internal.h: Likewise.
18309 * gnulib/regexec.c: Likewise.
18310 * gnulib/regex.h: Likewise.
18311
974ac4f7
VS
183122010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18313
18314 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18315 unsupported video mode types.
18316
2622c3ff
VS
183172010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18318
18319 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18320
064cb524
VS
183212010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18322
18323 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18324 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18325
a8c3b552
VS
183262010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18327
18328 Remove unused grub_vga_get_font.
18329
18330 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18331 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18332
187bbe3d
GS
183332010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18334
18335 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18336 * include/grub/misc.h: Likewise.
18337
b9396631
GS
183382010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18339
18340 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
18341 for which failure is fatal.
18342
50479feb
GS
183432010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18344
18345 * util/grub-install.in: Use mkdir -p to create grub directory.
18346 * util/i386/efi/grub-install.in: Likewise.
18347 * util/ieee1275/grub-install.in: Likewise.
18348
b1654fdf
GS
183492010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18350
18351 * Makefile.in (LEX): new variable.
18352
bd5a6415
GS
183532010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18354
18355 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
18356 `=' and added double quotes on operands of this equality test.
18357
3db3a82b
VS
183582010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18359
18360 * Makefile.in (uninstall): Remove a leftover debug echo.
18361 Reported by: Grégoire Sutre
18362
38023412
VS
183632010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18364
18365 MIPS multiboot2 support.
18366
18367 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
18368 (multiboot2_mod_SOURCES): New variable.
18369 (multiboot2_mod_CFLAGS): Likewise.
18370 (multiboot2_mod_LDFLAGS): Likewise.
18371 (multiboot2_mod_ASFLAGS): Likewise.
18372 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
18373 definition.
18374 (MULTIBOOT_ENTRY_REGISTER): Likewise.
18375 (MULTIBOOT_MBI_REGISTER): Likewise.
18376 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
18377 (MULTIBOOT_ELF32_MACHINE): Likewise.
18378 (MULTIBOOT_ELF64_MACHINE): Likewise.
18379 * include/grub/mips/multiboot.h: New file.
18380 * include/grub/video.h (grub_video_driver_id): New type
18381 GRUB_VIDEO_DRIVER_SM712.
18382 (grub_video_get_info_and_fini): Export.
18383 (grub_video_get_palette): Likewise.
18384 (grub_video_get_driver_id): Likewise.
18385 * include/multiboot2.h: Resynced with spec.
18386 * loader/i386/multiboot.c: Moved from here ...
18387 * loader/multiboot.c: ... here. All users updated.
18388 (grub_multiboot_boot): Use platform-specific macros.
18389 * loader/i386/multiboot_elfxx.c: Moved from here ...
18390 * loader/multiboot_elfxx.c: ... here. All users updated.
18391 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
18392 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
18393 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
18394
47674667
VS
183952010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18396
18397 Import gnulib argp module.
18398
18399 * gnulib/argp-ba.c: New file.
18400 * gnulib/argp-eexst.c: Likewise.
18401 * gnulib/argp-fmtstream.c: Likewise.
18402 * gnulib/argp-fmtstream.h: Likewise.
18403 * gnulib/argp-fs-xinl.c: Likewise.
18404 * gnulib/argp-help.c: Likewise.
18405 * gnulib/argp-namefrob.h: Likewise.
18406 * gnulib/argp-parse.c: Likewise.
18407 * gnulib/argp-pin.c: Likewise.
18408 * gnulib/argp-pv.c: Likewise.
18409 * gnulib/argp-pvh.c: Likewise.
18410 * gnulib/argp-version-etc.c: Likewise.
18411 * gnulib/argp-version-etc.h: Likewise.
18412 * gnulib/argp-xinl.c: Likewise.
18413 * gnulib/argp.h: Likewise.
18414
495442ed
VS
184152010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18416
18417 * kern/device.c (grub_device_iterate): Clear errors after failed
18418 opening device.
18419
f9fd65df
VS
184202010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18421
18422 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
18423 returned by firmware.
18424
af09641e
VS
184252010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18426
18427 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
18428 compilation on coreboot and qemu
18429
016883a5
VS
184302010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18431
18432 * include/multiboot2.h: Resync with spec.
18433
f97e1f7d
VS
184342010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18435
18436 Multiboot2 tag support
18437
18438 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
18439 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
18440 Remove loader/multiboot_loader.c.
18441 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
18442 (grub_multiboot2_real_boot): Likewise.
18443 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
18444 (grub_get_multiboot_mmap_count): New proto.
18445 (grub_fill_multiboot_mmap): Likewise.
18446 (grub_multiboot_set_video_mode): Likewise.
18447 (grub_multiboot_set_console): Likewise.
18448 (grub_multiboot_load): Likewise.
18449 (grub_multiboot_load_elf): Likewise.
18450 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
18451 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
18452 * include/multiboot.h: Resynced with specification.
18453 * include/multiboot2.h: Resynced with specification.
18454 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
18455 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
18456 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
18457 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
18458 users updated.
18459 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
18460 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
18461 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
18462 Removed.
18463 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
18464 Moved from here...
18465 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
18466 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18467 Moved from here...
18468 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
18469 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
18470 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
18471 All users updated.
18472 * loader/i386/multiboot_mbi2.c: New file.
18473
3506b90b
VS
184742010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18475
18476 Resync with gnulib.
18477
18478 * Makefile.in (GNULIB_CFLAGS): New variable.
18479 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
18480 (grub_script_check_CFLAGS): New variable.
18481 * gnulib/alloca.h: Resync with gnulib.
18482 * gnulib/error.c: Likewise.
18483 * gnulib/error.h: Likewise.
18484 * gnulib/fnmatch.c: Likewise.
18485 * gnulib/fnmatch_loop.c: Likewise.
18486 * gnulib/getdelim.c: Likewise.
18487 * gnulib/getline.c: Likewise.
18488 * gnulib/getopt.c: Likewise.
18489 * gnulib/getopt1.c: Likewise.
18490 * gnulib/getopt_int.h: Likewise.
18491 * gnulib/gettext.h: Likewise.
18492 * gnulib/progname.c: Likewise.
18493 * gnulib/progname.h: Likewise.
18494
394a3120
GS
184952010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
18496
18497 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
18498 which is the case with --disabled-nls.
18499
18500 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
18501 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
18502 * util/misc.c: Likewise.
18503 * util/mkisofs/mkisofs.c: Likewise.
18504 * util/mkisofs/mkisofs.h: Likewise.
18505
969d1c78
VS
185062010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18507
18508 Simplify Apple CC support.
18509
18510 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
18511 Add 0 byte at the end not to have a symbol with empty target.
18512 * mmap/i386/pc/mmap_helper.S: Likewise.
18513 * genmk.rb: Ignore errors 2030 and 2050.
18514 * kern/i386/pc/startup.S: Use LOCAL when possible.
18515
8d2977bb
BC
185162010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
18517
18518 Testcase and the fix for final semicolon on cmdline.
18519
18520 * tests/grub_script_final_semicolon.in: New testcase.
18521 * conf/tests.rmk: Rules for the new testcase.
18522 * script/parser.y: Grammar fix.
18523
a7bd6915
BC
185242010-03-26 BVK Chaitanya <bvk@localhost>
18525
18526 Blank lines testcase for GRUB script.
18527
18528 * tests/grub_script_blanklines.in: New testcase.
18529 * conf/tests.rmk: Rules for the new testcase.
18530
e4ff6628
VS
185312010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18532
18533 Don't use __FILE__.
18534
18535 * genmk.rb: Add -DGRUB_FILE to all C targets.
18536 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
18537 * include/grub/list.h: Likewise.
18538 * include/grub/misc.h: Likewise.
18539 * include/grub/mm.h: Likewise.
18540 * include/grub/test.h: Likewise.
18541 * kern/mm.c: Likewise.
18542 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18543
6a5cf6b6
VS
185442010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18545
18546 Sunpc partitions support.
18547
18548 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
18549 (grub_fstest_SOURCES): Likewise.
18550 (pkglib_MODULES): Add part_sunpc.mod.
18551 (part_sunpc_mod_SOURCES): New variable.
18552 (part_sunpc_mod_CFLAGS): Likewise.
18553 (part_sunpc_mod_LDFLAGS): Likewise.
18554 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
18555 * partmap/sunpc.c: New file.
18556
746d9045
BC
185572010-03-26 BVK Chaitanya <bvk@localhost>
18558
18559 For loop support to GRUB script.
18560
18561 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
18562 (grub_script_create_cmdfor): New function prototype.
18563 (grub_script_execute_cmdfor): New function prototype.
18564 * script/execute.c (grub_script_execute_cmdfor): New function.
18565 * script/parser.y (command): New for command.
18566 (forcmd): New grammar rule.
18567 * script/script.c (grub_script_create_cmdfor): New function.
18568 * util/grub-script-check.c (grub_script_execute_cmdfor): New
18569 function.
18570 * tests/grub_script_for1.in: New testcase.
18571 * conf/tests.rmk: Rules for new testcase.
18572
18486b18
VS
185732010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18574
18575 Nested partitions
18576
18577 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
18578 'partition' is NULL, grub_partition_get_start already does that.
18579 * commands/loadenv.c (check_blocklists): Likewise.
18580 (write_blocklists): Likewise.
18581 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
18582 (grub_fstest_SOURCES): Likewise.
18583 (pkglib_MODULES): Add part_bsd.mod.
18584 (part_bsd_mod_SOURCES): New variable.
18585 (part_bsd_mod_CFLAGS): Likewise.
18586 (part_bsd_mod_LDFLAGS): Likewise.
18587 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
18588 (grub_emu_SOURCES): Likewise.
18589 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18590 * include/grub/bsdlabel.h: New file.
18591 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
18592 'get_name'.
18593 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
18594 (grub_partition_map_list): New variable.
18595 (grub_partition_map_register): Inline.
18596 (grub_partition_map_unregister): Likewise.
18597 (FOR_PARTITION_MAPS): New macro.
18598 (grub_partition_map_iterate): Removed.
18599 (grub_partition_get_start): Handle nested partitions.
18600 * include/grub/msdos_partition.h: Remove bsd-related entries.
18601 (grub_pc_partition): Remove.
18602 * kern/disk.c (grub_disk_close): Free partition data.
18603 (grub_disk_adjust_range): Handle nested partitions.
18604 * kern/partition.c (grub_partition_map_probe): New function.
18605 (grub_partition_probe): Parse name to number, handle subpartitions.
18606 (get_partmap): New function.
18607 (grub_partition_iterate): Handle subpartitions.
18608 (grub_partition_get_name): Likewise.
18609 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
18610 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
18611 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
18612 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
18613 Set 'number'.
18614 (acorn_partition_map_probe): Remove.
18615 (acorn_partition_map_get_name): Likewise.
18616 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
18617 Set 'number'.
18618 Set 'index' to 0 since there can be only one partition entry per sector.
18619 (amiga_partition_map_probe): Remove.
18620 (amiga_partition_map_get_name): Likewise.
18621 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
18622 Set 'number'.
18623 Set 'offset' and 'index' to real positions of partitions.
18624 (apple_partition_map_probe): Remove.
18625 (apple_partition_map_get_name): Likewise.
18626 * partmap/bsdlabel.c: New file.
18627 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
18628 Set 'number'.
18629 Allocate 'data' so it can be correctly freed.
18630 Set 'index' to offset inside sector.
18631 (gpt_partition_map_probe): Remove.
18632 (gpt_partition_map_get_name): Likewise.
18633 * partmap/msdos.c (grub_partition_parse): Remove.
18634 (pc_partition_map_iterate): Don't force raw access.
18635 Set 'number'.
18636 Make 'ext_offset' a local variable.
18637 (pc_partition_map_probe): Remove.
18638 (pc_partition_map_get_name): Remove.
18639 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
18640 Set 'number'.
18641 (sun_partition_map_probe): Remove.
18642 (sun_partition_map_get_name): Likewise.
18643 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
18644 (grub_pcpart_type): Likewise.
18645 * util/hostdisk.c (open_device): Handle new numbering scheme.
18646 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
18647 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
18648 * util/grub-probe.c (probe_partmap): Handle nested paritions.
18649 * util/grub-install.in: Insert all subpartition modules.
18650 * util/ieee1275/grub-install.in: Likewise.
18651
a3940f88
AG
186522010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
18653
18654 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
18655 grammar.
18656
21b99926 186572010-03-24 Colin Watson <cjwatson@ubuntu.com>
18658
18659 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
18660
bed1d352
CW
186612010-03-21 Colin Watson <cjwatson@ubuntu.com>
18662
18663 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
18664 match where 'make install' puts them.
18665 * util/i386/efi/grub-install.in: Likewise.
18666
c9f58427
CW
186672010-03-19 Colin Watson <cjwatson@ubuntu.com>
18668
18669 * .bzrignore: Add gentrigtables, grub-script-check,
18670 grub_script_check_init.c, grub_script_check_init.h, and
18671 trigtables.c.
18672
f84afb27
VS
186732010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
18674
18675 * kern/parser.c: Indented.
18676
ed0e3d30
VS
186772010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18678
18679 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
18680
0ea81d98
VS
186812010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18682
18683 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
18684 alpha_mask_size == 0 case.
18685
0cdc2a09
BC
186862010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
18687
18688 GRUB shell lexer and parser improvements.
18689
18690 * conf/any-emu.rmk: Build rule updates.
18691 * conf/common.rmk: Likewise.
18692 * conf/i386-coreboot.rmk: Likewise.
18693 * conf/i386-efi.rmk: Likewise.
18694 * conf/i386-ieee1275.rmk: Likewise.
18695 * conf/i386-pc.rmk: Likewise.
18696 * conf/powerpc-ieee1275.rmk: Likewise.
18697 * conf/x86_64-efi.rmk: Likewise.
18698
18699 * configure.ac: Configure check for flex.
18700
18701 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
18702 types.
18703 (grub_lexer_param): Struct member updates.
18704 (grub_parser_param): Likewise.
18705 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
18706 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
18707 (grub_script_lexer_init): Prototype update.
18708 (grub_script_lexer_record_start): Likewise.
18709 (grub_script_lexer_record_stop): Likewise.
18710 (grub_script_lexer_yywrap): New function prototype.
18711 (grub_script_lexer_fini): Likewise.
18712 (grub_script_execute_argument_to_string): Removed by...
18713 (grub_script_execute_argument_to_argv): ...better version.
18714
18715 * script/execute.c (ROUND_UPTO): New macro.
18716 (grub_script_execute_cmdline): Out of memory fixes.
18717 (grub_script_execute_menuentry): Likewise.
18718 (grub_script_execute_argument_to_string): Removed. Update all
18719 users by...
18720 (grub_script_execute_argument_to_argv): ...better version.
18721 * script/function.c (grub_script_function_create): Use
18722 grub_script_execute_argument_to_argv instead of
18723 grub_script_execute_argument_to_string.
18724
18725 * script/lexer.c (check_varstate): Removed.
18726 (check_textstate): Removed.
18727 (grub_script_lexer_record_start): Likewise.
18728 (grub_script_lexer_record_stop): Likewise.
18729 (recordchar): Replaced with...
18730 (grub_script_lexer_record): ...new function.
18731 (nextchar): Removed.
18732 (grub_script_lexer_init): Rewritten.
18733 (grub_script_yylex): Rewritten.
18734 (append_newline): New function.
18735 (grub_script_lexer_yywrap): New function.
18736 (grub_script_lexer_fini): New function.
18737 (grub_script_yyerror): Sets error flag.
18738
18739 * script/yylex.l: New file.
18740 (grub_lexer_yyfree): Wrapper for flex yyffre.
18741 (grub_lexer_yyalloc): Likewise.
18742 (grub_lexer_yyrealloc): Likewise.
18743 * script/parser.y: Refactored.
18744
18745 * script/script.c (grub_script_arg_add): Out of memory fixes.
18746 (grub_script_add_arglist): Likewise.
18747 (grub_script_create_cmdline): Likewise.
18748 (grub_script_create_cmdmenu): Likewise.
18749 (grub_script_add_cmd): Likewise.
18750 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
18751 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
18752 unnecessary code.
18753
18754 * tests/grub_script_echo1.in: New testcase.
18755 * tests/grub_script_vars1.in: New testcase.
18756 * tests/grub_script_echo_keywords.in: New testcase.
18757
1d63a066
VS
187582010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18759
18760 Remove some redundancy in build system.
18761
18762 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
18763 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
18764 (TARGET_LDFLAGS): Add -nostdlib.
18765 (TARGET_IMG_LDFLAGS): Likewise.
18766 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
18767 anything since mmap isn't available.
18768 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
18769 Add util/time.c.
18770 (pkglib_MODULES): Remove reboot.mod.
18771 (reboot_mod_SOURCES): Removed.
18772 (reboot_mod_CFLAGS): Likewise.
18773 (reboot_mod_LDFLAGS): Likewise.
18774 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
18775 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
18776 (DEFSYMFILES): Add kernel_syms.lst.
18777 (kernel_img_HEADERS): Add common headers.
18778 (symlist.c): New target.
18779 (kernel_syms.lst): Likewise.
18780 (pkglib_MODULES): Add memdisk.mod.
18781 (memdisk_mod_SOURCES): New variable.
18782 (memdisk_mod_CFLAGS): Likewise.
18783 (memdisk_mod_LDFLAGS): Likewise.
18784 (pkglib_MODULES): Add reboot.mod.
18785 (reboot_mod_SOURCES): New variable.
18786 (reboot_mod_CFLAGS): Likewise.
18787 (reboot_mod_LDFLAGS): Likewise.
18788 (pkglib_MODULES): Add date.mod.
18789 (date_mod_SOURCES): New variable.
18790 (date_mod_CFLAGS): Likewise.
18791 (date_mod_LDFLAGS): Likewise.
18792 (pkglib_MODULES): Add datehook.mod.
18793 (datehook_mod_SOURCES): New variable.
18794 (datehook_mod_CFLAGS): Likewise.
18795 (datehook_mod_LDFLAGS): Likewise.
18796 (pkglib_MODULES): Add lsmmap.mod.
18797 (lsmmap_mod_SOURCES): New variable.
18798 (lsmmap_mod_CFLAGS): Likewise.
18799 (lsmmap_mod_LDFLAGS): Likewise.
18800 (pkglib_MODULES): Add boot.mod.
18801 (boot_mod_SOURCES): New variable.
18802 (boot_mod_CFLAGS): Likewise.
18803 (boot_mod_LDFLAGS): Likewise.
18804 * conf/i386-coreboot.rmk: Removed redundant parts.
18805 * conf/i386-ieee1275.rmk: Likewise.
18806 * conf/i386-pc.rmk: Likewise.
18807 * conf/mips-yeeloong.rmk: Likewise.
18808 * conf/mips.rmk: Likewise.
18809 * conf/powerpc-ieee1275.rmk: Likewise.
18810 * conf/sparc64-ieee1275.rmk: Likewise.
18811 * conf/x86_64-efi.rmk: Likewise.
18812 * conf/i386-coreboot.rmk: Moved qemu parts ..
18813 * conf/i386-qemu.rmk: ... here
18814 * conf/i386-efi.rmk: Moved common parts to...
18815 * conf/x86-efi.rmk: ... here.
18816 * conf/i386.rmk: Added modules common to all x86 variants.
18817 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
18818 * disk/memdisk.c: Remove grub/machine/kernel.h.
18819 * gensymlist.sh.in: Include symbol.h.
18820 * hook/datehook.c: Correct module name.
18821 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
18822 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
18823 * include/grub/i386/efi/serial.h: New file.
18824 * include/grub/x86_64/efi/serial.h: Likewise.
18825 * util/time.c: Likewise.
18826 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
18827
463ac55f
CK
188282010-03-14 Colin King <colin.king@ubuntu.com>
188292010-03-14 Colin Watson <cjwatson@ubuntu.com>
18830
18831 Shrink the pre-partition-table part of boot.img by eight bytes.
18832
18833 * boot/i386/pc/boot.S (ERR): New macro.
18834 (chs_mode): Use ERR.
18835 (geometry_error): Likewise.
18836 (hd_probe_error): Remove. This is only used once, so we wrwite
18837 it inline instead.
18838 (read_error): Instead of printing read_error_string, just set up
18839 %si and fall through to ...
18840 (error_message): ... this new function, also used by ERR.
18841
08e46ede
CW
188422010-03-14 Colin Watson <cjwatson@ubuntu.com>
18843
18844 Speed up consecutive hostdisk operations on the same device.
18845
18846 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
18847 (grub_util_biosdisk_open): Initialise disk->data.
18848 (struct linux_partition_cache): New structure.
18849 (linux_find_partition): Cache partition start positions; these are
18850 expensive to compute on every read and write.
18851 (open_device): Cache open file descriptor in disk->data, so that we
18852 don't have to reopen it and flush the buffer cache for consecutive
18853 operations on the same device.
18854 (grub_util_biosdisk_close): New function.
18855 (grub_util_biosdisk_dev): Set `close' member.
18856
18857 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
18858 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
18859 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18860 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18861 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
18862
4a6d2d06
VS
188632010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18864
18865 Compile parts of grub-emu as modules.
18866
18867 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
18868 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
18869 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
18870 (all-local): Add $(GRUB_EMU).
18871 (install-local): Install $(GRUB_EMU).
18872 (uninstall): Uninstall $(GRUB_EMU).
18873 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
18874 * kern/dl.c: Likewise.
18875 * commands/sleep.c: Not include machine/time.h.
18876 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
18877 (COMMON_CFLAGS): Likewise.
18878 (sbin_UTILITIES): Remove grub-emu.
18879 (grub_emu_SOURCES): Removed.
18880 (kernel_img_RELOCATABLE): New variable.
18881 (pkglib_PROGRAMS): Add kernel.img.
18882 (kernel_img_SOURCES): New variable
18883 (kernel_img_CFLAGS): Likewise.
18884 (kernel_img_LDFLAGS): Likewise.
18885 (TARGET_NO_STRIP): Likewise.
18886 (TARGET_NO_DYNAMIC_MODULES): Likewise.
18887 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
18888 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
18889 (grub-emu): New target.
18890 (GRUB_EMU): New variable.
18891 * configure.ac: Whitelist -emu as possible x86_64 architecture.
18892 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
18893 * loader/xnu.c: Likewise.
18894 * include/grub/pci.h: Likewise.
18895 * genemuinit.sh: New file.
18896 * genemuinitheader.sh: Likewise.
18897 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
18898 Support TARGET_NO_DYNAMIC_MODULES.
18899 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
18900 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
18901 * disk/loopback.c: Likewise.
18902 * font/font_cmd.c: Likewise.
18903 * partmap/acorn.c: Likewise.
18904 * partmap/amiga.c: Likewise.
18905 * partmap/apple.c: Likewise.
18906 * partmap/gpt.c: Likewise.
18907 * partmap/msdos.c: Likewise.
18908 * partmap/sun.c: Likewise.
18909 * parttool/msdospart.c: Likewise.
18910 * term/gfxterm.c: Likewise.
18911 * video/bitmap.c: Likewise.
18912 * video/readers/jpeg.c: Likewise.
18913 * video/readers/png.c: Likewise.
18914 * video/readers/tga.c: Likewise.
18915 * video/video.c: Likewise.
18916 * util/grub-emu.c (read_command_list): Removed.
18917 (main): Don't call util_init_nls.
18918 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
18919 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
18920
91fdd2ed
VS
189212010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18922
18923 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
18924 date.mod, datehook.mod.
18925 (datetime_mod_SOURCES): New variable.
18926 (datetime_mod_CFLAGS): Likewise.
18927 (datetime_mod_LDFLAGS): Likewise.
18928 (date_mod_SOURCES): Likewise.
18929 (date_mod_CFLAGS): Likewise.
18930 (date_mod_LDFLAGS): Likewise.
18931 (datehook_mod_SOURCES): Likewise.
18932 (datehook_mod_CFLAGS): Likewise.
18933 (datehook_mod_LDFLAGS): Likewise.
18934 * conf/sparc64-ieee1275.rmk: Likewise.
18935 * lib/ieee1275/datetime.c: New file.
18936
873ccae6
VS
189372010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18938
18939 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
18940 (ieee1275_fb_mod_SOURCES): New variable.
18941 (ieee1275_fb_mod_CFLAGS): Likewise.
18942 (ieee1275_fb_mod_LDFLAGS): Likewise.
18943 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
18944 New proto.
18945 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
18946 (HEAP_MAX_ADDR): Likewise.
18947 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
18948 type.
18949 Correct stop condition.
18950 (grub_ieee1275_devices_iterate): New function.
18951 * video/ieee1275.c: New file.
18952
601c97c0
VS
189532010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18954
18955 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
18956
18957 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
18958 as scratch.
18959 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
18960 SCRATCH_PAD_DISKBOOT as scratch.
18961 (bootit): Pass Openfirmware pointer in %o4.
18962 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
18963 of 0x200000.
18964 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
18965 with util/grub-mkrawimage.c.
18966 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
18967 * include/grub/aout.h (AOUT_MID_SUN): New definition.
18968 (grub_aout_get_type) [GRUB_UTIL]: Removed.
18969 (grub_aout_load) [GRUB_UTIL]: Likewise.
18970 * include/grub/kernel.h (grub_modules_get_end): New proto.
18971 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
18972 (SCRATCH_PAD_BOOT): New definition.
18973 (SCRATCH_PAD_DISKBOOT): Likewise.
18974 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
18975 * include/grub/sparc64/ieee1275/ieee1275.h
18976 (grub_ieee1275_original_stack): New variable
18977 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18978 New definition
18979 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
18980 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
18981 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
18982 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
18983 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
18984 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
18985 (grub_platform_image_format_t): New type.
18986 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
18987 * kern/main.c (grub_modules_get_end)
18988 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
18989 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
18990 (codestart): Switch stacks.
18991 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
18992 variable.
18993 (grub_heap_init): Use grub_modules_get_end.
18994 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
18995 stack.
18996 * util/grub-mkrawimage.c (generate_image): Support sparc64.
18997 (main): Likewise.
18998 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
18999
d68b491e
TG
190002010-03-14 Thorsten Glaser <tg@mirbsd.org>
19001
19002 * util/grub-mkrescue.in: Base ISO UUID on UTC.
19003
4e02ed50
MK
190042010-03-08 Matt Kraai <kraai@ftbfs.org>
19005
19006 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
19007 bug #559005).
19008
1f15fc1e
VS
190092010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
19010
19011 * genmoddep.awk: Output all missing symbols and not only first.
19012
fce5d8ff
VS
190132010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19014
19015 * NEWS: Put the date of 1.98 release.
19016
d1e8a02f
VS
190172010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19018
19019 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
19020 ft2build.h.
19021
696fd607
VS
190222010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19023
19024 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
19025 completition in the middle of string.
19026
33e2e6f3
VS
190272010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19028
19029 * util/grub-mkrescue.in: Use mktemp with explicit template.
19030
b1f6d291
VS
190312010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19032
19033 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
19034
2ac227c7
VS
190352010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19036
19037 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
19038 right pointer.
19039
8f9a632b
VS
190402010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19041
19042 Fix FreeBSD compilation.
19043
19044 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
19045 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
19046
60b03859
VS
190472010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19048
19049 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
19050
48a5a769
VS
190512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19052
19053 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
19054
3ab4bd77
VS
190552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19056
19057 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
19058
d116e0d8
RM
190592010-03-04 Robert Millan <rmh.grub@aybabtu.com>
19060
19061 Support relative image path in theme file.
19062
19063 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
19064 (image_set_property): Handle theme_dir and relative path.
19065
c7ef54aa
VS
190662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19067
19068 * configure.ac: Alias amd64 to x86_64.
19069
fcee14ed
VS
190702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19071
19072 * NEWS: mention multiboot on EFI.
19073
d0780363
VS
190742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19075
19076 * kern/main.c (grub_load_modules): Handle errors from init functions of
19077 embeded modules.
19078
41168ea4
VS
190792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19080
19081 * normal/autofs.c (autoload_fs_module): Handle errors.
19082
b54d93ac
VS
190832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19084
19085 Disable linux.mod on qemu-mips since it's not functional and leads
19086 to compilation failure.
19087
19088 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
19089 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
19090 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
19091 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
19092 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
19093 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
19094 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
19095 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
19096 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
19097 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
19098 Reported by: BVK Chaitanya
19099
fc8345da
JU
191002010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
19101
19102 * INSTALL: Add gettext as a dependency and add qemu to a new section
19103 "Prerequisites for make-check".
19104
4760f979
CF
191052010-03-04 Christian Franke <franke@computer.org>
19106
19107 * util/grub-pe2elf.c: Add missing include "progname.h".
19108
f209b5b2
VS
191092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19110
19111 * normal/crypto.c (read_crypto_list): Fix a typo.
19112 Reported by: Seth Goldberg.
19113
b4b7be98
VS
191142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19115
19116 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 19117 Reported by: Seth Goldberg.
b4b7be98 19118
c0ee0385
VS
191192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19120
19121 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
19122 ascii.bitmaps.
19123
a8efbf64
VS
191242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19125
19126 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 19127 Reported by: Seth Goldberg.
a8efbf64 19128
08dcd913
VS
191292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19130
19131 * util/i386/efi/grub-install.in: Copy gettext files.
19132
c4d0b332
VS
191332010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19134
19135 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
19136
c6f2fe52
VS
191372010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19138
19139 Wait for user entry basing on presence of output rather than on errors.
19140
19141 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
19142 (grub_install_newline_hook): Likewise.
19143 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
19144 * normal/menu.c (show_menu): Check line_counter to determine presence
19145 of output.
19146 * normal/term.c (grub_normal_line_counter): New variable.
19147 (grub_normal_get_line_counter): New function.
19148 (grub_install_newline_hook): Likewise.
19149
5382b1e4
VS
191502010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19151
19152 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
19153
5519963b
VS
191542010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19155
19156 * configure.ac: Update version to 1.98.
19157
72b28631
VS
191582010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
19159
19160 * util/grub.d/10_linux.in (linux_entry): Don't default to
19161 gfxpayload=keep if Linux doesn't support video handover.
19162
c140a180
VS
191632010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
19164
19165 Don't compile video modules on yeeloong since video subsystem is part
19166 of kernel.
19167
19168 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
19169 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
19170 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
19171 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
19172 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
19173 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
19174 * include/grub/bitmap_scale.h: Likewise.
19175 * include/grub/bufio.h: Likewise.
19176 * include/grub/font.h: Likewise.
19177 * include/grub/gfxterm.h: Likewise.
19178 * include/grub/video.h: Likewise.
19179 * include/grub/vbe.h: Don't include video_fb.h.
19180 * video/i386/pc/vbe.c: Include video_fb.h.
19181 * commands/i386/pc/vbetest.c: Include video.h.
19182
a0ca21c2
CW
191832010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
19184
19185 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
19186 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
19187 default entry if GRUB_SAVEDEFAULT=true. This allows using
19188 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
19189 saving a new default on every boot.
19190
4a8a763c
VS
191912010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19192
19193 * normal/crypto.c (read_crypto_list): Fix a memory leak.
19194 * normal/term.c (read_terminal_list): Likewise.
19195 * normal/main.c (grub_normal_init_page): Likewise.
19196 (grub_normal_read_line_real): Likewise.
19197
607ffde2
VS
191982010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19199
19200 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
19201 memory leak.
19202 Reported by: Seth Goldberg.
19203
2b8fa975
CW
192042010-02-24 Joey Korkames <joey+lists@kidfixit.com>
19205
19206 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
19207 duplicate declaration of `start'.
19208
618307dd
VS
192092010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19210
19211 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
19212 filename.
19213 Reported by: Georgy Buranov
19214
7dd05b96 192152010-02-20 Carles Pina i Estany <carles@pina.cat>
19216
19217 * util/grub-mkrawimage.c (usage): Change string formatting to
19218 improve gettext.
19219
d1484a42
MRA
192202010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19221
19222 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
19223 backspace keys.
19224
42b1d186
VS
192252010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19226
19227 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
19228 Reported by: Michael Suchanek.
19229
192302010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
19231
19232 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
19233 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
19234
d9f31a41
VS
192352010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
19236
19237 Remove any reference to non-free fonts.
19238
19239 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
19240 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
19241 uses non-free components.
19242 * font/font.c (grub_font_get_name): Remove example name.
19243 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
19244 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19245 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
19246 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
19247
2793c71e
GB
192482010-02-16 Georgy Buranov <gburanov@gmail.com>
19249
19250 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
19251
402e3779
VS
192522010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19253
19254 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
19255 Double divisor.
19256 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
19257 features.
19258 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
19259
0dd1e0dd
VS
192602010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19261
19262 * gensymlist.sh.in: Use TARGET_CC instead of CC.
19263
6fa7cfce
ST
192642010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19265
19266 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
19267 * docs/grub.texi (Command-line and menu entry commands): Document play
19268 command.
19269
37c8483b
ST
192702010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19271
19272 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
19273 parse arguments as inline tempo and notes. Move code for playing notes
19274 to...
19275 (play): ... new function.
19276
14da0fb7
ST
192772010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19278
19279 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19280 grub_uint16_t instead of short.
19281 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19282 disk from little endian to cpu endianness.
19283
04459e70
ST
192842010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19285
19286 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19287 GRUB_TICKS_PER_SECOND instead of 120.
19288
a0876943
VS
192892010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19290
19291 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19292 escape sequence after \e.
19293
e29f95dc
VS
192942010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19295
19296 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19297 non-ASCII characters.
19298
d27859b2
VS
192992010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19300
19301 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19302 set root in single quotes to prevent \, from being unescaped.
19303
bc028f2f
VS
193042010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19305
19306 Prevent unknown commands from stopping menuentry execution.
19307
19308 * script/execute.c (grub_script_execute_cmdline): Print error after
19309 unknown command.
19310
095f5f82
VS
193112010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19312
19313 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19314 Reported by: Pavel Pisa.
19315
8c717950
VS
193162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19317
19318 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19319
904935c3
VS
193202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19321
19322 Merge grub_ieee1275_map_physical into grub_map and rename to
19323 grub_ieee1275_map
19324
19325 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19326 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19327 Remove.
19328 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19329 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19330 necessary.
19331 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19332
5b59a4e3
VS
193332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19334
19335 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19336 opening and not after.
19337
69e137e8
VS
193382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
19341 constants.
19342
2c0fcc36
VS
193432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
19346 (alloc_phys): Use ALIGN_UP instead of align_addr.
19347
8c6052ce
VS
193482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19349
19350 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
19351
17cec782
VS
193522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19353
19354 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
19355
e0128bbd
VS
193562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19357
19358 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
19359 verbose dprintf.
19360
ca62070b
VS
193612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19362
19363 Fix over-4GiB seek on sparc64.
19364
19365 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
19366 Replace pos_i and pos_lo with pos. All users updated.
19367 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19368 New constant.
19369 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19370 Likewise.
19371 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
19372 and pos_lo.
19373
bdca2607
VS
193742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19375
19376 * util/grub-mkrawimage.c (main): Call set_program_name.
19377
da278c4d
VS
193782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19379
19380 Properly align 64-bit targets.
19381
19382 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
19383 (generate_image): Use ALIGN_ADDR.
19384
b274d734
VS
193852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19386
19387 Properly create cross-endian images.
19388
19389 * include/grub/types.h (grub_host_to_target_addr): New macro
19390 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
19391
82da2062
VS
193922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19393
19394 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
19395
7cae4377
VS
193962010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19397
19398 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
19399
19400 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
19401 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
19402 (grub_linux_boot): Divide by 64K when on VESA.
19403
65a533e7
VS
194042010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19405
19406 Support GRUB_GFXPAYLOAD_LINUX.
19407
19408 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
19409 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
19410
dd01d397
VS
194112010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19412
19413 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
19414 to show messages instead of discarding them.
19415 Process errors after executing command and not before. Keep old method
19416 too as precaution.
19417
660960d6
VS
194182010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
19419
19420 * configure.ac: Check for ft2build.h.
19421
62509f04
VS
194222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19423
19424 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
19425
473df63d
VS
194262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19427
19428 * genkernsyms.sh.in: Use TARGET_CC.
19429
c98d2a13
CW
194302010-02-07 Colin Watson <cjwatson@ubuntu.com>
19431
19432 * NEWS: Update.
19433
6e14234c
VS
194342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19435
19436 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
19437 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
19438 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 19439
b255e9cf
YB
194402010-02-07 Yves Blusseau <blusseau@zetam.org>
19441
6e14234c 19442 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 19443
98e6959d
VS
194442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19445
19446 Fix warnings in grub-emu when compiling with maximum warning options.
19447
19448 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
19449 (grub_arch_modules_addr): Return 0 and not NULL.
19450 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 19451 (xstrdup): Use newstr instead of dup.
f88d801b
VS
19452 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
19453 of disk to dsk to avoid shadowing.
74e4934e
VS
19454 (find_free_slot): Fix prototype.
19455 * util/getroot.c (grub_util_is_dmraid): Make static.
19456 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
19457 Add missing prototype.
19458 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 19459
74e31b5c
VS
194602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19461
19462 * loader/i386/linux.c (grub_linux_setup_video): Handle error
19463 appropriately.
19464
6b2ad14b
VS
194652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19466
19467 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
19468 code out.
19469
8f891adc
VS
194702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19471
19472 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
19473 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
19474 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
19475 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
19476 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
19477 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
19478
74b45184
VS
194792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19480
19481 * include/grub/err.h (grub_err_printf): Don't export.
19482
a4bced77
VS
194832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19484
19485 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
19486
007d0695
VS
194872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19488
19489 * include/grub/i18n.h (grub_gettext_dummy): Removed.
19490 * kern/misc.c (grub_gettext_dummy): Make static.
19491
b6c0d9c2
VS
194922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19493
19494 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
19495 by non-valid ones.
19496 * kern/term.c (grub_putchar): Likewise.
19497
f51a90d0
VS
194982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19499
19500 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
19501 buggy hook call and memory leak.
19502
6846cec5
VS
195032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19504
19505 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
19506
468d69fe
VS
195072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19508
19509 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
19510
51906b8c
VS
195112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19512
19513 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
19514 modevar.
19515 Return grub_errno on allocation error.
19516
09706ce5
VS
195172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19518
19519 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
19520
911df80c
YB
195212010-02-06 Yves Blusseau <blusseau@zetam.org>
19522
19523 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
19524 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
19525
3746a6bc
VS
195262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19527
19528 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
19529 non-pxe disk.
19530 (grub_pxefs_open): Likewise.
19531
09706ce5
VS
195322010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19533
19534 * util/grub.d/10_hurd.in: Add --class information to menuentries.
19535 * util/grub.d/10_kfreebsd.in: Likewise.
19536 * util/grub.d/10_linux.in: Likewise.
19537
7cc192d9
VS
195382010-02-06 Colin D Bennett <colin@gibibit.com>
19539
19540 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
19541 (gfxmenu_mod_SOURCES): New variable.
19542 (gfxmenu_mod_CFLAGS): Likewise.
19543 (gfxmenu_mod_LDFLAGS): Likewise.
19544 * include/grub/term.h (grub_term_set_current_output): Declare
19545 argument as const.
19546 * docs/gfxmenu-theme-example.txt: New file.
19547 * gfxmenu/gfxmenu.c: Likewise.
19548 * gfxmenu/gui_box.c: Likewise.
19549 * gfxmenu/gui_canvas.c: Likewise.
19550 * gfxmenu/gui_circular_progress.c: Likewise.
19551 * gfxmenu/gui_image.c: Likewise.
19552 * gfxmenu/gui_label.c: Likewise.
19553 * gfxmenu/gui_list.c: Likewise.
19554 * gfxmenu/gui_progress_bar.c: Likewise.
19555 * gfxmenu/gui_string_util.c: Likewise.
19556 * gfxmenu/gui_util.c: Likewise.
19557 * gfxmenu/icon_manager.c: Likewise.
19558 * gfxmenu/model.c: Likewise.
19559 * gfxmenu/named_colors.c: Likewise.
19560 * gfxmenu/theme_loader.c: Likewise.
19561 * gfxmenu/view.c: Likewise.
19562 * gfxmenu/widget-box.c: Likewise.
19563 * include/grub/gfxmenu_model.h: Likewise.
19564 * include/grub/gfxmenu_view.h: Likewise.
19565 * include/grub/gfxwidgets.h: Likewise.
19566 * include/grub/gui.h: Likewise.
19567 * include/grub/gui_string_util.h: Likewise.
19568 * include/grub/icon_manager.h: Likewise.
19569
195702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19571
19572 Agglomerate scrolling in gfxterm.
19573
19574 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
19575 (grub_virtual_screen_setup): Initialise 'total_screen'.
19576 (write_char): Split to ...
19577 (paint_char): ... this ...
19578 (write_char): ... and this.
19579 (paint_char): Handle delayed scrolling.
19580 (draw_cursor): Likewise.
19581 (scroll_up): Split to ...
19582 (real_scroll): ... this ...
19583 (scroll_up): ... and this.
19584 (real_scroll): Handle multi-line scroll and draw below-the-bottom
19585 characters.
19586 (grub_gfxterm_refresh): Call real_scroll.
19587
195882010-02-06 Colin D Bennett <colin@gibibit.com>
19589
19590 * include/grub/misc.h (grub_iscntrl): New inline function.
19591 (grub_isalnum): Likewise.
19592 (grub_strtol): Likewise.
19593
195942010-02-06 Colin D Bennett <colin@gibibit.com>
19595
19596 * normal/menu_text.c (get_entry_number): Move from here ...
19597 * normal/menu.c (get_entry_number): ... moved here.
19598 * include/grub/menu.h (grub_menu_get_default_entry_index):
19599 New prototype.
19600 * normal/menu.c (grub_menu_get_default_entry_index): New function.
19601 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
19602 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
19603 (grub_menu_viewer_should_return): Likewise.
19604 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
19605 * normal/menu_text.c (run_menu): Enable menu switching.
19606 * normal/menu_viewer.c (should_return): New variable.
19607 (menu_viewer_changed): Likewise.
19608 (grub_menu_viewer_show_menu): Handle menu viewer changes.
19609 (grub_menu_viewer_should_return): New function.
19610 (menuviewer_write_hook): Likewise.
19611 (grub_menu_viewer_init): Likewise.
19612
196132010-02-06 Colin D Bennet <colin@gibibit.com>
196142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19615
19616 Support for gfxterm in a window.
19617
19618 * include/grub/gfxterm.h: New file.
19619 * include/grub/video.h (struct grub_video_rect): New declaration.
19620 (grub_video_rect_t): Likewise.
19621 * term/gfxterm.c (struct grub_gfxterm_window): New type.
19622 (refcount): New variable.
19623 (render_target): Likewise.
19624 (window): Likewise.
19625 (repaint_callback): Likewise.
19626 (grub_virtual_screen_setup): Use 'render_target'.
19627 (init_window): New function.
19628 (grub_gfxterm_init_window): Likewise.
19629 (grub_gfxterm_init): Check reference counter.
19630 Use init_window.
19631 (destroy_window): New function.
19632 (grub_gfxterm_destroy_window): Likewise.
19633 (grub_gfxterm_fini): Check reference counter.
19634 Use destroy_window.
19635 (redraw_screen_rect): Restore viewport.
19636 Use 'render_target' and 'window'.
19637 Call 'repaint_callback'.
19638 (write_char): Use 'render_target'.
19639 (draw_cursor): Likewise.
19640 (scroll_up): Restore viewport.
19641 Use 'render_target' and 'window'.
19642 Call 'repaint_callback'.
19643 (grub_gfxterm_cls): Likewise.
19644 (grub_gfxterm_refresh): Use 'window'.
19645 (grub_gfxterm_set_repaint_callback): New function.
19646 (grub_gfxterm_background_image_cmd): Use 'window'.
19647 (grub_gfxterm_get_term): New function.
19648 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
19649
196502010-02-06 Colin D Bennett <colin@gibibit.com>
19651
19652 Bitmap scaling support.
19653
19654 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
19655 (bitmap_scale_mod_SOURCES): New variable.
19656 (bitmap_scale_mod_CFLAGS): Likewise.
19657 (bitmap_scale_mod_LDFLAGS): Likewise.
19658 * include/grub/bitmap_scale.h: New file.
19659 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
19660 (background_image_cmd_options): New variable.
19661 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
19662 (cmd): Rename and change type to ...
19663 (background_image_cmd_handle): ... this. All users updated.
19664 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
19665 * video/bitmap_scale.c: New file.
19666
196672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19668
19669 SDL support.
19670
19671 * Makefile.in (LIBSDL): New variable.
19672 (enable_grub_emu_sdl): Likewise.
19673 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
19674 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
19675 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
19676 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
19677 * util/sdl.c: New file.
19678
196792010-02-06 Colin D Bennett <colin@gibibit.com>
196802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19681
19682 Double buffering support.
19683
19684 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
19685 * include/grub/video.h: Update comment.
19686 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
19687 New type.
19688 (grub_video_fb_doublebuf_blit_init): New prototype.
19689 * term/gfxterm.c (scroll_up): Support double buffering.
19690 (grub_gfxterm_refresh): Likewise.
19691 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
19692 (grub_video_fb_doublebuf_blit_init): Likewise.
19693 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
19694 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
19695 'displayed_page', 'render_page' and 'update_screen'.
19696 (grub_video_vbe_fini): Free offscreen buffer.
19697 (doublebuf_pageflipping_commit): New function.
19698 (doublebuf_pageflipping_update_screen): Likewise.
19699 (doublebuf_pageflipping_init): Likewise.
19700 (double_buffering_init): Likewise.
19701 (grub_video_vbe_setup): Enable doublebuffering.
19702 (grub_video_vbe_swap_buffers): Implement.
19703 (grub_video_vbe_set_active_render_target): Handle double buffering.
19704 (grub_video_vbe_get_active_render_target): Likewise.
19705 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
19706 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
19707 (grub_video_vbe_enable_double_buffering): Likewise.
19708 (grub_video_vbe_swap_buffers): Use update_screen.
19709 (grub_video_set_mode): Use double buffering.
19710
197112010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19712
19713 * maintainance/gentrigtables.py: Remove.
19714 * lib/trig.c: Likewise.
19715
19716 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
19717
19718 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
19719 `trigtables.c'.
19720 (trigtables.c): New rule.
19721 (gentrigtables): Likewise.
19722 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
19723
197242010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19725
19726 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
19727 integer constants.
19728
197292010-02-06 Colin D Bennet <colin@gibibit.com>
19730
19731 Trigonometry support.
19732
19733 * include/grub/trig.h: New file.
19734 * lib/trig.c: Likewise.
19735 * maintainance/gentrigtables.py: Likewise.
19736 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
19737 (trig_mod_SOURCES): New variable.
19738 (trig_mod_CFLAGS): Likewise.
19739 (trig_mod_LDFLAGS): Likewise.
19740
5562834e
VS
197412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19742
19743 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
19744 disk devices.
19745
4f8528fc
VS
197462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19747
19748 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
19749 error.
19750
2b4068e9
VS
197512010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19752
19753 * util/hostdisk.c (open_device): Don't use partition device when reading
19754 before the partition.
19755 (grub_util_biosdisk_read): Don't read from partition and before the
19756 partition in single operation.
19757 (grub_util_biosdisk_write): Don't write to partition and before the
19758 partition in single operation.
19759
399f6e4d
TL
197602010-02-03 Torsten Landschoff <torsten@debian.org>
19761
19762 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19763 last sectors.
19764
996649b0
VS
197652010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19766
19767 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
19768 CDROM reads.
19769 (grub_biosdisk_write): Refuse to write to CDROM.
19770
3b205d4d
VS
197712010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19772
19773 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
19774
61e89d9d
VS
197752010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19776
19777 * font/font.c (find_glyph): Check that bmp_idx is available before
19778 using it.
19779 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
19780 with (font == NULL).
19781
bf7fcba2
CS
197822010-01-28 Christian Schmitt <chris@ilovelinux.de>
19783
19784 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
19785
f45d2663
BC
197862010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
19787
19788 * include/grub/script_sh.h (sourcecode): Add const qualifier.
19789 * util/grub-script-check.c (getline): Fix empty lines case.
19790
ec1444e6
RM
197912010-01-28 Robert Millan <rmh.grub@aybabtu.com>
19792
19793 * Makefile.in (check): Exit with fail status when one of the tests
19794 fails.
19795 * tests/example_functional_test.c (example_test): Fix reversed assert.
19796 * tests/example_unit_test.c (example_test): Likewise.
19797
2e1cb9bb
CW
197982010-01-28 Colin Watson <cjwatson@ubuntu.com>
19799
19800 * util/grub.d/10_linux.in: This script does not use any of the
19801 contents of gettext.sh, only the external command `gettext', so stop
19802 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
19803 the same prefix as GRUB.)
19804 * util/grub.d/10_kfreebsd.in: Likewise.
19805
63533ab0
VS
198062010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19807
19808 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
19809 of the line.
19810
989e1f93
VS
198112010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19812
19813 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19814 last sectors.
19815
e709ebe2
VS
198162010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19817
19818 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
19819 having a 4KiB and not 32KiB buffer size.
19820
27dea7ed
RM
198212010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19822
19823 * util/hostfs.c: Include `<errno.h>'.
19824 (grub_hostfs_read): Handle errors from fseeko() and fread().
19825
67667b9c
RM
198262010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19827
19828 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
19829 loop when using read hooks on files whose size isn't sector-aligned.
19830
c294d9d8
RM
198312010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19832
19833 Remove unused parameter.
19834
19835 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
19836 (grub_iso9660_open): Remove initialization of `data->length'.
19837
af75a9f1
RM
198382010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19839
19840 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
19841 memleak conditions.
19842
254e2ce5 198432010-01-27 Carles Pina i Estany <carles@pina.cat>
19844
19845 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
19846 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
19847
b510928c 198482010-01-26 Carles Pina i Estany <carles@pina.cat>
19849
19850 * util/bin2h.c (usage): Fix warning (space after backslash).
19851
aa2f9dd2 198522010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 19853
19854 * font/font.c: Include `grub/fontformat.h.
19855 Remove font file format constants.
19856 (grub_font_load): Use the new macros.
19857 * include/grub/fontformat.h: New file.
19858 * util/grub-mkfont.c: Include `grub/fontformat.c'.
19859 (write_font_pf2): Use the new macros.
19860
94e7e712
RM
198612010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19862
19863 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
19864 does.
19865
3973a59a
RM
198662010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19867
19868 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
19869
19870 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
19871 (_start): Macroify `0x7F'.
19872
19873 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
19874 (make_install_device): Use "(pxe)" as fallback prefix when booting
19875 via PXE.
19876
42e0cba3
GS
198772010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
19878
19879 * configure.ac: Reset LIBS after check for libgcc symbols.
19880
847effd8
CW
198812010-01-25 Colin Watson <cjwatson@ubuntu.com>
19882
19883 * util/hostdisk.c (open_device): Add trailing newline to debug
19884 message.
19885
ea4a7e35
GS
198862010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
19887
19888 * configure.ac: Check for `limits.h'.
19889 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
19890
67951a53
RM
198912010-01-24 Robert Millan <rmh.grub@aybabtu.com>
19892
19893 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
19894 capitalize error strings.
19895
c273d4ce
ST
198962010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
19897
19898 * util/grub.d/10_hurd.in: Add a recovery mode.
19899
69be5b74
VS
199002010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
19901
19902 * configure.ac: Check for libgcc symbols with -nostdlib.
19903
fc9e5810
BC
199042010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
19905
19906 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
19907
4b358c0a
VS
199082010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19909
19910 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
19911 stack since heap may be unavailable at that point.
19912 (grub_ofconsole_gotoxy): Likewise.
19913
454fcd1c
VS
199142010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19915
19916 * configure.ac: Check for _restgpr_14_x.
19917 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
19918 and _savegpr_* prototypes.
19919
566863ca
RM
199202010-01-22 Robert Millan <rmh.grub@aybabtu.com>
19921
19922 Use generic grub_reboot() for i386-efi.
19923
19924 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
19925 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
19926 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
19927
bf86e59a
VS
199282010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19929
19930 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
19931 presence of "prefix" variable as it breaks when normal.mod is
19932 embedded.
19933
d645e0f8
VS
199342010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19935
19936 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
19937 stack since heap is unavailable at that point.
19938
f9ab2e25
VS
199392010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19940
19941 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
19942 (grub_freebsd_bootinfo): Rewritten.
19943 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
19944
01fc7054
VS
199452010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19946
19947 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
19948
caab4fd6
RM
199492010-01-21 Robert Millan <rmh.grub@aybabtu.com>
19950
19951 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
19952 domain now.
19953
67eb1427
FZ
199542010-01-20 Felix Zielcke <fzielcke@z-51.de>
19955
19956 * util/misc.c (make_system_path_relative_to_its_root): Change the work
19957 around for handling "/" to the correct fix. Fix a memory leak. Use
19958 xstrdup instead of strdup.
19959
a9ed4ff3
VS
199602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19961
19962 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
19963
199642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
19965
19966 Optimise glyph lookup by Basic Multilingual Plane lookup array.
19967
19968 * font/font.c (struct grub_font): New member 'bmp_idx'.
19969 (font_init): Initialise 'bmp_idx'.
19970 (load_font_index): Fill 'bmp_idx'.
19971 (find_glyph): Make inline. Use bmp_idx for BMP characters.
19972
48209f4f
VS
199732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19974
19975 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
19976 unnecessary calls.
19977
9f0a4bb7
VS
199782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19979
19980 Move context handling out of the kernel.
19981
19982 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
19983 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
19984 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
19985 * conf/i386-efi.rmk: Likewise.
19986 * conf/i386-ieee1275.rmk: Likewise.
19987 * conf/i386-pc.rmk: Likewise.
19988 * conf/powerpc-ieee1275.rmk: Likewise.
19989 * conf/sparc64-ieee1275.rmk: Likewise.
19990 * conf/x86_64-efi.rmk: Likewise.
19991 * include/grub/env.h: Include grub/menu.h.
19992 (grub_env_var_type): Removed.
19993 (grub_env_var): Replaced field 'type' with 'global'.
19994 (grub_env_find): New prototype.
19995 (grub_env_context_open): Remove EXPORT_FUNC.
19996 (grub_env_context_close): Likewise.
19997 (grub_env_export): Likewise.
19998 (grub_env_set_data_slot): Removed.
19999 (grub_env_get_data_slot): Likewise.
20000 (grub_env_unset_data_slot): Likewise.
20001 (grub_env_unset_menu): New prototype.
20002 (grub_env_set_menu): Likewise.
20003 (grub_env_get_menu): Likewise.
20004 * include/grub/env_private.h: New file.
20005 * include/grub/normal.h (grub_context_init): New prototype.
20006 (grub_context_fini): Likewise.
20007 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
20008 * normal/context.c (grub_cmd_export): ... to here.
20009 * kern/env.c: Include env_private.h.
20010 (HASHSZ): Moved to include/grub/env_private.h.
20011 (grub_env_context): Likewise.
20012 (grub_env_sorted_var): Likewise.
20013 (current_context): Renamed from this ...
20014 (grub_current_context): ...to this. 'static' removed. All users updated.
20015 (grub_env_find): Removed 'static'.
20016 (grub_env_context_open): Moved to normal/context.c.
20017 (grub_env_context_close): Likewise.
20018 (grub_env_export): Likewise.
20019 (mangle_data_slot_name): Removed.
20020 (grub_env_set_data_slot): Likewise.
20021 (grub_env_get_data_slot): Likewise.
20022 (grub_env_unset_data_slot): Likewise.
20023 * kern/main.c (grub_set_root_dev): Don't export root.
20024 It will be done later.
20025 (grub_main): Don't export prefix.
20026 It will be done later.
20027 * normal/context.c: New file.
20028 * normal/main.c (free_menu): Use grub_env_unset_menu.
20029 (grub_normal_add_menu_entry): Use grub_env_get_menu.
20030 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
20031 (GRUB_MOD_INIT(normal)): Call grub_context_init.
20032 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
20033
8dd35b8c
VS
200342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20035
20036 setpci support.
20037
20038 * commands/setpci.c: New file.
20039 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
20040 (setpci_mod_SOURCES): New variable.
20041 (setpci_mod_CFLAGS): Likewise.
20042 (setpci_mod_LDFLAGS): Likewise.
20043
449193d5
VS
200442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20045
20046 Byte-addressable PCI configuration space.
20047
20048 * bus/pci.c (grub_pci_make_address): Use byte address instead of
20049 dword address.
20050 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
20051 GRUB_PCI_REG_CACHELINE.
20052 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
20053 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
20054 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
20055 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
20056 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
20057 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
20058 grub_pci_make_address.
20059 (lock_rom_area): Likewise.
20060 * commands/lspci.c (grub_lspci_iter): Use macroses
20061 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
20062 of grub_pci_make_address.
20063 * disk/ata.c (grub_ata_pciinit): Likewise.
20064 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
20065 (GRUB_PCI_REG_VENDOR): Likewise.
20066 (GRUB_PCI_REG_DEVICE): Likewise.
20067 (GRUB_PCI_REG_COMMAND): Likewise.
20068 (GRUB_PCI_REG_STATUS): Likewise.
20069 (GRUB_PCI_REG_REVISION): Likewise.
20070 (GRUB_PCI_REG_CLASS): Likewise.
20071 (GRUB_PCI_REG_CACHELINE): Likewise.
20072 (GRUB_PCI_REG_LAT_TIMER): Likewise.
20073 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
20074 (GRUB_PCI_REG_BIST): Likewise.
20075 (GRUB_PCI_REG_ADDRESSES): Likewise.
20076 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20077 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20078 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20079 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20080 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20081 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20082 (GRUB_PCI_REG_CIS_POINTER): Likewise.
20083 (GRUB_PCI_REG_SUBVENDOR): Likewise.
20084 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
20085 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
20086 (GRUB_PCI_REG_CAP_POINTER): Likewise.
20087 (GRUB_PCI_REG_IRQ_LINE): Likewise.
20088 (GRUB_PCI_REG_IRQ_PIN): Likewise.
20089 (GRUB_PCI_REG_MIN_GNT): Likewise.
20090 (GRUB_PCI_REG_MAX_LAT): Likewise.
20091 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
20092 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
20093 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 20094 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
20095 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
20096 space.
20097
96d73208
RM
200982010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20099
20100 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
20101 can be reliably determined to be supported.
20102
d4484482
RM
201032010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20104
20105 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
20106 that VESA is supported.
20107 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
20108 supported.
20109
00308ecf
VS
201102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20111
20112 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
20113
f66924a4
RM
201142010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20115
20116 * util/misc.c (make_system_path_relative_to_its_root): Work around
20117 special-casing of "/", as previous incarnation of this routine did.
20118
cbca0ada
VS
201192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20120
20121 Fix any-emu compilation.
20122
20123 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
20124 * grub_bin2h_SOURCES: New variable.
20125
34a66d99
RM
201262010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20127
20128 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
20129
94fabf58
RM
201302010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20131
20132 * util/grub.d/00_header.in: Fix handling of locale_dir.
20133
02cf98ca
VS
201342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20135
20136 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
20137 as possible unifont location (Gentoo).
20138 Reported by: Alexander Brüning
20139
327dbcd7
VS
201402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20141
20142 Don't try to generate lists for kernel.img.
20143
20144 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
20145 (pkglib_MODULES): Remove kernel.img.
20146 (kernel_img_EXPORTS): Removed.
20147 (kernel_img_RELOCATABLE): New variable.
20148 * conf/x86_64-efi.rmk: Likewise.
20149 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
20150
ca467290
VS
201512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20152
20153 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
20154 grub_xasprintf or grub_snprintf.
20155 (grub_vsprintf): Likewise.
20156 (grub_snprintf): New proto.
20157 (grub_vsnprintf): Likewise.
20158 (grub_xasprintf): Likewise.
20159 (grub_xvasprintf): Likewise.
20160 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
20161 (grub_sprintf): Removed.
20162 (grub_vsnprintf): New function.
20163 (grub_snprintf): Likewise.
20164 (grub_xvasprintf): Likewise.
20165 (grub_xasprintf): Likewise.
20166 (grub_vsprintf): Renamed to ...
20167 (grub_vsnprintf_real): ...this. New argument max_len.
20168
aca655fd
BC
201692010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
20170
20171 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
20172 fix grub-script-check warning.
20173
7ee92c32
VS
201742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20175
20176 * include/grub/font.h (grub_font_load): Fix prototype.
20177
f80927ca
VS
201782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20179
20180 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
20181
119c50ea
VS
201822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20183
20184 * include/grub/x86_64/at_keyboard.h: New file.
20185
47d5f3c1
VS
201862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20187
20188 * loader/mips/linux.c: Include missing grub/i18n.h.
20189
55ff5266
RM
201902009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20191
20192 * normal/menu.c (notify_execution_failure): Clarify error message.
20193
c893cc87
RM
201942009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20195
20196 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
20197 return value (and revert all return statements). Update users.
20198
917dd370
CW
201992010-01-20 Dan Merillat <debian@dan.merillat.org>
20200
20201 * kern/device.c (grub_device_iterate): Allocate new part_ent
20202 structure based on sizeof (*p) rather than sizeof (p->next), to
20203 account for structure padding.
20204
20205 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
20206 disk is NULL, which might happen for LVM physical volumes with no
20207 LVM signature.
20208
d4a4ee57
RM
202092009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20210
20211 * loader/mips/linux.c (grub_cmd_initrd)
20212 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
20213
202142009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20215
20216 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
20217 (grub_video_video_init, grub_video_bitmap_init)
20218 (grub_font_manager_init, grub_term_gfxterm_init)
20219 (grub_at_keyboard_init): New extern declarations.
20220 (grub_machine_init): Initialize gfxterm and at_keyboard.
20221
20222 * kern/main.c (grub_main): Revert grub_printf delay kludge.
20223
20224 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
20225 `gfxterm.mod' into core image.
20226
20227 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20228 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20229 (kernel_img_FORMAT): Copy to ...
20230
20231 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20232 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20233 (kernel_img_FORMAT): ... here, and ...
20234
20235 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20236 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20237 (kernel_img_FORMAT): ... here.
20238
20239 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
20240 and input (at_keyboard) terminals in kernel.
20241 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
20242
20243 (pkglib_MODULES): Remove `pci.mod'.
20244 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
20245 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
20246 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20247 (at_keyboard_mod_LDFLAGS): Remove variables.
20248
202492010-01-11 Felix Zielcke <fzielcke@z-51.de>
20250
20251 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
20252
202532009-12-10 Robert Millan <rmh.grub@aybabtu.com>
20254
20255 * include/grub/mips/libgcc.h: Only export symbols for functions
20256 that libgcc provides.
20257
202582009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
20259
20260 MIPS support.
20261
20262 * bus/bonito.c: New file.
20263 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
20264 GRUB_PCI_NUM_DEVICES.
20265 * term/i386/pc/serial.c: Move to ...
20266 * term/serial.c: ... here. All users updated.
20267 * util/i386/pc/grub-mkimage.c: Move to ...
20268 * util/grub-mkrawimage.c: ... here. All users updated.
20269 * term/i386/pc/at_keyboard.c: Move to ...
20270 * term/at_keyboard.c: ... here. All users updated.
20271 * conf/mips-qemu-mips.rmk: New file.
20272 * conf/mips-yeeloong.rmk: Likewise.
20273 * conf/mips.rmk: Likewise.
20274 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20275 mipsel-qemu-mips.
20276 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20277 to port addresses.
20278 (grub_ata_pciinit): Support CS5536.
20279 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20280 * font/font_cmd.c (loadfont_command): Open file before passing it to
20281 grub_font_load.
20282 (pseudo_file_read): New function.
20283 (pseudo_file_close): Likewise.
20284 (pseudo_fs): New structure.
20285 (load_font_module): New function.
20286 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20287 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20288 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20289 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20290 * include/grub/i386/at_keyboard.h: Split into ...
20291 * include/grub/at_keyboard.h: ... this ...
20292 * include/grub/i386/at_keyboard.h: ... and this.
20293 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20294 New prototype.
20295 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20296 updated.
20297 (grub_elf64_size): Likewise.
20298 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20299 filename.
20300 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20301 * include/grub/i386/coreboot/serial.h: Rewritten.
20302 * include/grub/i386/ieee1275/serial.h: Include
20303 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20304 * include/grub/i386/pc/serial.h: Moved from here ...
20305 * include/grub/serial.h: ... to here. All users updated.
20306 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20307 (GRUB_PCI_NUM_BUS): Likewise.
20308 (GRUB_PCI_NUM_DEVICES): Likewise.
20309 (grub_pci_device_map_range): Add missing volatile keyword.
20310 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20311 * include/grub/mips/at_keyboard.h: New file.
20312 * include/grub/mips/cache.h: Likewise.
20313 * include/grub/mips/io.h: Likewise.
20314 * include/grub/mips/kernel.h: Likewise.
20315 * include/grub/mips/libgcc.h: Likewise.
20316 * include/grub/mips/pci.h: Likewise.
20317 * include/grub/mips/qemu-mips/boot.h: Likewise.
20318 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20319 * include/grub/mips/qemu-mips/loader.h: Likewise.
20320 * include/grub/mips/qemu-mips/memory.h: Likewise.
20321 * include/grub/mips/qemu-mips/serial.h: Likewise.
20322 * include/grub/mips/qemu-mips/time.h: Likewise.
20323 * include/grub/mips/relocator.h: Likewise.
20324 * include/grub/mips/time.h: Likewise.
20325 * include/grub/mips/types.h: Likewise.
20326 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20327 * include/grub/mips/yeeloong/boot.h: Likewise.
20328 * include/grub/mips/yeeloong/kernel.h: Likewise.
20329 * include/grub/mips/yeeloong/loader.h: Likewise.
20330 * include/grub/mips/yeeloong/memory.h: Likewise.
20331 * include/grub/mips/yeeloong/pci.h: Likewise.
20332 * include/grub/mips/yeeloong/serial.h: Likewise.
20333 * include/grub/mips/yeeloong/time.h: Likewise.
20334 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20335 * kern/elf.c (grub_elf32_size): New parameter. All users
20336 updated.
20337 (grub_elf64_size): Likewise.
20338 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
20339 Load modules before saying "Welcome to GRUB!".
20340 Call grub_refresh after saying "Welcome to GRUB!".
20341 * kern/mips/cache.S: New file.
20342 * kern/mips/cache_flush.S: Likewise.
20343 * kern/mips/dl.c: Likewise.
20344 * kern/mips/init.c: Likewise.
20345 * kern/mips/qemu-mips/init.c: Likewise.
20346 * kern/mips/startup.S: Likewise.
20347 * kern/mips/yeeloong/init.c: Likewise.
20348 * kern/term.c (grub_putcode): Handle NULL terminal.
20349 (grub_getcharwidth): Likewise.
20350 (grub_getkey): Likewise.
20351 (grub_checkkey): Likewise.
20352 (grub_getkeystatus): Likewise.
20353 (grub_getxy): Likewise.
20354 (grub_getwh): Likewise.
20355 (grub_gotoxy): Likewise.
20356 (grub_cls): Likewise.
20357 (grub_setcolorstate): Likewise.
20358 (grub_setcolor): Likewise.
20359 (grub_getcolor): Likewise.
20360 (grub_refresh): Likewise.
20361 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
20362 (write_jump): Add hatch nop.
20363 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
20364 * lib/mips/setjmp.S: New file.
20365 * loader/mips/linux.c: Likewise.
20366 * term/i386/pc/at_keyboard.c: Move from here ...
20367 * term/at_keyboard.c: ... to here.
20368 * term/i386/pc/serial.c: Moved from here ...
20369 * term/serial.c: ... to here. All users updated.
20370 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
20371 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
20372 (serial_translate_key_sequence): Avoid deadlock.
20373 (grub_serial_getkey): Handle backspace.
20374 (grub_serial_putchar): Fix newline handling.
20375 * util/i386/pc/grub-mkimage.c: Move from here ...
20376 * util/grub-mkrawimage.c: ... to here. All users updated.
20377 (generate_image): New parameters 'font_path' and 'format'.
20378 Support embedding font.
20379 Use grub_host_to_target* instead of grub_cpu_to_le*.
20380 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
20381 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
20382 (options): New option "--font".
20383 (usage): Likewise.
20384 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
20385 (main): Handle "--font".
20386 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
20387 (grub_virtual_screen_setup): Set bg_color_display.
20388 (redraw_screen_rect): Use bg_color_display instead of incorrect
20389 bg_color.
20390 (grub_gfxterm_cls): Likewise.
20391 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
20392 Support embedding config file.
20393 (add_segments): Likewise.
20394 (options): New option "--config".
20395 (main): Handle "--config".
20396 * video/sm712.c: New file.
20397
25c2b5b3
RM
203982010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20399
20400 Fix parallel builds.
20401
20402 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
20403 font.c depend on ascii.h).
20404
204052010-01-12 Carles Pina i Estany <carles@pina.cat>
20406
20407 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
20408
204092010-01-11 Carles Pina i Estany <carles@pina.cat>
20410
20411 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
20412 By default: disabled.
20413 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
20414 parameter.
20415
204162010-01-10 Carles Pina i Estany <carles@pina.cat>
20417
20418 * font/font.c: Update copyright years.
20419 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
20420
204212010-01-10 Carles Pina i Estany <carles@pina.cat>
20422
20423 * font/font.c: Include `ascii.h'.
20424 (ASCII_BITMAP_SIZE): New macro.
20425 (ascii_font_glyph): Define.
20426 (ascii_glyph_lookup): New function.
20427 (grub_font_get_string_width): Change comment. If glyph not found, use
20428 ascii_glyph_lookup.
20429 (grub_font_get_glyph_with_fallback): If glyph not available returns
20430 ascii_glyph_lookup.
20431 * util/grub-mkfont.c (file_formats): New enum.
20432 (options): Add `ascii-bitmaps' new option.
20433 (usage): Add `asii-bitmaps' new option.
20434 (write_font_ascii_bitmap): New function.
20435 (write_font): Rename to ...
20436 (write_font_p2): ... this. Remove print_glyphs call.
20437 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
20438 used. Call print_glyphs.
20439 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
20440
204412010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20442
20443 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
20444 (grub_bin2h_SOURCES): New variable.
20445 * util/bin2h.c: New file.
20446
915fc1b8
VS
204472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20448
20449 * include/multiboot.h: Resynced with spec.
20450 * include/multiboot2.h: Likewise.
20451 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
20452 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
20453
9444b678
RM
204542010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20455
20456 * include/grub/term.h (grub_term_register_input,
20457 grub_term_register_output): Check return of terminal init()
20458 routines, and abort if errors are raised.
20459
20460 * commands/terminal.c: Update copyright year.
20461
cba98e8d
RM
204622010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20463
20464 * commands/terminal.c (grub_cmd_terminal_input)
20465 (grub_cmd_terminal_output): Check return of terminal init()
20466 routines, and abort if errors are raised.
20467
6f7db5d6
VS
204682010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20469
20470 * include/grub/i386/bsd.h: Fix include pathes.
20471
262bff8d
VS
204722010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20473
20474 Add missing *BSD copyright headers.
20475
20476 * include/grub/aout.h: Add BSD licence.
20477 * include/grub/i386/bsd.h: Parts under different licences moved to ...
20478 * include/grub/i386/freebsd_linker.h: ... here,
20479 * include/grub/i386/freebsd_reboot.h: ... here,
20480 * include/grub/i386/netbsd_bootinfo.h: ... here,
20481 * include/grub/i386/netbsd_reboot.h: ... here,
20482 * include/grub/i386/openbsd_bootarg.h: ... here,
20483 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
20484 licence to each file.
20485
b2cab848
RM
204862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20487
20488 * acinclude.m4: Remove `nop' assembly instruction; it's not
20489 implemented by all architectures.
20490
2cb6be4b
RM
204912010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20492
20493 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
20494 ELILO. This is no longer necessary.
20495
a2eaee15
BC
204962010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
20497
20498 Added new tool, grub-scrit-check to verify grub.cfg syntax.
20499
20500 * util/grub-script-check.c: grub-script-check tool.
20501 * conf/common.rmk: Make rules for grub-script-check.
20502
88d17012
RM
205032010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20504
20505 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
20506 spotting it back in 2008. Shame on me for forgetting he did.
20507
20508 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
20509
8040619d
RM
205102010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20511
20512 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
20513 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
20514 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
20515 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
20516 (GRUB_VIDEO_TYPE_EFI): Rename to ...
20517 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
20518
a0c2a0f6
RM
205192010-01-17 Robert Millan <rmh.grub@aybabtu.com>
20520
20521 * include/grub/test.h: Add license header.
20522 * tests/example_functional_test.c: Likewise.
20523 * tests/example_unit_test.c: Likewise.
20524 * tests/lib/functional_test.c: Likewise.
20525 * tests/lib/test.c: Likewise.
20526 * tests/lib/unit_test.c: Likewise.
20527
b0b13907
VS
205282010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
20529
20530 Use flag-based instead of hook-based video mode selection and "auto"
20531 keyword.
20532
20533 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
20534 (grub_video_set_mode): Changed prototype. All users updated.
20535 (grub_video_check_mode_flag): New inline function.
20536 * video/video.c (parse_modespec): New function.
20537 (grub_video_set_mode): Parse flags and keywords.
20538
ea379330 205392010-01-17 Carles Pina i Estany <carles@pina.cat>
20540
20541 * util/misc.c (grub_util_info): Fix the order of the parameters in a
20542 fprintf call.
20543
e15c215e
FZ
205442010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
20545
20546 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
20547
409ae1c9 205482010-01-16 Carles Pina i Estany <carles@pina.cat>
20549
20550 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
20551 string.
20552 * util/grub-emu.c (usage): Likewise.
20553 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
20554 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20555 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20556 * util/i386/pc/grub-setup.c (usage): Likewise.
20557
70a14d3d 205582010-01-16 Carles Pina i Estany <carles@pina.cat>
20559
20560 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
20561 the message.
20562 (grub_util_info): Likewise.
20563 (grub_util_error): Likewise.
20564 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
20565 and/or new lines in `grub_util_warna', `grub_util_info',
20566 `grub_util_error' calls.
20567 * util/getroot.c: Likewise.
20568 * util/grub-editenv.c: Likewise.
20569 * util/grub-emu.c: Likewise.
20570 * util/grub-fstest.c: Likewise.
20571 * util/grub-mkdevicemap.c: Likewise.
20572 * util/grub-mkfont.c: Likewise.
20573 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20574 * util/grub-mkrelpath.c: Likewise.
20575 * util/grub-pe2elf.c: Likewise.
20576 * util/grub-probe.c: Likewise.
20577 * util/hostdisk.c: Likewise.
20578 * util/i386/efi/grub-mkimage.c: Likewise.
20579 * util/i386/pc/grub-mkimage.c: Likewise.
20580 * util/i386/pc/grub-setup.c: Likewise.
20581 * util/ieee1275/ofpath.c: Likewise.
20582 * util/mkisofs/eltorito.c: Likewise.
20583 * util/mkisofs/rock.c: Likewise.
20584 * util/mkisofs/write.c: Likewise.
20585 * util/raid.c: Likewise.
20586 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20587 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20588
a0b766fc
VS
205892010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20590
20591 Enable multiboot on non-pc.
20592
20593 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
20594 multiboot.mod and multiboot2.mod to ...
20595 * conf/i386.rmk (pkglib_MODULES): ... here.
20596 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
20597 Moved to ...
20598 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
20599 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
20600 Moved to ...
20601 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
20602 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
20603 Moved to ...
20604 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
20605 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
20606 Moved to ...
20607 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
20608 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
20609 relocator.mod.
20610 (ata_mod_SOURCES): Removed.
20611 (ata_mod_CFLAGS): Likewise.
20612 (ata_mod_LDFLAGS): Likewise.
20613 (relocator_mod_SOURCES): Removed.
20614 (relocator_mod_CFLAGS): Likewise.
20615 (relocator_mod_ASFLAGS): Likewise.
20616 (relocator_mod_LDFLAGS): Likewise.
20617 Include i386.mk.
20618 * include/grub/x86_64/multiboot.h: New file.
20619 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
20620 Terminate EFI.
20621
884ade56
VS
206222010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20623
20624 Video multiboot support.
20625
20626 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
20627 New prototype.
20628 * include/multiboot.h: Resynced with multiboot specification.
20629 * include/multiboot2.h: Likewise.
20630 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
20631 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
20632 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
20633 (HAS_VGA_TEXT): Likewise.
20634 (accepts_video): New variable.
20635 (grub_multiboot_set_accepts_video): New function.
20636 (grub_multiboot_get_mbi_size): Account for video structures.
20637 (set_video_mode): New function.
20638 (retrieve_video_parameters): Likewise.
20639 (grub_multiboot_make_mbi): Fill video fields.
20640
0d90e8a6
VS
206412010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20642
20643 Video driver ids.
20644
20645 * include/grub/video.h (grub_video_driver_id): New type.
20646 (grub_video_adapter): New member 'id'. All users updated.
20647 (grub_video_get_driver_id): New proto.
20648 * video/video.c (grub_video_get_driver_id): New function.
20649
5c71db1b 206502010-01-14 Carles Pina i Estany <carles@pina.cat>
20651
20652 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
20653 `var=val'.
20654
cca15b52 206552010-01-14 Carles Pina i Estany <carles@pina.cat>
20656
20657 * normal/cmdline.c (print_completion): Gettextizze.
20658
c586fbb2 206592001-01-14 Carles Pina i Estany <carles@pina.cat>
20660
20661 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
20662
ba2f6848 206632010-01-14 Carles Pina i Estany <carles@pina.cat>
20664
20665 * gettext/gettext.c (grub_gettext_translate): Push and pop
20666 grub_errno.
20667 (grub_gettext_delete_list): Change comment style.
20668 * kern/err.c (grub_error): Gettextizze.
20669 (grub_fatal): Gettextizze.
20670
0a46429a
RM
206712010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20672
20673 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
20674 (grub_linux16_real_boot): ... this.
20675 * kern/i386/loader.S: Likewise.
20676 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
20677 (grub_linux16_boot): New function. Switches to text mode and calls
20678 grub_linux16_real_boot().
20679
20680 * loader/i386/bsd.c: Include `<grub/video.h>'.
20681 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
20682 text mode before calling grub_unix_real_boot().
20683
20684 * loader/i386/multiboot.c: Include `<grub/video.h>'.
20685 (grub_multiboot_boot): Switch to text mode before calling
20686 grub_relocator32_boot().
20687
20688 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
20689 (grub_chainloader_boot): Switch to text mode before calling
20690 grub_chainloader_real_boot().
20691
d6f93a66
RM
206922010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
206932010-01-05 Colin Watson <cjwatson@ubuntu.com>
20694
20695 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
20696 non-empty value.
20697
206982010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
206992010-01-05 Colin Watson <cjwatson@ubuntu.com>
20700
20701 * util/grub.d/00_header.in: Define a "savedefault" function for use
20702 in menu entries.
20703 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
20704
207052010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
207062010-01-05 Colin Watson <cjwatson@ubuntu.com>
20707
20708 * util/grub-mkconfig_lib.in (save_default_entry): Only set
20709 saved_entry if boot_once is unset.
20710 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
20711 previous saved entry (i.e. grub-reboot).
20712
207132009-12-08 Colin Watson <cjwatson@ubuntu.com>
20714
20715 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
20716
207172009-12-08 Colin Watson <cjwatson@ubuntu.com>
20718
20719 * util/grub.d/00_header.in: Use `set var=val' rather than plain
20720 `var=val'.
20721 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
20722
207232009-12-08 Colin Watson <cjwatson@ubuntu.com>
20724
20725 * util/grub-reboot.in: Fix --version output.
20726 * util/grub-set-default.in: Likewise.
20727
207282009-12-08 Colin Watson <cjwatson@ubuntu.com>
20729
20730 * util/grub.d/00_header.in: Silently ignore zero-sized environment
20731 blocks.
20732
207332009-12-08 Colin Watson <cjwatson@ubuntu.com>
20734
20735 * util/grub.d/00_header.in: Quote the value assigned to `default',
20736 in case it contains spaces.
20737
207382009-12-08 Colin Watson <cjwatson@ubuntu.com>
20739
20740 * util/grub.d/30_os-prober.in: Fix merge error that moved a
20741 `save_default_entry' call from the macosx case to the linux case.
20742
207432009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
207442009-10-25 Colin Watson <cjwatson@ubuntu.com>
20745
20746 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
20747 in `chosen' environment variable.
20748 * normal/menu_text.c (get_entry_number): Check if the variable
20749 matches the title of a menu entry.
20750 (run_menu): Pass menu to get_entry_number.
20751
20752 * util/grub-reboot.in: New file.
20753 * util/grub-set-default.in: New file.
20754 * conf/common.rmk (grub-reboot): New utility.
20755 (grub-set-default): New utility.
20756
20757 * util/grub-mkconfig_lib.in (save_default_entry): New function.
20758 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
20759 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
20760 move it to `saved_entry' for the next boot. Load environment on
20761 initialisation.
20762 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
20763 * util/grub.d/10_hurd.in: Likewise.
20764 * util/grub.d/10_linux.in (linux_entry): Likewise.
20765 * util/grub.d/10_windows.in: Likewise.
20766 * util/grub.d/30_os-prober.in: Likewise.
20767
20768 * util/grub-install.in: Create environment block.
20769 * util/i386/efi/grub-install.in: Likewise.
20770 * util/ieee1275/grub-install.in: Likewise.
20771 * util/sparc64/ieee1275/grub-install.in: Likewise.
20772
0934d184
BC
207732010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
20774
20775 Unit testing framework for GRUB.
20776
20777 * Makefile.in: Test framework build rules for 'make check'.
20778 * conf/tests.rmk: Build rules for individual tests and framework.
20779
20780 * include/grub/test.h: Header file for whitebox tests.
20781 * tests/lib/functional_test.c: Framework support for whitebox
20782 functional tests.
20783 * tests/lib/test.c: Common whitebox testing code for unit and
20784 functional tests.
20785 * tests/lib/unit_test.c: Framework support for whitebox unit
20786 tests.
20787
20788 * tests/util/grub-shell-tester.in: Support utility for grub-script
20789 tests.
20790 * tests/util/grub-shell.in: Utility to execute grub-script
20791 commands in a Qemu instance.
20792
20793 * tests/example_functional_test.c: Example whitebox functional
20794 test.
20795 * tests/example_grub_script_test.in: Example grub-script test.
20796 * tests/example_scripted_test.in: Example scripted test.
20797 * tests/example_unit_test.c: Example whitebox unit test.
20798
9c4ffeeb
VS
207992010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20800
20801 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
20802 Add loader/i386/multiboot_mbi.c.
20803 (multiboot2_mod_SOURCES): Likewise.
20804 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
20805 (multiboot2_mod_SOURCES): Likewise.
20806 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
20807 (grub_multiboot_make_mbi): Likewise.
20808 (grub_multiboot_free_mbi): Likewise.
20809 (grub_multiboot_init_mbi): Likewise.
20810 (grub_multiboot_add_module): Likewise.
20811 (grub_multiboot_set_bootdev): Likewise.
20812 * loader/i386/multiboot.c (mbi): Removed.
20813 (mbi_dest): Likewise.
20814 (alloc_mbi): New variable.
20815 (grub_multiboot_payload_size): Removed. All users updated.
20816 (grub_multiboot_pure_size): New variable.
20817 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
20818 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
20819 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
20820 (grub_fill_multiboot_mmap): Likewise.
20821 (grub_multiboot_get_bootdev): Likewise.
20822 (grub_multiboot): Use multiboot_mbi functions.
20823 * loader/i386/multiboot_mbi.c: New file.
20824
17383dfe
VS
208252010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20826
20827 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
20828 it would result in module crash.
20829
c1f28820
VS
208302010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20831
20832 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
20833 (grub_ofconsole_getwh): Split to ...
20834 (grub_ofconsole_getwh): ... this.
20835 (grub_ofconsole_dimensions): ...and this.
20836 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
20837
58655a16
RM
208382010-01-13 Robert Millan <rmh.grub@aybabtu.com>
20839
20840 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
20841
10891398
VS
208422010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20843
20844 * loader/i386/pc/multiboot2.c: Removed stalled file.
20845
0b8a223c
VS
208462010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20847
20848 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
20849 Reported by: Grégoire Sutre
20850
92ab12b0
RM
208512010-01-11 Robert Millan <rmh.grub@aybabtu.com>
20852
20853 * util/misc.c (canonicalize_file_name): New function.
20854 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
20855 instead of realpath().
20856
a788afb6
CW
208572010-01-11 Colin Watson <cjwatson@ubuntu.com>
20858
20859 * util/grub-install.in (usage): Clarify meaning of --root-directory,
20860 and make it clearer that it's optional. Based on confusion
20861 witnessed on IRC.
20862
ffa8e3d2
VS
208632010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20864
20865 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
20866 in premature implicit newline.
20867
e9060a9d
VS
208682010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20869
20870 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
20871 which resulted in garbled command line at the end of screen.
20872
f0d0c0b7
RM
208732010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20874
20875 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
20876 initialization with similar approach as with other Linux loaders.
20877
0e60bae7
RM
208782010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20879
20880 Fix i386-ieee1275 build.
20881
20882 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
20883 and grub_term_height() for video_{width,height} initialization.
20884
208852010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
20886
20887 Fix grub-emu build.
20888
20889 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
20890
cdb3f378
RM
208912010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
208922010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20893
20894 Support for multiple terminals.
20895
20896 * Makefile.in (pkglib_DATA): terminal.lst.
20897 (terminal.lst): New target.
20898 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
20899 (GRUB_MOD_INIT(handler)): Likewise.
20900 (GRUB_MOD_FINI(handler)): Likewise.
20901 * commands/help.c (grub_cmd_help): Handle multiple terminals.
20902 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
20903 * commands/sleep.c (do_print): Use grub_term_restore_pos.
20904 (grub_cmd_sleep): Use grub_term_save_pos.
20905 * commands/terminal.c: New file.
20906 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
20907 commands/terminal.c and lib/charset.c.
20908 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
20909 (pkglib_MODULES): Add terminal.mod.
20910 (terminal_mod_SOURCES): New variable.
20911 (terminal_mod_CFLAGS): Likewise.
20912 (terminal_mod_LDFLAGS): Likewise.
20913 * genhandlerlist.sh: Don't handle terminals.
20914 * genmk.rb: Generate terminal-*.lst.
20915 * genterminallist.sh: New file.
20916 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
20917 (grub_is_valid_utf8): Likewise.
20918 (grub_utf8_to_ucs4_alloc): Likewise.
20919 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
20920 (grub_menu_register_viewer): Changed argument.
20921 (grub_menu_try_text): New proto.
20922 (grub_gfxmenu_try_hook): New declaration.
20923 * include/grub/normal.h (grub_normal_exit_level): New declaration.
20924 (grub_menu_init_page): Additional argument term.
20925 (grub_normal_init_page): Likewise.
20926 (grub_cmdline_get): Arguments simplified.
20927 (grub_utf8_to_ucs4_alloc): Removed.
20928 (grub_print_ucs4): Additional argument term.
20929 (grub_getstringwidth): Likewise.
20930 (grub_print_message_indented): Likewise.
20931 (grub_menu_text_register_instances): New proto.
20932 (grub_show_menu): Likewise.
20933 (read_terminal_list): Likewise.
20934 (grub_set_more): Likewise.
20935 * include/grub/parser.h: Include handler.h.
20936 * include/grub/reader.h: Rewritten.
20937 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
20938 (GRUB_TERM_WIDTH): Changed to function.
20939 (GRUB_TERM_HEIGHT): Likewise.
20940 (GRUB_TERM_BORDER_WIDTH): Likewise.
20941 (GRUB_TERM_BORDER_HEIGHT): Likewise.
20942 (GRUB_TERM_NUM_ENTRIES): Likewise.
20943 (GRUB_TERM_ENTRY_WIDTH): Likewise.
20944 (GRUB_TERM_CURSOR_X): Likewise.
20945 (grub_term_input_class): Likewise.
20946 (grub_term_output_class): Likewise.
20947 (grub_term_outputs_disabled): New declaration.
20948 (grub_term_inputs_disabled): Likewise.
20949 (grub_term_outputs): Likewise.
20950 (grub_term_inputs): Likewise.
20951 (grub_term_register_input): Rewritten.
20952 (grub_term_register_output): Likewise.
20953 (grub_term_unregister_input): Likewise.
20954 (grub_term_unregister_output): Likewise.
20955 (FOR_ACTIVE_TERM_INPUTS): New macro.
20956 (FOR_DISABLED_TERM_INPUTS): Likewise.
20957 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20958 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
20959 * include/grub/terminfo.h: Add oterm argument to all protypes.
20960 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
20961 Use grub_rescue_run.
20962 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
20963 All users updated.
20964 * kern/reader.c: Removed. All users updated.
20965 * kern/rescue_reader.c (grub_rescue_init): Removed.
20966 (grub_rescue_reader): Likewise.
20967 (grub_register_rescue_reader): Likewise.
20968 (grub_rescue_run): New function based on kern/reader.c.
20969 * kern/term.c: Adapted for multiterm.
20970 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
20971 (grub_is_valid_utf8): Likewise.
20972 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
20973 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
20974 right terminal.
20975 * loader/i386/linux.c (grub_linux_boot): Likewise.
20976 * normal/auth.c (grub_username_get): New function.
20977 (grub_auth_check_authentication): Use grub_username_get.
20978 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
20979 * normal/color.c: Adapt for multiterm.
20980 * normal/main.c (read_config_file): Don't use grub_reader_loop.
20981 (grub_normal_init_page): Additional argument term.
20982 (read_lists): Call read_terminal_lists.
20983 (grub_enter_normal_mode): Call grub_cmdline_run.
20984 Handle grub_normal_exit_level.
20985 (grub_cmd_normal): Make reentrant.
20986 (grub_cmd_normal_exit): New function.
20987 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
20988 * normal/menu.c: Adapt for multiterm.
20989 * normal/menu_entry.c: Likewise.
20990 * normal/menu_text.c: Likewise.
20991 * normal/menu_viewer.c: Removed. All users updated.
20992 * normal/term.c: New file.
20993 * util/console.c: Change order of includes to workaround a bug in
20994 ncurses headers.
20995 * term/terminfo.c: New argument oterm on all exported functions.
20996 All users updated.
20997 * util/grub-editenv.c (grub_term_input_class): Removed.
20998 (grub_term_output_class): Likewise.
20999
1a064917
RM
210002010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21001
21002 Make loader output a bit more user-friendly.
21003
21004 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
21005 is being loaded. Likewise for the Hurd.
21006
21007 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
21008 that kernel of FreeBSD ${version} is being loaded.
21009
21010 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
21011 grub_dprintf().
21012 (grub_cmd_initrd): Likewise.
21013 * util/grub.d/10_linux.in (linux_entry): Print message indicating
21014 that Linux ${version} is being loaded. Likewise for initrd.
21015
5ce0a83a 210162010-01-09 Carles Pina i Estany <carles@pina.cat>
21017
21018 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
21019
809bbfeb 210202010-01-08 Carles Pina i Estany <carles@pina.cat>
21021
21022 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
21023 (GRUB_MOD_INIT): Gettextizze.
21024 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
21025 (GRUB_MOD_INIT): Gettextizze.
21026 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
21027 (grub_cmd_linux): Capitalise Linux.
21028 (GRUB_MOD_INIT): Gettextizze.
21029 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
21030 (grub_cmd_linux): Capitalise Linux.
21031 (GRUB_MOD_INIT): Gettextizze.
21032 * loader/i386/linux.c: Include `<grub/i18n.h>'.
21033 (grub_cmd_linux): Capitalise Linux.
21034 (GRUB_MOD_INIT): Gettextizze.
21035 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
21036 (GRUB_MOD_INIT): Gettextizze.
21037 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
21038 (grub_cmd_linux): Capitalise Linux.
21039 (GRUB_MOD_INIT): Gettextizze.
21040 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
21041 (grub_cpu_xnu_init): Gettextizze.
21042 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
21043 (GRUB_MOD_INIT): Gettextizze.
21044 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
21045 (GRUB_MOD_INIT): Gettextizze.
21046 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
21047 (grub_linux_load64): Capitalise Linux.
21048 (GRUB_MOD_INIT): Gettextizze.
21049 * loader/xnu.c: Include `<grub/i18n.h>'.
21050 (GRUB_MOD_INIT): Gettextizze.
21051 * po/POTFILES: Add `loader/efi/appleloader.c',
21052 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
21053 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
21054 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
21055 `loader/i386/xnu.c', `loader/multiboot_loader.c',
21056 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
21057 and `loader/xnu.c'.
21058
b394b2ca
RM
210592010-01-08 Robert Millan <rmh.grub@aybabtu.com>
21060
21061 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
21062
210632010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
21064
21065 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
21066 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
21067 * util/mkisofs/mkisofs.c (main): Readjust --version output.
21068
bc8b32b3
RM
210692010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21070
21071 Reset Multiboot 2 support. New loader implements the draft in
21072 /branches/multiboot2 and shares as much code as possible with the
21073 production Multiboot 1 implementation.
21074
21075 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
21076 * loader/multiboot2.c: Likewise.
21077 * loader/i386/multiboot_helper.S: Likewise.
21078 * include/multiboot2.h: Replace with latest version from the draft
21079 in /branches/multiboot2.
21080
21081 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
21082 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
21083 and `loader/multiboot2.c'.
21084 (pkglib_MODULES): Add `multiboot2.mod'.
21085 (multiboot2_mod_SOURCES): New variable.
21086 (multiboot2_mod_LDFLAGS): Likewise.
21087 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
21088
21089 * conf/i386-pc.rmk: Likewise.
21090
21091 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21092 (multiboot_mod_SOURCES): Remove variable.
21093 (multiboot_mod_LDFLAGS): Likewise.
21094 (multiboot_mod_CFLAGS): Likewise.
21095
21096 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
21097 `<multiboot2.h>' instead of `<multiboot.h>'.
21098 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
21099 (MULTIBOOT_HEADER_MAGIC): New macros.
21100
21101 * loader/multiboot_loader.c (module_version_status): Remove variable.
21102 (find_multi_boot2_header): Remove function.
21103 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
21104 logic. Always check for the Multiboot version we're compiling for.
21105 (grub_cmd_module_loader): Likewise.
21106 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
21107 command instead of `multiboot'.
21108
5d2c52b8
RM
211092010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21110
21111 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
21112 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
21113 all users.
21114
53108d92
RM
211152010-01-07 Robert Millan <rmh.grub@aybabtu.com>
211162010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21117
21118 Fix breakage introduced with previous commit.
21119
21120 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
21121 commands.
21122 * normal/handler.c (read_handler_list): Revert part of previous commit
21123 affecting this file.
21124 * normal/main.c (read_lists): Move read_handler_list() call back to ...
21125 (grub_normal_execute): ... here.
21126
e2e936b2
RM
211272010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21128
21129 Merge prefix-redefinition-fix branch.
21130
21131 * normal/autofs.c (read_fs_list): Make function capable of being
21132 run multiple times, gracefuly replacing the previous data
21133 structures.
21134 * normal/dyncmd.c (read_command_list): Likewise.
21135 * normal/handler.c (read_handler_list): Likewise.
21136 * normal/main.c (read_lists): New function. Calls all the
21137 list reading functions.
21138 (grub_normal_execute): Use read_lists() instead of calling all
21139 list reading functions explicitly. Register read_lists() as a
21140 variable hook attached to ${prefix}.
21141
607a3701
VS
211422010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21143
21144 Merge crypto branch.
21145
21146 * Makefile.in (pkglib_DATA): Add crypto.lst.
21147 (crypto.lst): New target.
21148 * commands/hashsum.c: New file.
21149 * commands/password.c (check_password): Use grub_crypto_memcmp.
21150 * commands/password_pbkdf2.c: New file.
21151 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
21152 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
21153 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
21154 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
21155 -I$(srcdir)/lib/libgcrypt_wrap.
21156 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
21157 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
21158 password_pbkdf2.mod.
21159 (crypto_mod_SOURCES): New variable.
21160 (crypto_mod_CFLAGS): Likewise.
21161 (crypto_mod_LDFLAGS): Likewise.
21162 (hashsum_mod_SOURCES): New variable.
21163 (hashsum_mod_CFLAGS): Likewise.
21164 (hashsum_mod_LDFLAGS): Likewise.
21165 (pbkdf2_mod_SOURCES): New variable.
21166 (pbkdf2_mod_CFLAGS): Likewise.
21167 (pbkdf2_mod_LDFLAGS): Likewise.
21168 (password_pbkdf2_mod_SOURCES): New variable.
21169 (password_pbkdf2_mod_CFLAGS): Likewise.
21170 (password_pbkdf2_mod_LDFLAGS): Likewise.
21171 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
21172 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
21173 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
21174 Include conf/gcry.rmk.
21175 * include/grub/auth.h: Rewritten.
21176 * include/grub/crypto.h: New file.
21177 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
21178 * include/grub/normal.h (read_crypto_list): New prototype.
21179 * lib/crypto.c: New file.
21180 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21181 * lib/pbkdf2.c: Likewise.
21182 * normal/auth.c (grub_auth_strcmp): Removed.
21183 (grub_iswordseparator): Likewise.
21184 (grub_auth_strword): Likewise.
21185 (is_authenticated): Use grub_strword.
21186 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
21187 and grub_strword. Pass entered password to authentication callback.
21188 * normal/crypto.c: New file.
21189 * normal/main.c: Call read_crypto_list.
21190 * util/grub-mkpasswd-pbkdf2.c: New file.
21191 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
21192
42841caa
VS
211932010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
21194
21195 Fix descent and ascent calculation.
21196
21197 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
21198 (options): New option "asce".
21199 (usage): Likewise.
21200 (add_char): Ignore invalid glyphs for descent calculation.
21201 Calculate ascent from actual content.
21202 (print_glyphs): Use 'asce'.
21203 (write_font): Likewise. Allow ascent override.
21204 (main): Handle "asce" option.
21205
e7730de7 212062010-01-06 Carles Pina i Estany <carles@pina.cat>
21207
21208 * kern/err.c: Include `<grub/i18n.h>'.
21209 (grub_print_error): Add full stop. Gettextizze.
21210 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
21211 (grub_bsd_load_elf): Capitalise ELF.
21212 (grub_cmd_freebsd_loadenv): Add `s' in error string.
21213 (grub_cmd_freebsd_module): Likewise.
21214 (grub_cmd_freebsd_module_elf): Likewise.
21215 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
21216
40e3a41f 212172010-01-06 Carles Pina i Estany <carles@pina.cat>
21218
21219 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
21220 * commands/search_file.c (HELP_MESSAGE): New macro.
21221 * commands/search_label.c (HELP_MESSAGE): Likewise.
21222 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
21223 * po/POTFILES: Add `commands/search_file.c',
21224 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
21225 `commands/search.c'.
21226
83507e68
RM
212272010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21228
21229 * config.rpath: Update from Gnulib.
21230
465c787b
YB
212312010-01-05 Yves Blusseau <blusseau@zetam.org>
21232
21233 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
21234
6581dd3a
YB
212352010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
21236
21237 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
21238
3bff18c5
CW
212392010-01-05 Colin Watson <cjwatson@ubuntu.com>
21240
21241 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
21242 arguments to fread so that we get a return value in bytes, rather
21243 than something that will normally be rounded down to 0.
21244 Adjust error handling to avoid producing garbage when size_t is not
21245 the same size as long long.
21246
a1368118
CW
212472010-01-05 Colin Watson <cjwatson@ubuntu.com>
21248
21249 * util/mkisofs/write.c (padblock_write): Check return value of
21250 fread.
21251
7c302978
RM
212522010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21253
21254 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
21255 floppy images now.
21256
21257 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
21258
e33ace06
RM
212592010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21260
21261 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
21262 instead of manual alignment.
21263 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
21264 verbose). Avoid attempts to read past end of the device
21265 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
21266 but GRUB_DISK_CACHE_SIZE may exceed that).
21267
4b856776
RM
212682010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21269
21270 * commands/crc.c (grub_cmd_crc): Abort on read errors.
21271 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
21272 it to upper layer.
21273
52c2d97f
VS
212742010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21275
21276 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21277 New constant.
21278 (grub_efi_piwg_device_path): New structure
21279 (grub_efi_piwg_device_path_t): New type.
21280 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21281 (devpath_1): Transform to a structure. All users updated.
21282 (devpath_2): Likewise.
21283 (devpath_3): Likewise.
21284 (devpath_4): Likewise.
21285 (devpath_5): Likewise.
21286
98ff6a54
VS
212872010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21288
21289 * loader/efi/appleloader.c: Restored. Update all users.
21290
3a73dcb6
RM
212912010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21292
21293 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21294
21295 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21296 (struct boot_blocklist): Move from here ...
21297 * include/grub/i386/pc/boot.h [ASM_FILE]
21298 (struct grub_boot_blocklist): ... to here. Update all users.
21299 (setup): Only initialize `start' member of `first_block'
21300 structure. Add assert() calls to verify the other members.
21301
21302 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21303 (generate_image): Fix broken blocklist length initialization.
21304 Add assert() call to verify blocklist `segment' field.
21305
ab0eeb0c
RM
213062010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21307
21308 * loader/efi/appleloader.c: Remove. Update all users.
21309
58bc8bd5
RM
213102010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21311
21312 * boot/i386/pc/boot.S: Update copyright year.
21313 * boot/i386/pc/cdboot.S: Likewise.
21314 * boot/i386/pc/diskboot.S: Likewise.
21315 * boot/i386/pc/lnxboot.S: Likewise.
21316 * boot/i386/pc/pxeboot.S: Likewise.
21317 * bus/pci.c: Likewise.
21318 * commands/cmp.c: Likewise.
21319 * commands/help.c: Likewise.
21320 * commands/hexdump.c: Likewise.
21321 * commands/i386/pc/halt.c: Likewise.
21322 * commands/i386/pc/play.c: Likewise.
21323 * commands/i386/pc/vbeinfo.c: Likewise.
21324 * commands/ls.c: Likewise.
21325 * commands/test.c: Likewise.
21326 * disk/dmraid_nvidia.c: Likewise.
21327 * disk/i386/pc/biosdisk.c: Likewise.
21328 * disk/ieee1275/nand.c: Likewise.
21329 * disk/ieee1275/ofdisk.c: Likewise.
21330 * disk/lvm.c: Likewise.
21331 * disk/raid.c: Likewise.
21332 * disk/raid6_recover.c: Likewise.
21333 * disk/scsi.c: Likewise.
21334 * fs/affs.c: Likewise.
21335 * fs/cpio.c: Likewise.
21336 * fs/ext2.c: Likewise.
21337 * fs/hfs.c: Likewise.
21338 * fs/iso9660.c: Likewise.
21339 * fs/ntfs.c: Likewise.
21340 * fs/sfs.c: Likewise.
21341 * fs/udf.c: Likewise.
21342 * fs/ufs.c: Likewise.
21343 * fs/xfs.c: Likewise.
21344 * gencmdlist.sh: Likewise.
21345 * genmk.rb: Likewise.
21346 * include/grub/disk.h: Likewise.
21347 * include/grub/efi/api.h: Likewise.
21348 * include/grub/efi/efi.h: Likewise.
21349 * include/grub/efi/pe32.h: Likewise.
21350 * include/grub/elf.h: Likewise.
21351 * include/grub/fs.h: Likewise.
21352 * include/grub/i386/at_keyboard.h: Likewise.
21353 * include/grub/i386/pc/memory.h: Likewise.
21354 * include/grub/i386/pc/vbe.h: Likewise.
21355 * include/grub/i386/pci.h: Likewise.
21356 * include/grub/i386/tsc.h: Likewise.
21357 * include/grub/ieee1275/ieee1275.h: Likewise.
21358 * include/grub/ntfs.h: Likewise.
21359 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21360 * include/grub/sparc64/libgcc.h: Likewise.
21361 * include/grub/symbol.h: Likewise.
21362 * include/grub/types.h: Likewise.
21363 * include/multiboot2.h: Likewise.
21364 * io/gzio.c: Likewise.
21365 * kern/device.c: Likewise.
21366 * kern/disk.c: Likewise.
21367 * kern/efi/efi.c: Likewise.
21368 * kern/efi/mm.c: Likewise.
21369 * kern/elf.c: Likewise.
21370 * kern/file.c: Likewise.
21371 * kern/i386/dl.c: Likewise.
21372 * kern/i386/pc/init.c: Likewise.
21373 * kern/i386/pc/startup.S: Likewise.
21374 * kern/ieee1275/ieee1275.c: Likewise.
21375 * kern/ieee1275/init.c: Likewise.
21376 * kern/main.c: Likewise.
21377 * kern/mm.c: Likewise.
21378 * kern/powerpc/dl.c: Likewise.
21379 * kern/sparc64/dl.c: Likewise.
21380 * kern/x86_64/dl.c: Likewise.
21381 * lib/hexdump.c: Likewise.
21382 * loader/efi/appleloader.c: Likewise.
21383 * loader/i386/ieee1275/linux.c: Likewise.
21384 * loader/i386/pc/chainloader.c: Likewise.
21385 * loader/i386/pc/linux.c: Likewise.
21386 * loader/i386/pc/multiboot2.c: Likewise.
21387 * loader/ieee1275/multiboot2.c: Likewise.
21388 * loader/multiboot2.c: Likewise.
21389 * loader/multiboot_loader.c: Likewise.
21390 * loader/powerpc/ieee1275/linux.c: Likewise.
21391 * normal/completion.c: Likewise.
21392 * normal/menu_entry.c: Likewise.
21393 * partmap/apple.c: Likewise.
21394 * util/grub.d/10_hurd.in: Likewise.
21395 * util/hostfs.c: Likewise.
21396 * video/readers/png.c: Likewise.
21397
e2d70b5c
CW
213982010-01-03 Colin Watson <cjwatson@ubuntu.com>
21399
21400 * include/grub/misc.h (GNUC_PREREQ): New macro.
21401 (ATTRIBUTE_ERROR): New macro.
21402 * include/grub/list.h (grub_bad_type_cast_real): Use
21403 ATTRIBUTE_ERROR.
21404
a173283f 214052010-01-03 Carles Pina i Estany <carles@pina.cat>
21406
21407 * normal/menu_text.c (print_message): Change messages.
21408
7fa7ff74 214092010-01-03 Carles Pina i Estany <carles@pina.cat>
21410
21411 * normal/menu_entry.c (store_completion): Gettextizze.
21412
136d24f6 214132010-01-03 Carles Pina i Estany <carles@pina.cat>
21414
21415 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
21416
f936862e 214172010-01-03 Carles Pina i Estany <carles@pina.cat>
21418
21419 * po/POTFILES: Sort correctly.
21420
29c44ad1 214212010-01-03 Carles Pina i Estany <carles@pina.cat>
21422
21423 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
21424 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
21425 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
21426 full stop.
21427 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
21428 summary. Gettextizze the strings.
21429 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
21430 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
21431 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
21432 full stop.
21433 (GRUB_MOD_INIT): Remove command name from summary.
21434 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
21435 summary.
21436 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
21437 * term/i386/pc/serial.c (options): Add full stops.
21438 (GRUB_MOD_INIT): Remove command name from the summary.
21439
77a79592 214402010-01-03 Carles Pina i Estany <carles@pina.cat>
21441
21442 * commands/acpi.c: Gettextizze help strings and/or options. Include
21443 `grub/i18n.h' if needed.
21444 * commands/blocklist.c: Likewise.
21445 * commands/boot.c: Likewise.
21446 * commands/cat.c: Likewise.
21447 * commands/cmp.c: Likewise.
21448 * commands/configfile.c: Likewise.
21449 * commands/crc.c: Likewise.
21450 * commands/date.c: Likewise.
21451 * commands/echo.c: Likewise.
21452 * commands/efi/fixvideo.c: Likewise.
21453 * commands/efi/loadbios.c: Likewise.
21454 * commands/gptsync.c: Likewise.
21455 * commands/halt.c: Likewise.
21456 * commands/handler.c: Likewise.
21457 * commands/hdparm.c: Likewise.
21458 * commands/hexdump.c: Likewise.
21459 * commands/i386/cpuid.c: Likewise.
21460 * commands/i386/pc/drivemap.c: Likewise.
21461 * commands/i386/pc/halt.c: Likewise.
21462 * commands/i386/pc/pxecmd.c: Likewise.
21463 * commands/i386/pc/vbeinfo.c: Likewise.
21464 * commands/i386/pc/vbetest.c: Likewise.
21465 * commands/ieee1275/suspend.c: Likewise.
21466 * commands/keystatus.c: Likewise.
21467 * commands/loadenv.c: Likewise.
21468 * commands/ls.c: Likewise.
21469 * commands/lsmmap.c: Likewise.
21470 * commands/lspci.c: Likewise.
21471 * commands/memrw.c: Likewise.
21472 * commands/minicmd.c: Likewise.
21473 * commands/parttool.c: Likewise.
21474 * commands/password.c: Likewise.
21475 * commands/probe.c: Likewise.
21476 * commands/read.c: Likewise.
21477 * commands/reboot.c: Likewise.
21478 * commands/search.c: Likewise.
21479 * commands/sleep.c: Likewise.
21480 * commands/test.c: Likewise.
21481 * commands/true.c: Likewise.
21482 * commands/usbtest.c: Likewise.
21483 * commands/videotest.c: Likewise.
21484 * commands/xnu_uuid.c: Likewise.
21485 * disk/loopback.c: Likewise.
21486 * hello/hello.c: Likewise.
21487 * loader/i386/bsd.c: Likewise.
21488 * term/i386/pc/serial.c: Likewise.
21489 * po/POTFILES: Add new files.
21490
da8d5c53
CW
214912010-01-02 Colin Watson <cjwatson@ubuntu.com>
21492
21493 * term/i386/pc/at_keyboard.c
21494 (keyboard_controller_wait_untill_ready): Rename to ...
21495 (keyboard_controller_wait_until_ready): ... this. Update all users.
21496
33937904 214972010-01-01 Carles Pina i Estany <carles@pina.cat>
21498
21499 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
21500 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
21501 string using string width.
21502 * normal/menu_text.c (grub_print_message_indented): Use
21503 grub_print_spaces and not print_spaces.
21504 (print_timeout): Likewise.
21505 (print_spaces): Move to...
21506 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
21507
3fd3b8d8
RM
215082010-01-01 Robert Millan <rmh.grub@aybabtu.com>
21509
21510 Import from Gnulib.
21511
21512 * gnulib/getdelim.c: New file.
21513 * gnulib/getline.c: Likewise.
21514
33433555
VS
215152009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
21516
21517 * include/grub/list.h (grub_assert_fail): Removed.
21518 (grub_bad_type_cast_real): New function.
21519 (grub_bad_type_cast): New macro.
21520 (GRUB_AS_LIST): Use grub_bad_type_cast.
21521 (GRUB_AS_LIST_P): Likewise.
e44721e8 21522 (GRUB_AS_NAMED_LIST): Likewise.
33433555 21523 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 21524 (GRUB_AS_PRIO_LIST): Likewise.
33433555 21525 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 21526 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 21527
f5a51306
VS
215282009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
21529
21530 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
21531 Fix syntax error.
21532
90d1e879
RM
215332009-12-29 Robert Millan <rmh.grub@aybabtu.com>
21534
21535 * configure.ac: Check for TARGET_CFLAGS initialization before we
21536 initialize it ourselves (sigh).
21537 Move a few modifications to TARGET_CFLAGS to be unconditional
21538 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
21539 eh_frame)
21540
21541 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
21542 * term/i386/pc/at_keyboard.c
21543 (keyboard_controller_wait_untill_ready): Likewise.
21544 (keyboard_controller_led): Rename `led_status' paramter to avoid
21545 name conflict.
21546
465b5a81 215472009-12-28 Carles Pina i Estany <carles@pina.cat>
21548
21549 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
21550 quotes.
21551
c181849b
VS
215522009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21553
21554 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
21555
9c8739a4
VS
215562009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21557
21558 * normal/menu_text.c (grub_print_message_indented): Prevent
21559 past-the-end-of-array dereference.
21560
3e74249c
VS
215612009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21562
21563 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
21564 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
21565
64fd18ed 215662009-12-27 Carles Pina i Estany <carles@pina.cat>
21567
21568 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
21569 * normal/main.c (grub_normal_read_line): Remove a space from the
21570 default prompt.
21571
714af9b9 215722009-12-27 Carles Pina i Estany <carles@pina.cat>
21573
21574 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
21575 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21576 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21577 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21578 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21579 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21580 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21581
82f3e412 215822009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 21583
21584 * video/readers/jpeg.c (cmd): Declare.
21585 (grub_cmd_jpegtest): Use `grub_command_t' type.
21586 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21587 Assign to `cmd'.
21588 (GRUB_MOD_FINI): Use `cmd' to unregister.
21589 * video/readers/png.c (cmd): Declare.
21590 (grub_cmd_pngtest): Use `grub_command_t' type.
21591 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21592 Assign to `cmd'.
21593 (GRUB_MOD_FINI): Use `cmd' to unregister.
21594 * video/readers/tga.c (cmd): Declare.
21595 (grub_cmd_tgatest): Use `grub_command_t' type.
21596 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21597 Assign to `cmd'.
21598 (GRUB_MOD_FINI): Use `cmd' to unregister.
21599
82f3e412 216002009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 21601
21602 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
21603 stops.
21604 * kern/corecmd.c (grub_register_core_commands): Likewise.
21605 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
21606 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21607 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
21608 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21609 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21610 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
21611 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21612 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
21613 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21614 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21615 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21616 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21617 * normal/handler.c (insert_handler): Likewise.
21618 * normal/main.c (GRUB_MOD_INIT): Likewise.
21619 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21620
fdcdbb66 216212009-12-26 Carles Pina i Estany <carles@pina.cat>
21622
21623 * commands/help.c (grub_cmd_help): Print the command name before the
21624 summary.
21625 (GRUB_MOD_INIT): Remove command name from the summary.
21626 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 21627 string as summary.
fdcdbb66 21628 * lib/arg.c (find_long): Print the command name before the summary.
21629 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
21630 summary.
21631 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
21632 * commands/cat.c (GRUB_MOD_INIT): Likewise.
21633 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
21634 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21635 * commands/crc.c (GRUB_MOD_INIT): Likewise.
21636 * commands/date.c (GRUB_MOD_INIT): Likewise.
21637 * commands/echo.c (GRUB_MOD_INIT): Likewise.
21638 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
21639 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21640 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21641 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
21642 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
21643 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
21644 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
21645 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21646 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
21647 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
21648 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
21649 * commands/ls.c (GRUB_MOD_INIT): Likewise.
21650 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21651 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21652 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21653 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
21654 * commands/password.c (GRUB_MOD_INIT): Likewise.
21655 * commands/probe.c (GRUB_MOD_INIT): Likewise.
21656 * commands/read.c (GRUB_MOD_INIT): Likewise.
21657 * commands/search.c (GRUB_MOD_INIT): Likewise.
21658 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
21659 * commands/test.c (GRUB_MOD_INIT): Likewise.
21660 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
21661 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21662 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21663 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
21664 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21665 * lib/arg.c (GRUB_MOD_INIT): Likewise.
21666 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
21667 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21668 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21669 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21670 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21671 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
21672 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
21673 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
21674
9c288be2
VS
216752009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21676
21677 Use search command for preliminar UUID search.
21678
21679 * commands/search.c: Split into ...
21680 * commands/search_wrap.c: ...this
21681 * commands/search.c: ...and this.
21682 * commands/search_file.c: New file.
21683 * commands/search_label.c: New file.
21684 * commands/search_uuid.c: New file.
21685 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
21686 Add commands/search_wrap.c, commands/search_file.c,
21687 commands/search_label.c and commands/search_uuid.c.
21688 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
21689 (search_mod_SOURCES): Set to commands/search_wrap.c.
21690 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
21691 search_label.mod.
21692 (search_fs_file_mod_SOURCES): New variable.
21693 (search_fs_file_mod_CFLAGS): Likewise.
21694 (search_fs_file_mod_LDFLAGS): Likewise.
21695 (search_label_mod_SOURCES): Likewise.
21696 (search_label_mod_CFLAGS): Likewise.
21697 (search_label_mod_LDFLAGS): Likewise.
21698 (search_fs_uuid_mod_SOURCES): New variable.
21699 (search_fs_uuid_mod_CFLAGS): Likewise.
21700 (search_fs_uuid_mod_LDFLAGS): Likewise.
21701 (fs_file_mod_SOURCES): Removed.
21702 (fs_file_mod_CFLAGS): Likewise.
21703 (fs_file_mod_LDFLAGS): Likewise.
21704 (fs_uuid_mod_SOURCES): Removed.
21705 (fs_uuid_mod_CFLAGS): Likewise.
21706 (fs_uuid_mod_LDFLAGS): Likewise.
21707 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
21708 Set to util/grub-install.in.
21709 * disk/fs_file.c: Removed.
21710 * disk/fs_uuid.c: Likewise.
21711 * include/grub/search.h: New file.
21712 * util/grub-install.in: Handle sparc64.
21713 Create and use load.cfg.
21714 * util/sparc64/ieee1275/grub-install.in: Removed.
21715
db943399
VS
217162009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21717
21718 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
21719 Ignore return status if CF is cleared.
21720 (grub_biosdisk_get_diskinfo_standard): Likewise.
21721
3fdae612
RM
217222009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21723
21724 * term/i386/pc/at_keyboard.c
21725 (keyboard_controller_wait_untill_ready): New function.
21726 (grub_keyboard_controller_write, grub_keyboard_controller_read)
21727 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
21728 for keyboard polling, rather than duplicate the same loop. This
21729 saves a few bytes in code size.
21730
7ebaa2b4
VS
217312009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21732
21733 Support for (pxe[:server[:gateway]]) syntax and
21734 use environment variable for PXE.
21735
21736 * commands/i386/pc/pxecmd.c (options): Removed.
21737 (print_ip): Removed.
21738 (grub_cmd_pxe): Removed
21739 (grub_cmd_pxe_unload): New function.
21740 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
21741 (grub_pxe_your_ip): Made static.
21742 (grub_pxe_default_server_ip): Likewise.
21743 (grub_pxe_default_gateway_ip): Likewise.
21744 (grub_pxe_blksize): Likewise.
21745 (parse_ip): New function.
21746 (grub_pxe_open): Support server and gateway specification.
21747 (grub_pxe_close): Free disk->data.
21748 (grub_pxefs_open): Use disk->data.
21749 (grub_pxefs_read): Likewise.
21750 (grub_env_write_readonly): New function.
21751 (set_mac_env): Likewise.
21752 (set_env_limn_ro): Likewise.
21753 (parse_dhcp_vendor): Likewise.
21754 (grub_pxe_detect): Set the environment variables.
21755 (set_ip_env): New function.
21756 (write_ip_env): Likewise.
21757 (grub_env_write_pxe_default_server): Likewise.
21758 (grub_env_write_pxe_default_gateway): Likewise.
21759 (grub_env_write_pxe_blocksize): Likewise.
21760 (GRUB_MOD_INIT(pxe)): Set environment variables.
21761 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
21762 (grub_pxe_mac_addr_t): ... this. All users updated.
21763 (grub_pxe_your_ip): Removed.
21764 (grub_pxe_server_ip): Likewise.
21765 (grub_pxe_gateway_ip): Likewise.
21766 (grub_pxe_blksize): Likewise.
21767
ec5f98ab 217682009-12-25 Carles Pina i Estany <carles@pina.cat>
21769
21770 * commands/help.c: Include `<grub/i18n.h>'.
21771 (grub_cmd_help): Gettextizze.
21772 (GRUB_MOD_INIT): Likewise.
21773 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
21774 (GRUB_MOD_INIT): Gettextizze.
21775 * commands/search.c: Include `<grub/i18n.h>'.
21776 (options): Gettextizze.
21777 (GRUB_MOD_INIT): Gettextizze.
21778 * lib/arg.c: Include `<grub/i18n.h>'.
21779 (help_options): Gettextizze.
21780 (find_long): Likewise.
21781 (grub_arg_show_help): Likewise.
21782 * normal/dyncmd.c: Include `<grub/i18n.h>'.
21783 (read_command_list): Gettextizze.
21784 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 21785 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 21786
22815526
RM
217872009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21788
21789 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
21790 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
21791 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
21792 (led_status): New variable.
21793 (keyboard_controller_led): New function.
21794 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
21795 update led status for caps lock, num lock and scroll lock.
21796
0ad46fd7
FZ
217972009-12-25 Felix Zielcke <fzielcke@z-51.de>
21798
21799 * util/hostdisk.c (open_device): Fix a comment.
21800
d0e158c2
RM
218012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21802
21803 * util/grub-install.in (host_os): New variable.
21804 * util/i386/efi/grub-install.in (host_os): Likewise.
21805
401c0ad6
RM
218062009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21807
21808 * util/mkisofs/write.c (padblock_write): Abort when given an
21809 excedingly large embed image, instead of silently truncating it.
21810
d14d3370
RM
218112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21812
21813 * include/multiboot.h: Indentation fixes.
21814
eeed10b4
RM
218152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21816
21817 * include/multiboot.h (struct multiboot_aout_symbol_table)
21818 (struct multiboot_elf_section_header_table): New structure
21819 declarations (stolen from GRUB Legacy).
21820 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
21821 table information.
21822
21823 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
21824 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
21825 type aliases.
21826
681c70ab
RM
218272009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21828
21829 * include/multiboot.h: Make comments src2texi-friendly.
21830
e4d47d8d
RM
218312009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21832
21833 For consistency with [multiboot]/docs/boot.S.
21834
21835 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
21836 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
21837 (MULTIBOOT_MAGIC2): Rename from this ...
21838 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
21839
a0b70bda
RM
218402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21841
21842 * include/multiboot.h: Remove `<grub/types.h>'.
21843 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
21844 types. Update all users.
21845
61ba42be 218462009-12-25 Carles Pina i Estany <carles@pina.cat>
21847
21848 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
21849 `couldn't' and `can not' by `cannot'.
21850 * commands/i386/pc/drivemap.c: Likewise.
21851 * disk/ata.c: Likewise.
21852 * disk/ieee1275/nand.c: Likewise.
21853 * fs/affs.c: Likewise.
21854 * fs/fat.c: Likewise.
21855 * fs/hfs.c: Likewise.
21856 * fs/hfsplus.c: Likewise.
21857 * fs/iso9660.c: Likewise.
21858 * fs/jfs.c: Likewise.
21859 * fs/minix.c: Likewise.
21860 * fs/reiserfs.c: Likewise.
21861 * fs/sfs.c: Likewise.
21862 * fs/udf.c: Likewise.
21863 * fs/ufs.c: Likewise.
21864 * fs/xfs.c: Likewise.
21865 * loader/powerpc/ieee1275/linux.c: Likewise.
21866 * loader/sparc64/ieee1275/linux.c: Likewise.
21867 * util/grub-probe.c: Likewise.
21868 * util/misc.c: Likewise.
21869
7fd0baee 218702009-12-24 Carles Pina i Estany <carles@pina.cat>
21871
21872 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
21873 grub_errno calls.
21874 * commands/acpi.c: Likewise.
21875 * commands/blocklist.c: Likewise.
21876 * commands/efi/loadbios.c: Likewise.
21877 * commands/i386/pc/drivemap.c: Likewise.
21878 * commands/loadenv.c: Likewise.
21879 * commands/memrw.c: Likewise.
21880 * commands/password.c: Likewise.
21881 * commands/videotest.c: Likewise.
21882 * disk/ata.c: Likewise.
21883 * disk/ata_pthru.c: Likewise.
21884 * disk/dmraid_nvidia.c: Likewise.
21885 * disk/ieee1275/nand.c: Likewise.
21886 * disk/ieee1275/ofdisk.c: Likewise.
21887 * disk/loopback.c: Likewise.
21888 * disk/lvm.c: Likewise.
21889 * disk/mdraid_linux.c: Likewise.
21890 * disk/raid.c: Likewise.
21891 * disk/raid6_recover.c: Likewise.
21892 * disk/scsi.c: Likewise.
21893 * efiemu/main.c: Likewise.
21894 * efiemu/mm.c: Likewise.
21895 * efiemu/pnvram.c: Likewise.
21896 * efiemu/symbols.c: Likewise.
21897 * font/font.c: Likewise.
21898 * fs/cpio.c: Likewise.
21899 * fs/hfsplus.c: Likewise.
21900 * fs/iso9660.c: Likewise.
21901 * fs/jfs.c: Likewise.
21902 * fs/minix.c: Likewise.
21903 * fs/ntfs.c: Likewise.
21904 * fs/ntfscomp.c: Likewise.
21905 * fs/reiserfs.c: Likewise.
21906 * fs/ufs.c: Likewise.
21907 * fs/xfs.c: Likewise.
21908 * gettext/gettext.c: Likewise.
21909 * include/grub/auth.h: Likewise.
21910 * kern/elf.c: Likewise.
21911 * kern/file.c: Likewise.
21912 * kern/ieee1275/init.c: Likewise.
21913 * kern/ieee1275/mmap.c: Likewise.
21914 * kern/ieee1275/openfw.c: Likewise.
21915 * kern/powerpc/dl.c: Likewise.
21916 * kern/sparc64/dl.c: Likewise.
21917 * lib/arg.c: Likewise.
21918 * loader/i386/bsd.c: Likewise.
21919 * loader/i386/bsdXX.c: Likewise.
21920 * loader/i386/efi/linux.c: Likewise.
21921 * loader/i386/efi/xnu.c: Likewise.
21922 * loader/i386/ieee1275/linux.c: Likewise.
21923 * loader/i386/linux.c: Likewise.
21924 * loader/i386/multiboot.c: Likewise.
21925 * loader/i386/pc/linux.c: Likewise.
21926 * loader/i386/pc/multiboot2.c: Likewise.
21927 * loader/i386/xnu.c: Likewise.
21928 * loader/ieee1275/multiboot2.c: Likewise.
21929 * loader/macho.c: Likewise.
21930 * loader/machoXX.c: Likewise.
21931 * loader/multiboot2.c: Likewise.
21932 * loader/multiboot_loader.c: Likewise.
21933 * loader/powerpc/ieee1275/linux.c: Likewise.
21934 * loader/sparc64/ieee1275/linux.c: Likewise.
21935 * loader/xnu.c: Likewise.
21936 * loader/xnu_resume.c: Likewise.
21937 * mmap/i386/pc/mmap.c: Likewise.
21938 * normal/menu_viewer.c: Likewise.
21939 * partmap/acorn.c: Likewise.
21940 * partmap/amiga.c: Likewise.
21941 * partmap/apple.c: Likewise.
21942 * script/lexer.c: Likewise.
21943 * term/gfxterm.c: Likewise.
21944 * term/i386/pc/serial.c: Likewise.
21945 * term/i386/pc/vga.c: Likewise.
21946 * term/ieee1275/ofconsole.c: Likewise.
21947 * term/terminfo.c: Likewise.
21948 * video/bitmap.c: Likewise.
21949 * video/efi_gop.c: Likewise.
21950 * video/efi_uga.c: Likewise.
21951 * video/fb/video_fb.c: Likewise.
21952 * video/i386/pc/vbe.c: Likewise.
21953 * video/readers/tga.c: Likewise.
21954 * video/video.c: Likewise.
21955
0ad46fd7 219562009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
21957
21958 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
21959 * commands/lspci.c: Likewise.
21960 * commands/probe.c: Likewise.
21961 * commands/xnu_uuid.c: Likewise.
21962 * conf/i386-coreboot.rmk: Likewise.
21963 * conf/i386-efi.rmk: Likewise.
21964 * conf/i386-ieee1275.rmk: Likewise.
21965 * conf/i386-pc.rmk: Likewise.
21966 * conf/powerpc-ieee1275.rmk: Likewise.
21967 * conf/sparc64-ieee1275.rmk: Likewise.
21968 * conf/x86_64-efi.rmk: Likewise.
21969 * fs/i386/pc/pxe.c: Likewise.
21970 * gettext/gettext.c: Likewise.
21971 * include/grub/efi/graphics_output.h: Likewise.
21972 * include/grub/i386/pc/memory.h: Likewise.
21973 * kern/env.c: Likewise.
21974 * kern/i386/qemu/startup.S: Likewise.
21975 * lib/i386/pc/biosnum.c: Likewise.
21976 * lib/i386/relocator.c: Likewise.
21977 * lib/i386/relocator_asm.S: Likewise.
21978 * lib/relocator.c: Likewise.
21979 * loader/i386/bsd.c: Likewise.
21980 * loader/i386/multiboot.c: Likewise.
21981 * loader/i386/pc/chainloader.c: Likewise.
21982 * loader/i386/xnu.c: Likewise.
21983 * loader/xnu.c: Likewise.
21984 * normal/main.c: Likewise.
21985 * normal/menu_text.c: Likewise.
21986 * util/getroot.c: Likewise.
21987 * util/grub-mkconfig_lib.in: Likewise.
21988 * util/grub.d/00_header.in: Likewise.
21989 * util/i386/pc/grub-mkimage.c: Likewise.
21990 * util/mkisofs/eltorito.c: Likewise.
21991 * util/mkisofs/exclude.h: Likewise.
21992 * util/mkisofs/hash.c: Likewise.
21993 * util/mkisofs/iso9660.h: Likewise.
21994 * util/mkisofs/joliet.c: Likewise.
21995 * util/mkisofs/mkisofs.c: Likewise.
21996 * util/mkisofs/mkisofs.h: Likewise.
21997 * util/mkisofs/multi.c: Likewise.
21998 * util/mkisofs/name.c: Likewise.
21999 * util/mkisofs/rock.c: Likewise.
22000 * util/mkisofs/tree.c: Likewise.
22001 * util/mkisofs/write.c: Likewise.
22002 * video/efi_gop.c: Likewise.
22003
009ec743
VS
220042009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
22005
22006 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
22007 size counting.
22008
0ad46fd7 220092009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
22010
22011 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
22012 * genmk.rb (class SCRIPT): Modify the target file instead of source.
22013
d3d30ea0
VS
220142009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22015
22016 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
22017 (GRUB_MOD_INIT(memrw)): Update help line.
22018
a34f5c70
VS
220192009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22020
22021 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
22022 Use grub_extcmd_t. All users updated.
22023 (options): New variable.
22024 (grub_cmd_read): Restructure for readability. Support "-v" option.
22025 (grub_cmd_write): Restructure for readability.
22026
0ad46fd7 220272009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
22028
22029 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
22030
0ad46fd7 220312009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
22032
22033 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
22034 with the actual contents of the correspondending make variable.
22035 * util/grub-mkrescue.in (pkglib_DATA): New variable.
22036 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
22037 specifying `*.lst' and `efiemu??.o'
22038
0ad46fd7 220392009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
22040
22041 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
22042 after function name.
22043 Noticed by Rene Engelhard <rene@debian.org>.
22044
dc77a799
VS
220452009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22046
22047 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
22048 (options): New variable.
22049 (iospace): Likewise.
22050 (grub_lspci_iter): List IO spaces if "-i" was given.
22051 (grub_cmd_lspci): Parse options.
22052 (GRUB_MOD_INIT(lspci)): Use extcmd.
22053 (GRUB_MOD_FINI(lspci)): Likewise.
22054
0ad46fd7 220552009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
22056
22057 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
22058 `function' keyword.
22059 Patch by Tony Mancill <tmancill@debian.org>.
22060
b5d5993b
VS
220612009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22062
22063 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
22064 (grub_uhci_portstatus): Likewise.
22065 (grub_uhci_portstatus): Add necessary delay.
11d18281 22066 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 22067
941903f2 220682009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 22069
941903f2 22070 * commands/acpi.c (options): Fix capitalizations and/or full stops.
22071 (GRUB_MOD_INIT): Likewise.
22072 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 22073 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
22074 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 22075 * commands/efi/loadbios.c (enable_rom_area): Likewise.
22076 (enable_rom_area): Likewise.
22077 (GRUB_MOD_INIT): Likewise.
22078 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22079 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
22080 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22081 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
22082 * commands/hexdump.c (options): Likewise.
22083 * commands/i386/cpuid.c (options): Likewise.
22084 (GRUB_MOD_INIT): Likewise.
22085 * commands/i386/pc/drivemap.c (options): Likewise.
22086 (GRUB_MOD_INIT): Likewise.
22087 * commands/i386/pc/halt (options): Likewise.
22088 (GRUB_MOD_INIT): Likewise.
22089 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22090 * commands/i386/pc/pxecmd.c (options): Likewise.
22091 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
22092 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
22093 * commands/keystatus.c (options): Likewise.
22094 (GRUB_MOD_INIT): Likewise.
22095 * commands/loadenv.c (options): Likewise.
22096 * commands/ls.c (options): Likewise.
22097 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22098 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22099 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22100 * commands/parttool.c (helpmsg): Likewise.
22101 * commands/probe.c (options): Likewise.
22102 * commands/read.c (GRUB_MOD_INIT): Likewise.
22103 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
22104 * commands/search.c (options): Likewise.
22105 * commands/sleep.c (options): Likewise.
22106 * commands/test.c (GRUB_MOD_INIT): Likewise.
22107 * commands/true.c (GRUB_MOD_INIT): Likewise.
22108 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
22109 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
22110 * lib/arg.c (help_options): Likewise.
e9bbb4e7 22111 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
22112 `$(XGETTEXT)'.
98a50553 22113 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 22114
0ad46fd7 221152009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 22116
ef3c2c3a 22117 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
22118 instead of specifying them explicit.
22119
7922f68b
RM
221202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22121
22122 * NEWS: Add grub-probe support for GNU/Hurd.
22123
537ce47f
RM
221242009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22125
22126 * NEWS: gettext was added after 1.97.
22127
9b214e3a
RM
221282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22129
22130 * util/mkisofs/msdos_partition.h: New file (based on
22131 include/grub/msdos_partition.h).
22132 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
22133 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
22134 (ld_options, main): Recognize --protective-msdos-label.
22135 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
22136 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
22137 (padblock_write): If `use_protective_msdos_label' is set, patch a
22138 protective DOS-style label in the output image.
22139
22140 * util/grub-mkrescue.in: Use --protective-msdos-label.
22141
e9309813
RM
221422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22143
22144 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
22145 boot.
22146
0ae56929
RM
221472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22148
22149 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
22150 variables.
22151 (ld_options, main): Recognize `--embedded-boot'.
22152 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
22153 declarations.
22154 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
22155 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
22156 (padblock_write): Likewise. Rewrite to support embedded boot image.
22157
22158 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
22159 for BIOS-based disk boot instead of only ElTorito.
22160
b15937b1
RM
221612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22162
22163 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
22164 build (not needed for bootstrap).
22165
52cc3ce0
RM
221662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22167
22168 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
22169 from i386-pc build (not needed for bootstrap).
22170 Rewrite a pair of strings.
22171
36f5ff04
RM
221722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22173
22174 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
22175
973c6c85 221762009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
22177
22178 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
22179
05d21547
AB
221802009-12-21 Andreas Born <futur.andy@googlemail.com>
22181
22182 * kern/env.c (grub_env_context_open): Mark exported variable for
22183 reexport.
22184
0175d51f
AB
221852009-12-21 Andreas Born <futur.andy@googlemail.com>
22186
22187 * kern/env.c (grub_env_export): Create nonexistent variables before
22188 exporting.
22189
7f39d92f 221902009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 22191
7f39d92f 22192 * include/grub/auth.h: Include `<grub/i18n.h>'.
22193 (GRUB_GET_PASSWORD): Gettextizze string.
22194 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
22195 menu_text.c.
22196 (grub_utf8_to_ucs4_alloc): Fix indentation.
22197 (grub_print_ucs4): Likewise.
22198 (grub_getstringwidth): Likewise.
22199 (print_message_indented): New declaration.
22200 * normal/auth.c: Include `<grub/i18n.h>'.
22201 (grub_auth_check_authentication): Gettexttize string.
22202 * normal/cmdline.c: Include `<grub/i18n.h>'.
22203 (grub_cmdline_get): Gettextizze.
22204 * normal/color.c: Include `<grub/i18n.h>'.
22205 (grub_parse_color_name_pair): Gettexttize strings.
22206 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
22207 string (use `print_message_indented').
22208 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
22209 `include/grub/normal.h'.
22210 (print_message_indented): Renamed to ...
22211 (grub_print_message_indented): ... this. Remove `static' qualifer (now
22212 used in normal/main.c).
22213 (print_message): Use `grub_print_message_indented' instead of
22214 `print_message_indented'.
22215 (print_timeout): Likewise.
22216 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
22217 (grub_normal_print_device_info): Gettexttize strings.
22218 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
22219
3041d898
VS
222202009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22221
22222 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
22223 of arguments. Return number of tokens and not arguments. All users
22224 updated.
22225
de15bf8e
VS
222262009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22227
22228 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
22229 non-MSDOS paritions.
22230
e0a6ca52
VS
222312009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22232
22233 * include/grub/types.h (UNUSED): Removed since it conflicts with
22234 NetBSD headers. All users changed to direct __attribute__ ((unused)).
22235 Reported by Grégoire Sutre.
22236
b99518d1 222372009-12-19 Carles Pina i Estany <carles@pina.cat>
22238
22239 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
22240 (grub_print_ucs4_alloc): Likewise.
22241 (grub_getstringwidth): Likewise.
22242 * normal/main.c (grub_normal_init_page): Gettextize version string.
22243 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
22244 (getstringwidth): Renamed to ...
22245 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
22246 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
22247 (grub_print_ucs4): Remove `static' qualifer (now used in
22248 normal/main.c).
22249 * po/POTFILES: Add normal/main.c.
22250
bfd5e52b 222512009-12-19 Carles Pina i Estany <carles@pina.cat>
22252
22253 * normal/menu_text.c (STANDARD_MARGIN): New macro.
22254 (print_message_indented): Add `margin_left' and `margin_right'
22255 parameters.
22256 (print_message): Update `print_message_indented' calls. Adds '\n' to the
22257 strings.
22258 (print_timeout): Use `print_message_indented' to print the message.
22259 Deletes `second_stage' parameter.
22260 (run_menu): Update `print_timeout' calls.
22261
5a1ad2b9
VS
222622009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22263
22264 Fix console palette on OpenFirmware.
22265
22266 * term/ieee1275/ofconsole.c (MAX): Removed.
22267 (colors): Redone based on VGA palette.
22268 (grub_ofconsole_setcolor): Discard brightness bit since only 8
22269 colors are supported.
22270 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
22271
b045f00a
VS
222722009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22273
22274 Fix potential EfiEmu double prepare.
22275
22276 * efiemu/main.c (prepared): New variable
22277 (grub_efiemu_unload): Set prepare to '0'.
22278 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22279
22280 set_virtual_address_map support.
22281
22282 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22283 prototype.
22284 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22285 prototype.
22286 (grub_efiemu_crc32): Likewise.
22287 (grub_efiemu_crc64): Likewise.
22288 (grub_efiemu_set_virtual_address_map): Likewise.
22289 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22290 New definition.
22291 (grub_autoefi_set_virtual_address_map): Likewise.
22292 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22293 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22294 Restructure flow to accomodate it.
22295 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22296 (grub_efiemu_crc): Recompute CRC32.
22297 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22298 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22299 * efiemu/symbols.c (relocated_handle): New variable.
22300 (grub_efiemu_free_syms): Free relocated_handle.
22301 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22302 (grub_efiemu_write_sym_markers): New function.
22303 (grub_efiemu_set_virtual_address_map): Likewise.
22304
22305 Newer XNU parameters.
22306
22307 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22308 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22309 (grub_xnu_fill_devicetree): New prototype.
22310 (grub_xnu_heap_real_start): New variable.
22311 * loader/xnu.c (get_name_ptr): New function.
22312 (grub_xnu_load_driver): Fill namelen and name.
22313
22314 64-bit xnu support.
22315
22316 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22317 and 'loader/macho64.c'.
22318 * conf/i386-pc.rmk: Likewise.
22319 * conf/x86_64-efi.rmk: Likewise.
22320 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22321 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22322 * include/grub/macho.h (grub_macho_segment64): New structure.
22323 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22324 (grub_macho_size32): ... to this.
22325 (grub_macho32_get_entry_point): Renamed from ...
22326 (grub_macho_get_entry_point32): ... to this.
22327 (grub_macho_contains_macho64): New prototype.
22328 (grub_macho_size64): Likewise.
22329 (grub_macho_get_entry_point64): Likewise.
22330 (grub_macho32_load): Renamed from ...
22331 (grub_macho_load32): ... to this.
22332 (grub_macho32_filesize): Renamed from ...
22333 (grub_macho_filesize32): ... to this.
22334 (grub_macho32_readfile): Renamed from ...
22335 (grub_macho_readfile32): ... to this.
22336 (grub_macho_filesize64): New prototype.
22337 (grub_macho_readfile64): Likewise.
22338 (grub_macho_parse32): Likewise.
22339 (grub_macho_parse64): Likewise.
22340 * loader/macho.c: Split into ...
22341 * loader/machoXX.c: ... and this. Replace 32 with XX.
22342 * loader/macho32.c: New file.
22343 * loader/macho64.c: Likewise.
22344 * loader/xnu.c (grub_xnu_is_64bit): New variable.
22345 (grub_cmd_xnu_kernel): Make 32-bit only.
22346 (grub_cmd_xnu_kernel64): New function.
22347 (grub_xnu_load_driver): Support Mach-O 64.
22348 (grub_cmd_xnu_mkext): Likewise.
22349 * util/grub.d/30_os-prober.in (osx_entry): New function.
22350 Generate entries for 64-bit boot too.
22351
22352 Eliminate ad-hoc tree format in XNU and EfiEmu.
22353
22354 * efiemu/main.c (grub_efiemu_prepare): Update comment.
22355 * efiemu/pnvram.c: Rewritten to use environment variables.
22356 All users updated.
22357
22358 Inline utf16_to_utf8.
22359
22360 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
22361 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
22362 All users updated.
22363 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
22364
22365 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
22366 * commands/usbtest.c (grub_usb_get_string): ... move here.
22367 (usb_print_str): Fix error handling.
22368 * include/grub/usb.h (grub_usb_get_string): Remove.
22369
22370 UTF-8 to UTF-16 transformation.
22371
22372 * conf/common.rmk (pkglib_MODULES): Add charset.mod
22373 (charset_mod_SOURCES): New variable.
22374 (charset_mod_CFLAGS): Likewise.
22375 (charset_mod_LDFLAGS): Likewise.
22376 * include/grub/utf.h: New file.
22377 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
22378
22379 Support for device properties.
22380
22381 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
22382 (grub_xnu_devprop_device_header): Likewise.
22383 (grub_xnu_devprop_device_descriptor): Likewise.
22384 (grub_xnu_devprop_add_device): New prototype.
22385 (grub_xnu_devprop_remove_device): Likewise.
22386 (grub_xnu_devprop_remove_property): Likewise.
22387 (grub_xnu_devprop_add_property_utf8): Likewise.
22388 (grub_xnu_devprop_add_property_utf16): Likewise.
22389 (grub_cpu_xnu_init): Likewise.
22390 (grub_cpu_xnu_fini): Likewise.
22391 (grub_cpu_xnu_unload): Likewise.
22392 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
22393 (property_descriptor): Likewise.
22394 (devices): New variable.
22395 (grub_xnu_devprop_remove_property): New function.
22396 (grub_xnu_devprop_add_device): Likewise.
22397 (grub_xnu_devprop_remove_device): Likewise.
22398 (grub_xnu_devprop_add_property): Likewise.
22399 (grub_xnu_devprop_add_property_utf8): Likewise.
22400 (grub_xnu_devprop_add_property_utf16): Likewise.
22401 (hextoval): Likewise.
22402 (grub_cpu_xnu_fill_devprop): Likewise.
22403 (grub_cmd_devprop_load): Likewise.
22404 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
22405 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
22406 (cmd_devprop_load): New variable.
22407 (grub_cpu_xnu_init): New function.
22408 (grub_cpu_xnu_fini): Likewise.
22409 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
22410 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
22411 (grub_cmd_xnu_devtree): Likewise.
22412 (hextoval): New function.
22413 (unescape): Likewise.
22414 (grub_xnu_fill_devicetree): Likewise.
22415
22416 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
22417 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
22418
0945f181
VS
224192009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22420
22421 Workaround for broken ATI VBE.
22422
22423 * video/i386/pc/vbe.c (last_set_mode): New variable.
22424 (grub_vbe_set_video_mode): Set 'last_set_mode'.
22425 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
22426 (grub_video_vbe_setup): Don't check for reserved flag.
22427
0ad46fd7 224282009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
22429
22430 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
22431 the `find' command.
22432
c179ebe4
VS
224332009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
22434
22435 UUID support for HFS.
22436
22437 * fs/hfs.c (grub_hfs_uuid): New function.
22438 (grub_hfs_fs): New value .uuid.
22439 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
22440
0ad46fd7 224412009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
22442
22443 Fix a segfault with parsing unknown long options.
22444
22445 * util/grub-mkrelpath.c (options): Zero terminate it.
22446
c4a3e41a
CPE
224472009-12-13 Carles Pina i Estany <carles@pina.cat>
22448
22449 * include/grub/misc.h (grub_puts): New declaration.
22450 (grub_puts_): Likewise.
a22008a6 22451 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
22452 (grub_puts_): Likewise.
22453
2e8a7602
RM
224542009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22455
22456 * util/grub-probe.c (probe): Improve error message.
22457
b50b77b9
RM
224582009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22459
22460 * loader/i386/multiboot_elfxx.c
22461 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22462 initialization.
22463
224642009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22465
22466 Relocator framework
22467
22468 * loader/i386/xnu_helper.S: Removed. All users updated.
22469 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
22470 (relocator_mod_SOURCES): New variable.
22471 (relocator_mod_CFLAGS): Likewise.
22472 (relocator_mod_LDFLAGS): Likewise.
22473 (relocator_mod_ASFLAGS): Likewise.
22474 * conf/x86_64.rmk: Likewise.
22475 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
22476 (grub_multiboot_payload_entry_offset): Likewise.
22477 (grub_multiboot_forward_relocator): Likewise.
22478 (grub_multiboot_forward_relocator_end): Likewise.
22479 (grub_multiboot_backward_relocator): Likewise.
22480 (grub_multiboot_backward_relocator_end): Likewise.
22481 (grub_multiboot_payload_eip): New variable.
22482 (grub_multiboot_payload_orig): Likewise.
22483 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
22484 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
22485 * include/grub/i386/memory.h
22486 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
22487 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
22488 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
22489 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
22490 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
22491 * include/grub/i386/relocator.h: New file.
22492 * include/grub/x86_64/relocator.h: Likewise.
22493 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
22494 (XNU_RELOCATOR): New macro.
22495 (grub_xnu_launcher_start): Remove.
22496 (grub_xnu_launcher_end): Likewise.
22497 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
22498 (grub_xnu_heap_real_start): Remove.
22499 (grub_xnu_heap_start): Change to void *. All users updated.
22500 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
22501 * lib/i386/relocator.c: New file.
22502 * lib/i386/relocator_asm.S: Likewise.
22503 * lib/i386/relocator_backward.S: Likewise.
22504 * lib/mips/relocator.c: Likewise.
22505 * lib/mips/relocator_asm.S: Likewise.
22506 * lib/relocator.c: Likewise.
22507 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
22508 (entry): Removed.
22509 (playground): Likewise.
22510 (grub_multiboot_payload_orig): New variable.
22511 (grub_multiboot_payload_dest): Likewise.
22512 (grub_multiboot_payload_size): Likewise.
22513 (grub_multiboot_payload_eip): Likewise.
22514 (grub_multiboot_payload_esp): Likewise.
22515 (grub_multiboot_boot): Use grub_relocator32_boot.
22516 (grub_multiboot_unload): Free relocators.
22517 (grub_multiboot): Setup stack. Use relocators.
22518 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
22519 (grub_multiboot_load_elfXX): Use relocators.
22520 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
22521 (grub_multiboot_payload_size): Likewise.
22522 (grub_multiboot_payload_dest): Likewise.
22523 (grub_multiboot_payload_entry_offset): Likewise.
22524 (grub_multiboot_forward_relocator): Likewise.
22525 (grub_multiboot_backward_relocator): Likewise.
22526 (grub_multiboot_real_boot): Likewise.
22527 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
22528 (grub_xnu_entry_point): Likewise.
22529 (grub_xnu_arg1): Likewise.
22530 (grub_xnu_stack): Likewise.
22531 (grub_xnu_launch): Removed.
22532 (grub_xnu_boot_resume): New function.
22533 (grub_xnu_boot): Use relocators.
22534 * loader/i386/xnu_helper.S: Removed.
22535 * loader/xnu.c (grub_xnu_heap_start): New variable.
22536 (grub_xnu_heap_size): Likewise.
22537 (grub_xnu_heap_malloc): Use relocators.
22538 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
22539
29eb90c6
VS
225402009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22541
22542 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
22543 anything.
22544
31027430
CPE
225452009-12-13 Carles Pina i Estany <carles@pina.cat>
22546
22547 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
22548 GRUB_ERR_NONE before calling grub_env_set.
22549
dc0c71d9
RM
225502009-12-12 Robert Millan <rmh@aybabtu.com>
22551
22552 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
22553 * genmk.rb (video): New variable.
22554 (CLEANFILES, VIDEOFILES): Add #{video}.
22555 (#{video}): New target rule.
22556 * genvideolist.sh: New file.
22557 * Makefile.in (pkglib_DATA): Add video.lst.
22558 (video.lst): New target rule.
22559 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
22560 `video.lst'.
22561 * util/grub.d/30_os-prober.in: Replace `vbe' with
22562 ${GRUB_VIDEO_BACKEND}.
22563
2a4bfcf0
RM
225642009-12-11 Robert Millan <rmh.grub@aybabtu.com>
22565
22566 * THANKS: Add David Miller.
22567
2a3aa4d5
RM
225682009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
22569
22570 libpciaccess support.
22571
22572 * Makefile.in (LIBPCIACCESS): New variable.
22573 (enable_grub_emu_pci): Likewise.
22574 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
22575 util/pci.c and commands/lspci.c.
22576 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
22577 * configure.ac (grub-emu-pci): New option.
22578 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
22579 (grub_pci_device_unmap_range): Likewise.
22580 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
22581 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
22582 (grub_pci_address_t) [!GRUB_UTIL]: New type.
22583 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
22584 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
22585 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
22586 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
22587 * include/grub/pciutils.h: New file.
22588 * util/pci.c: Likewise.
22589
0ad46fd7 225902009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
22591
22592 * util/misc.c: Don't include <errno.h> twice.
22593
0ad46fd7 225942009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
22595
22596 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
22597 name in an error message.
22598 (grub_biosdisk_rw): Likewise.
22599
2e59983c
VS
226002009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22601
22602 Eliminate NTFS 4Gib barrier.
22603
22604 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
22605 (read_run_data): Likewise.
22606 (grub_ntfs_read_run_list): Likewise.
22607 (grub_ntfs_read_block): Likewise.
22608 (grub_ntfs_iterate_dir): Likewise.
22609 (read_mft): Likewise.
22610 (read_data): Likewise.
22611 Use COM_LOG_LEN.
22612 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
22613 to avoid 64-bit division
22614 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
22615 (grub_ntfs_rlst): Use grub_disk_addr_t.
22616
71ee178a
VS
226172009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22618
22619 Eliminate grub-fstest 4Gib barrier.
22620
22621 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
22622 (read_file): Fix error reporting.
22623
2520d4b8
VS
226242009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22625
22626 Eliminate hexdump 4Gib barrier.
22627
22628 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
22629 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
22630
e1f27065
VS
226312009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22632
22633 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
22634 Fixes amarsh bug.
22635
1a0f7f45
RM
226362009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
22637
22638 Remove miscellaneous files in distclean target.
22639
22640 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
22641
c631d9fb
CW
226422009-12-09 Colin Watson <cjwatson@ubuntu.com>
22643
22644 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
22645 if they're already set. This resolves the conflict between my
22646 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
22647 fixing the --grub-probe option again.
22648 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
22649 change on 2009-10-06, so that we now once again source
22650 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22651
7c7b6106
RM
226522009-12-08 Robert Millan <rmh.grub@aybabtu.com>
22653
22654 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
22655 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
22656 `util/devicemap.c'.
22657
e3069ec1
CPE
226582009-12-08 Carles Pina i Estany <carles@pina.cat>
22659
22660 * include/grub/misc.h (grub_printf_): New declaration.
22661 * kern/misc.c (grub_printf_): New definition.
22662 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
22663 instead of `grub_printf' and `_'.
22664 * normal/menu_entry.c (store_completion): Likewise.
22665 (run): Likewise.
22666 (grub_menu_entry_run): Likewise.
22667 * normal/menu_text.c (grub_wait_after_message): Likewise.
22668 (notify_booting): Likewise.
22669 (notify_fallback): Likewise.
22670 (notify_execution_failure): Likewise.
22671
d6ceebf1
CW
226722009-12-07 Colin Watson <cjwatson@ubuntu.com>
22673
22674 * configure.ac: Check for vasprintf.
22675 * util/misc.c (asprintf): Move allocation from here ...
22676 (vasprintf): ... to here. New function.
22677 (xasprintf): New function.
22678 * include/grub/util/misc.h (vasprintf, xasprintf): Add
22679 prototypes.
22680 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22681 * util/grub-mkfont.c (write_font): Likewise.
22682 * util/grub-probe.c (probe): Likewise.
22683 * util/hostdisk.c (make_device_name): Likewise.
22684
de6daa8b
DM
226852009-12-06 David S. Miller <davem@sunset.davemloft.net>
22686
22687 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
22688 anything even prefixed with 'cdrom' as a cdrom.
22689
0ad46fd7 226902009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
22691
22692 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
22693 mount points.
22694
98d3dc02
CPE
226952009-12-05 Carles Pina i Estany <carles@pina.cat>
22696
22697 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
22698 grub_gettext_msg_list.
22699 (grub_gettext_gettranslation_from_position): Return const char *
22700 and not char *.
a2c1332b 22701 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
22702 returns from the list if existing there.
22703 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
22704 (grub_gettext_delete_list): Delete the list.
22705 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
22706 lang environment variable is changed.
22707 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
22708
b283f108
VS
227092009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22710
22711 Rename kernel.mod to kernel.img.
22712
22713 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
22714 (kernel_mod_EXPORTS): Rename to ...
22715 (kernel_img_EXPORTS): ... this.
22716 (kernel_mod_SOURCES): Rename to ...
22717 (kernel_img_SOURCES): ... this.
22718 (kernel_mod_HEADERS): Rename to ...
22719 (kernel_img_HEADERS): ... this. All users updated.
22720 (kernel_mod_CFLAGS): Rename to ...
22721 (kernel_img_CFLAGS): ... this.
22722 (kernel_mod_ASFLAGS): Rename to ...
22723 (kernel_img_ASFLAGS): ... this.
22724 (kernel_mod_LDFLAGS): Rename to ...
22725 (kernel_img_LDFLAGS): ... this.
22726 * conf/x86_64-efi.rmk: Likewise.
22727 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
22728 (read_kernel_image): ... this. All users updated.
22729 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
22730
69055f8a
CPE
227312009-12-05 Carles Pina i Estany <carles@pina.cat>
22732
22733 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
22734 (print_spaces): New function.
22735 (grub_print_ucs4): New function.
22736 (getstringwidth): New function.
22737 (print_message_indented): New function.
22738 (print_message): Gettexttize strings using print_message_indented.
22739 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
22740 width.
22741 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 22742 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
22743 Gettextize.
22744 * normal/menu_entry.c (store_completion): Cleanup the gettextized
22745 string.
22746 (run): Likewise.
22747 (grub_menu_entry_run): Likewise.
22748 * PO/POTFILES: Add normal/menu_entry.c.
22749
f616f51c
VS
227502009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22751
22752 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
22753
57bbe3be
CPE
227542009-12-05 Carles Pina i Estany <carles@pina.cat>
22755
22756 * util/grub-install.in: Install gettext .mo files.
22757 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
22758
013d67a1
CPE
227592009-12-05 Carles Pina i Estany <carles@pina.cat>
22760
22761 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
22762 grub_dprintf.
22763
fb954db0
RM
227642009-12-05 Robert Millan <rmh.grub@aybabtu.com>
22765
22766 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
22767 non-firmware-dependant one in realmode.S takes precedence.
22768
6b8474f8
RM
227692009-12-04 Robert Millan <rmh.grub@aybabtu.com>
22770
22771 * commands/halt.c: Replace misc arch-specific headers with
22772 `<grub/misc.h>'.
22773 * commands/reboot.c: Likewise.
22774 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
22775 `<grub/misc.h>'.
22776 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
22777 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
22778 (kernel_img_SOURCES): ... to here.
22779
22780 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
22781 * include/grub/i386/pc/init.h: Likewise.
22782 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22783 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22784
22785 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
22786
22787 * include/grub/i386/halt.h: Remove.
22788 * include/grub/i386/reboot.h: Likewise.
22789
22790 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
22791
4b2e6ca2
DM
227922009-12-03 David S. Miller <davem@sunset.davemloft.net>
22793
22794 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
22795 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
22796 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
22797 "progname.h"
22798 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22799 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22800 (usage): Add missing comma in printf.
22801
5239348f
RM
228022009-12-02 Robert Millan <rmh.grub@aybabtu.com>
22803
22804 Use the same reboot approach on i386 coreboot and qemu as we do on
22805 BIOS.
22806
22807 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
22808 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
22809 * kern/i386/reboot.c: Remove.
22810 * include/grub/i386/reboot.h (grub_reboot): Export function.
22811 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
22812 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
22813 0xf000:0xfff0 instead of 0xffff:0x0000.
22814 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
22815 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
22816
ef34cbd4
RM
228172009-11-30 Robert Millan <rmh.grub@aybabtu.com>
22818
22819 Fix $srcdir != $objdir build.
22820
22821 * Makefile.in (po/%.po): Rewrite as ...
22822 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
22823
dc9837ea
ST
228242009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
22825
22826 Fix GNU/Hurd grub-install crash.
22827 * util/grub-probe.c (probe): Try to access `path' only when it is not
22828 NULL.
22829
2f857f98
VS
228302009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22831
22832 Correct module naming.
22833
22834 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22835 (GRUB_MOD_INIT(efi_uga)): ... to this
22836 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22837 (GRUB_MOD_FINI(efi_uga)): ... to this
22838 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22839 (GRUB_MOD_INIT(efi_gop)): ... to this
22840 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22841 (GRUB_MOD_FINI(efi_gop)): ... to this
22842
c5448046
RM
228432009-11-28 Robert Millan <rmh.grub@aybabtu.com>
22844
22845 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
22846 translatable.
22847 (usage): Translate `arg' strings using gettext().
22848 Thanks to Jordi Mallach for the suggestion.
22849
c85184ad
VS
228502009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22851
22852 GOP support. Based on patch from Bean
22853 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22854
22855 * video/efi_gop.c: New file.
22856 * include/grub/efi/graphics_output.h: Likewise.
22857 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
22858 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22859 variables.
22860 * conf/x86_64-efi.rmk: Likewise.
22861
8a4c48d8
VS
228622009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22863
22864 Rename efi_fb to efi_uga.
22865
22866 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22867 'efi_uga.mod'.
22868 (efi_fb_mod_SOURCES): Rename this ...
22869 (efi_uga_mod_SOURCES): ... to this.
22870 (efi_fb_mod_CFLAGS): Rename this ...
22871 (efi_uga_mod_CFLAGS): ... to this.
22872 (efi_fb_mod_LDFLAGS): Rename this ...
22873 (efi_uga_mod_LDFLAGS): ... to this.
22874 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22875 'efi_uga.mod'.
22876 (efi_fb_mod_SOURCES): Rename this ...
22877 (efi_uga_mod_SOURCES): ... to this.
22878 (efi_fb_mod_CFLAGS): Rename this ...
22879 (efi_uga_mod_CFLAGS): ... to this.
22880 (efi_fb_mod_LDFLAGS): Rename this ...
22881 (efi_uga_mod_LDFLAGS): ... to this.
22882 * video/efi_fb.c: Move this ...
22883 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
22884
fb6c1a7b
RM
228852009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22886
22887 * po/README: New file. Explain our PO file workflow.
22888
3bc7896c
RM
228892009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22890
22891 * po/ChangeLog: Remove. Move relevant entries back to ...
22892 * ChangeLog: ... here.
22893 * po/ca.po: Remove (now handled by TLP).
22894 * po/id.po: Likewise.
22895 * po/zh_CN.po: Likewise.
22896 * Makefile.in (LINGUAS): Initialize in a way that supports
22897 empty set.
22898
9ed4841d
RM
228992009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22900
22901 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
22902 reliing on po/LINGUAS.
22903 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
22904 (po/%.po): ... this.
22905
0ad46fd7 229062009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
22907
22908 * util/i386/efi/grub-mkimage.c: Include "progname.h".
22909 (main): Use `program_name' instead of nonexistent `progname'.
22910
e30dd392
FZ
229112009-11-26 Felix Zielcke <fzielcke@z-51.de>
22912
22913 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22914 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
22915
7656de4f
RM
229162009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22917
22918 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
22919 commit.
22920 * conf/i386-efi.rmk: Likewise.
22921 * conf/i386-ieee1275.rmk: Likewise.
22922 * conf/powerpc-ieee1275.rmk: Likewise.
22923 * conf/sparc64-ieee1275.rmk: Likewise.
22924 * conf/x86_64-efi.rmk: Likewise.
22925
db77c4d4
FZ
229262009-11-26 Felix Zielcke <fzielcke@z-51.de>
22927
22928 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
22929
a755bb04
FZ
229302009-11-26 Felix Zielcke <fzielcke@z-51.de>
22931
22932 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
22933
8a4c07fd
RM
229342009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22935
22936 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
22937 (grub_mkdevicemap_SOURCES): New variable.
22938 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
22939 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
22940 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
22941 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
22942 (grub_mkdevicemap_SOURCES): Remove.
22943 * conf/i386-efi.rmk: Likewise.
22944 * conf/i386-ieee1275.rmk: Likewise.
22945 * conf/i386-pc.rmk: Likewise.
22946 * conf/powerpc-ieee1275.rmk: Likewise.
22947 * conf/sparc64-ieee1275.rmk: Likewise.
22948 * conf/x86_64-efi.rmk: Likewise.
22949 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
22950 (usage): Fix strings to use `program_name'.
22951 (main): Initialize gettext.
22952 * util/grub-editenv.c: Likewise.
22953 * util/grub-emu.c: Likewise.
22954 * util/grub-fstest.c: Likewise.
22955 * util/grub-mkdevicemap.c: Likewise.
22956 * util/grub-mkfont.c: Likewise.
22957 * util/grub-mkrelpath.c: Likewise.
22958 * util/grub-pe2elf.c: Likewise.
22959 * util/grub-probe.c: Likewise.
22960 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22961 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22962 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22963
22964 * util/misc.c: Include `"progname.h"'.
22965 (progname): Remove variable.
22966 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
22967
6f61ed55
FZ
229682009-11-25 Felix Zielcke <fzielcke@z-51.de>
22969
22970 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
22971 printf and print a newline after the menuentry header line.
22972 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22973
f022876b
FZ
229742009-11-25 Felix Zielcke <fzielcke@z-51.de>
22975
22976 autoconf >= 2.60 support $(localedir).
22977
22978 * INSTALL: Note that autoconf 2.60 is required.
22979 * configure.ac (AC_PREREQ): Bump to 2.60.
22980 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
22981 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
22982
6717926e
YB
229832009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
22984
22985 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
22986 aclocal is run.
22987
08806a54
RM
229882009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22989
22990 * normal/main.c (grub_normal_read_line): Fix off-by-one
22991 buffer overflow.
22992
13b33fba
RM
229932009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22994
22995 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
22996 "parser.grub" in grub_command_execute() call.
22997
4a8572e9
CPE
229982009-11-24 Carles Pina i Estany <carles@pina.cat>
22999
23000 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
23001 * conf/i386-efi.rmk: Likewise.
23002 * conf/i386-ieee1275.rmk: Likewise.
23003 * conf/i386-pc.rmk: Likewise.
23004 * conf/powerpc-ieee1275.rmk: Likewise.
23005 * conf/sparc64-ieee1275.rmk: Likewise.
23006 * conf/x86_64-efi.rmk: Likewise.
23007 * gettext/gettex.c: Include <grub/i18n.h>.
23008 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
23009 here ...
23010 * include/grub/i18n.h: ... to here
23011 * include/grub/i18n.h: ... to here.
23012 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 23013 (grub_gettext_dummy): Move above user.
4a8572e9 23014
bee48093
FZ
230152009-11-24 Felix Zielcke <fzielcke@z-51.de>
23016
23017 * util/Makefile.in (install-local): Convert a `for' into a normal
23018 shell expansion.
23019
a031e91c
RM
230202009-11-24 Robert Millan <rmh.grub@aybabtu.com>
23021
23022 * autogen.sh: Add automake call.
23023 * config.guess: Remove.
23024 * config.sub: Likewise.
23025 * install-sh: Likewise.
23026
26bec39d
FZ
230272009-11-24 Felix Zielcke <fzielcke@z-51.de>
23028
23029 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
23030
8e2532fd
FZ
230312009-11-24 Felix Zielcke <fzielcke@z-51.de>
23032
23033 * util/Makefile.in (install-local): Convert a make `$(foreach)'
23034 function to a normal shell `for'.
23035
fefa1b7d
FZ
230362009-11-24 Felix Zielcke <fzielcke@z-51.de>
23037
23038 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23039
4501250b
FZ
230402009-11-24 Felix Zielcke <fzielcke@z-51.de>
23041
23042 * util/grub-mkrelpath.c: New file.
23043 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
23044 (grub_mkrelpath_SOURCES): New variable.
23045 * include/grub/util/misc.h: New function prototype.
23046 * util/misc.c (make_system_path_relative_to_its_root): New function.
23047
23048 * util/grub-mkconfig_lib.in (bindir): New variable.
23049 (grub_mkrelpath): Likewise.
23050 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
23051
23052 * util/probe.c (probe): Make the file path relative to its root.
23053 Change a info message to use the GRUB path. Enable again the
23054 check if we can read the file with GRUB facilities.
23055
23056 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
23057 to its root.
23058
11d9778b
FZ
230592009-11-24 Felix Zielcke <fzielcke@z-51.de>
23060
23061 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
23062 platform.
23063
4465287d
FZ
230642009-11-24 Felix Zielcke <fzielcke@z-51.de>
23065
23066 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
23067 strncmp().
23068
62b47f22
FZ
230692009-11-24 Felix Zielcke <fzielcke@z-51.de>
23070
23071 * util/getroot.c (grub_util_is_dmraid): New function.
23072 (grub_util_get_dev_abstraction): Treat dmraid and multipath
23073 devices as normal ones, not as LVM.
23074
1eafb9b9 230752009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
23076
23077 * conf/common.rmk: Add grub-gettext_lib target and updates
23078 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
23079 LDFLAGS.
23080 * gettext/gettext.c: New file. (Reads mo files).
23081 * include/grub/file.h (grub_file_pread): New prototype.
23082 * include/grub/i18n.h (_): New prototype.
23083 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
23084 prototypes.
23085 * kern/misc.c (grub_gettext_dummy): New function.
23086 * normal/menu_text.c: Include <grub/i18n.h>.
23087 * normal/menu_text.c (print_timeout): Gettexttize string.
23088 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
23089 * po/POTFILES: Add `normal/menu_text.c'.
23090 * po/ca.po: Add new translations.
c3ea6bd4
CPE
23091 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
23092 gettext module and defines locale_dir and lang in grub.cfg.
23093 * NEWS: Add gettext support.
23094
0fdb2568
RM
230952009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23096
23097 * util/hostdisk.c: Include `<grub/i18n.h>'.
23098 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
23099 (make_device_name): Rewrite using asprintf.
23100 (convert_system_partition_to_system_disk): Replace 0 with NULL.
23101 (find_system_device): If a device is not found, generate one just
23102 by reusing the OS path name.
23103 (read_device_map): Make it permissible for device.map not to exist.
23104
f515aa62
RM
231052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23106
23107 * script/sh/execute.c: Move from here ...
23108 * script/execute.c: ... to here. Update all users.
23109 * script/sh/function.c: Move from here ...
23110 * script/function.c: ... to here. Update all users.
23111 * script/sh/lexer.c: Move from here ...
23112 * script/lexer.c: ... to here. Update all users.
23113 * script/sh/main.c: Move from here ...
23114 * script/main.c: ... to here. Update all users.
23115 * script/sh/parser.y: Move from here ...
23116 * script/parser.y: ... to here. Update all users.
23117 * script/sh/script.c: Move from here ...
23118 * script/script.c: ... to here. Update all users.
23119
f84b481b
RM
231202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23121
23122 * configure.ac: Detect all `emu' platforms. Define
23123 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
23124 --enable-grub-emu logic. Disable include/grub/machine
23125 symlink on `emu' platforms.
23126
23127 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
23128 * gensymlist.sh.in: Likewise.
23129
23130 * include/grub/i386/coreboot/machine.h: Remove file.
23131 * include/grub/i386/efi/machine.h: Likewise.
23132 * include/grub/i386/ieee1275/machine.h: Likewise.
23133 * include/grub/i386/pc/machine.h: Likewise.
23134 * include/grub/i386/qemu/machine.h: Likewise.
23135 * include/grub/powerpc/ieee1275/machine.h: Likewise.
23136 * include/grub/sparc64/ieee1275/machine.h: Likewise.
23137 * include/grub/x86_64/efi/machine.h: Likewise.
23138
23139 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
23140 * commands/halt.c: Likewise.
23141 * commands/reboot.c: Likewise.
23142 * include/grub/autoefi.h: Likewise.
23143 * include/grub/i386/at_keyboard.h: Likewise.
23144 * include/grub/i386/kernel.h: Likewise.
23145 * include/grub/i386/loader.h: Likewise.
23146 * include/grub/i386/pc/memory.h: Likewise.
23147 * kern/dl.c: Likewise.
23148 * kern/i386/coreboot/init.c: Likewise.
23149 * loader/i386/bsd.c: Likewise.
23150 * loader/i386/linux.c: Likewise.
23151 * loader/multiboot_loader.c: Likewise.
23152 * term/i386/pc/serial.c: Likewise.
23153 * term/usb_keyboard.c: Likewise.
23154
23155 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
23156 `<grub/machine/machine.h>'
23157 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
23158 * util/misc.c: Remove `<grub/machine/machine.h>' and
23159 `<grub/machine/time.h>'.
23160
23161 * Makefile.in (enable_grub_emu): Remove variable.
23162 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
23163
23164 * conf/any-emu.rmk: New file.
23165 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
23166 (grub_emu_init.c): Move from here ...
23167 * conf/any-emu.rmk: ... to here.
23168
23169 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
23170 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
23171 * conf/any-emu.rmk: ... to here.
23172
4efeab03
RM
231732009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23174
23175 * include/grub/parser.h (grub_parser_register): Document need
23176 of `name' parameter.
23177 * normal/main.c (grub_normal_read_line): Simplify prompt string.
23178 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
23179 "sh" to "grub".
23180
ea1dd8bf
RM
231812009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23182
23183 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
23184 `$(XGETTEXT)'.
23185 * include/grub/i18n.h (N_): New macro.
23186 * util/mkisofs/mkisofs.h: Likewise.
23187 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
23188 around N_().
23189 (usage): Use gettext() to translate help strings when printing them.
23190
0c140626
RM
231912009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23192
23193 Based on patch from Bean
23194 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23195
23196 * video/efi_fb.c: New file.
23197 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
23198 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23199 variables.
23200 * conf/x86_64-efi.rmk: Likewise.
23201
87d58298
RM
232022009-11-22 Robert Millan <rmh.grub@aybabtu.com>
23203
23204 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
23205 * util/i386/pc/grub-setup.c: Likewise.
23206
994cc3a3
ST
232072009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23208
23209 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
23210 <hurd/fs.h>
23211 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
23212 file_get_storage_info to implement grub_guess_root_device.
23213
26a61d6a
FZ
232142009-11-21 Felix Zielcke <fzielcke@z-51.de>
23215
23216 * Makefile.in (target): Use make's builtin $(shell) function
23217 instead of calling directly $(SHELL) to create the locale directories,
23218 inside the $(foreach) function.
23219
74ff1dd5
FZ
232202009-11-21 Felix Zielcke <fzielcke@z-51.de>
23221
23222 * util/grub-mkrescue.in: Print an error and usage if output option
23223 has not been given.
23224
0b787d0e
FZ
232252009-11-21 Felix Zielcke <fzielcke@z-51.de>
23226
23227 Patch from Loïc Minier <loic.minier@ubuntu.com>.
23228 * util/grub.d/30_os-prober.in: Cope with Linux entries where
23229 root and /boot are on different devices.
23230
1164b270
RM
232312009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23232
23233 Fix build for srcdir != objdir.
23234
23235 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
23236 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
23237 $(srcdir).
23238 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
23239 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
23240 reference for input.
23241
13774a2f
RM
232422009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23243
23244 * util/grub-mkrescue.in: Use source directory direcly (without copiing
23245 or hardlinking it). Remove -J option, Joliet is not compatible with
23246 multiple source directories.
23247
efda854e
RM
232482009-11-21 Carles Pina i Estany <carles@pina.cat>
232492009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23250
23251 * util/grub-mkrescue.in: Recognize `--override-directory' option.
23252 (process_input_dir): New function. Process an arbitrary input
23253 directory.
23254 Misc adjustments to support both "override mode" and system-wide mode.
23255
6c09890c
FZ
232562009-11-20 Felix Zielcke <fzielcke@z-51.de>
23257
23258 * configure.ac (UNIFONT_BDF): Rename to ...
23259 (FONT_SOURCE): ... this. Update all users.
23260
a797824f
FZ
232612009-11-20 Felix Zielcke <fzielcke@z-51.de>
23262
23263 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
23264 to the list of unifont files to look for.
23265
cd4f42b0
RM
232662009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23267
23268 Patch from Joe Auricchio <jauricchio@gmail.com>
23269 * commands/minicmd.c (grub_mini_cmd_clear): New function.
23270 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
23271 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
23272
393c783d
FZ
232732009-11-19 Felix Zielcke <fzielcke@z-51.de>
23274
23275 * Makefile.in (install-local): Add a missing backslash.
23276
b2f1e327
FZ
232772009-11-19 Felix Zielcke <fzielcke@z-51.de>
23278
23279 * include/grub/x86_64/io.h: New file.
23280
f577f7a0
RM
232812009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23282
23283 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23284 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23285 Include `"progname.h"'.
23286 (main): Initialize gettext.
23287 * util/i386/pc/grub-setup.c: Gettexttize.
23288 * util/i386/pc/grub-mkimage.c: Likewise.
23289
23290 * Makefile.in (po/*.po): Redefine as ...
23291 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23292
3bc7896c
RM
23293 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23294
c37943b6
RM
232952009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23296
23297 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23298 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23299 (program_name): Remove.
23300 (main): Initialize gettext support.
6323f705
RM
23301 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23302 Include `<libintl.h>'.
23303 (_): New macro.
c37943b6
RM
23304
23305 * util/mkisofs/eltorito.c: Gettexttize.
23306 * util/mkisofs/joliet.c: Likewise.
23307 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
23308 * util/mkisofs/multi.c: Likewise.
23309 * util/mkisofs/rock.c: Likewise.
23310 * util/mkisofs/tree.c: Likewise.
23311 * util/mkisofs/write.c: Likewise.
23312
3bc7896c
RM
23313 * po/POTFILES: Update with new files.
23314
5ce77c6e
RM
233152009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23316
23317 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23318 * util/mkisofs/iso9660.h: Likewise.
23319 * util/mkisofs/joliet.c: Likewise.
23320 * util/mkisofs/mkisofs.c: Likewise.
23321 * util/mkisofs/mkisofs.h: Likewise.
23322 * util/mkisofs/rock.c: Likewise.
23323 * util/mkisofs/tree.c: Likewise.
23324 * util/mkisofs/write.c: Likewise.
23325
23326 * util/mkisofs/eltorito.c (rcsid): Remove.
23327 * util/mkisofs/hash.c: Likewise.
23328 * util/mkisofs/joliet.c: Likewise.
23329 * util/mkisofs/name.c: Likewise.
23330 * util/mkisofs/rock.c: Likewise.
23331 * util/mkisofs/tree.c: Likewise.
23332 * util/mkisofs/write.c: Likewise.
23333
1dabbc77
RM
233342009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23335
23336 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23337 instead of static allocation.
23338 * util/mkisofs/match.h: Likewise.
23339
633877cb
RM
233402009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23341
3bc7896c
RM
23342 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
23343 and `util/grub.d/10_linux.in'.
633877cb
RM
23344 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
23345 translatable Shell files.
23346
af1c0c85
RM
233472009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23348
23349 * Makefile.in ($(srcdir)/aclocal.m4): New target.
23350
769ae37b
RM
233512009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23352
23353 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 23354 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
23355 * util/grub.d/10_kfreebsd.in (bindir): New variable.
23356 Add gettext initialization.
23357 (kfreebsd_entry): Make menuentry output translatable.
23358
233592009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23360
23361 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
23362 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
23363 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
23364 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
23365 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 23366 * po/LINGUAS: New file.
769ae37b
RM
23367
233682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23369
23370 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
23371 other things).
23372 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
23373 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
23374 bindtextdomain() calls for gettext initialization.
23375
233762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23377
23378 * gnulib/progname.c: New file (imported from Gnulib).
23379 * gnulib/progname.h: Likewise.
23380 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23381 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
23382 (usage): Replace `progname' with `program_name'.
23383 (main): Use set_program_name() for program name initialization.
23384
233852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23386
23387 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
23388 from here ...
23389 * Makefile.in (CPPFLAGS): ... to here.
23390
233912009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23392
23393 * aclocal.m4: Move from here ...
23394 * acinclude.m4: ... to here.
23395 * autogen.sh: Add call to `aclocal'.
23396 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
23397
233982009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23399
23400 * Makefile.in (CLEANFILES): Add `po/*.mo'.
23401 (LINGUAS): New variable.
23402 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
23403 (install-local): Install MO files.
23404 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
23405 * include/grub/i18n.h: New file.
3bc7896c
RM
23406 * po/POTFILES: New file.
23407 * po/ca.po: New file.
769ae37b
RM
23408 * util/grub.d/10_linux.in (bindir): New variable.
23409 Add gettext initialization.
23410 (linux_entry): Make menuentry output translatable.
23411 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
23412 (usage): Make --help output translatable.
23413 (main): Initialize gettext.
23414
02c0a6ad
RM
234152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23416
23417 * import_gcry.py: New file (written by Vladimir with minor
23418 adjustments).
23419 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
23420 ciphers.
23421 * INSTALL: Document that Python is required for bootstrap.
23422
234232009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23424
23425 Import ciphers from libgcrypt 1.4.4.
23426
23427 * lib/libgcrypt/cipher/ChangeLog
23428 * lib/libgcrypt/cipher/ac.c
23429 * lib/libgcrypt/cipher/arcfour.c
23430 * lib/libgcrypt/cipher/bithelp.h
23431 * lib/libgcrypt/cipher/blowfish.c
23432 * lib/libgcrypt/cipher/camellia-glue.c
23433 * lib/libgcrypt/cipher/camellia.c
23434 * lib/libgcrypt/cipher/camellia.h
23435 * lib/libgcrypt/cipher/cast5.c
23436 * lib/libgcrypt/cipher/cipher.c
23437 * lib/libgcrypt/cipher/crc.c
23438 * lib/libgcrypt/cipher/des.c
23439 * lib/libgcrypt/cipher/dsa.c
23440 * lib/libgcrypt/cipher/ecc.c
23441 * lib/libgcrypt/cipher/elgamal.c
23442 * lib/libgcrypt/cipher/hash-common.c
23443 * lib/libgcrypt/cipher/hash-common.h
23444 * lib/libgcrypt/cipher/hmac-tests.c
23445 * lib/libgcrypt/cipher/md.c
23446 * lib/libgcrypt/cipher/md4.c
23447 * lib/libgcrypt/cipher/md5.c
23448 * lib/libgcrypt/cipher/primegen.c
23449 * lib/libgcrypt/cipher/pubkey.c
23450 * lib/libgcrypt/cipher/rfc2268.c
23451 * lib/libgcrypt/cipher/rijndael-tables.h
23452 * lib/libgcrypt/cipher/rijndael.c
23453 * lib/libgcrypt/cipher/rmd.h
23454 * lib/libgcrypt/cipher/rmd160.c
23455 * lib/libgcrypt/cipher/rsa.c
23456 * lib/libgcrypt/cipher/seed.c
23457 * lib/libgcrypt/cipher/serpent.c
23458 * lib/libgcrypt/cipher/sha1.c
23459 * lib/libgcrypt/cipher/sha256.c
23460 * lib/libgcrypt/cipher/sha512.c
23461 * lib/libgcrypt/cipher/tiger.c
23462 * lib/libgcrypt/cipher/twofish.c
23463 * lib/libgcrypt/cipher/whirlpool.c
23464
af2f93ac
RM
234652009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23466
23467 Fix build for systems without error().
23468
23469 * gnulib/error.c: New file (imported from Gnulib).
23470 * gnulib/error.h: Likewise.
23471 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
23472 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
23473 (this variable is now used by error()).
23474
73fb3dd5
FZ
234752009-11-16 Felix Zielcke <fzielcke@z-51.de>
23476
814f5e96
FZ
23477 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
23478 instead of relying that char is signed.
73fb3dd5 23479
a691ca33
VS
234802009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
23481
23482 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
23483 blocksize different from specified.
23484 (grub_pxefs_read): Likewise.
23485
2af8f0f4
FZ
234862009-11-16 Felix Zielcke <fzielcke@z-51.de>
23487
23488 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
23489
23490 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
23491 (grub_ata_readwrite): Likewise. Update 2 format strings.
23492 (grub_atapi_read): Likewise.
23493
23494 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
23495 * conf/i386.rmk (pkglib_MODULES): ... to here ...
23496 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
23497 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
23498 (ata_mod_LDFLAGS): Move from here ...
23499 * conf/i386.rmk: ... to here ...
23500 * conf/x86_64-efi.rmk: ... and here.
23501 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
23502 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
23503
83bdecaf
RM
235042009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23505
23506 Relicense multiboot.h, with RMS' blessing.
23507
23508 * include/multiboot.h: Change to X11 license.
23509
fd6fd3d7
RM
235102009-11-15 Robert Millan <rmh.grub@aybabtu.com>
23511
23512 Support --version in grub-mkisofs.
23513
23514 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
23515 (OPTION_VERSION): New macro.
23516 (ld_options): Recognize --version.
23517 (usage): Move `program_name' from here ...
23518 (program_name): ... to here. Add `static' qualifier.
23519 (main): Recognize `OPTION_VERSION'.
23520
16a88c49
FZ
235212009-11-15 Felix Zielcke <fzielcke@z-51.de>
23522
23523 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
23524 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
23525
a4158476
RM
235262009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23527
23528 Fix help2man generation for mkisofs.
23529
23530 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
23531 (usage): Send output to stdout (rather than stderr).
23532
fc2208b0
RM
235332009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23534
23535 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
23536 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23537 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
23538 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23539 (bin_SCRIPTS): Add `grub-mkfloppy'.
23540 (grub_mkfloppy_SOURCES): New variable.
23541
23542 * util/grub-mkrescue.in: New file.
23543 * util/i386/pc/grub-mkfloppy.in: New file.
23544
23545 * util/i386/coreboot/grub-mkrescue.in: Remove.
23546 * util/i386/pc/grub-mkrescue.in: Remove.
23547
8d0edf4a
RM
235482009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23549
23550 * include/grub/multiboot.h (struct grub_multiboot_header): Move
23551 from here ...
23552 * include/multiboot.h (struct multiboot_header): ... to here. Update
23553 all users.
23554 * include/grub/multiboot.h (struct grub_multiboot_info): Move
23555 from here ...
23556 * include/multiboot.h (struct multiboot_info): ... to here. Update
23557 all users.
23558 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
23559 from here ...
23560 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
23561 Update all users.
23562 * include/grub/multiboot.h (struct grub_mod_list): Move
23563 from here ...
23564 * include/multiboot.h (struct multiboot_mod_list): ... to here.
23565 Update all users.
23566
a73f5969
RM
235672009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23568
23569 * include/multiboot2.h (multiboot_word): Rename from this ...
23570 (multiboot2_word): ... to this. Update all users.
23571 (multiboot_header): Rename from this ...
23572 (multiboot2_header): ... to this. Update all users.
23573 (multiboot_tag_header): Rename from this ...
23574 (multiboot2_tag_header): ... to this. Update all users.
23575 (multiboot_tag_start): Rename from this ...
23576 (multiboot2_tag_start): ... to this. Update all users.
23577 (multiboot_tag_name): Rename from this ...
23578 (multiboot2_tag_name): ... to this. Update all users.
23579 (multiboot_tag_module): Rename from this ...
23580 (multiboot2_tag_module): ... to this. Update all users.
23581 (multiboot_tag_memory): Rename from this ...
23582 (multiboot2_tag_memory): ... to this. Update all users.
23583 (multiboot_tag_unused): Rename from this ...
23584 (multiboot2_tag_unused): ... to this. Update all users.
23585 (multiboot_tag_end): Rename from this ...
23586 (multiboot2_tag_end): ... to this. Update all users.
23587
1c8927f0
RM
235882009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23589
23590 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
23591 this platform we should support Multiboot1 first.
23592
23593 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23594 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
23595 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
23596
6e1e0d89
RM
235972009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23598
23599 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
23600 of write calls (converting them to fwrite() if they aren't already).
23601 (get_torito_desc): Likewise.
23602 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
23603
7f2b34d8
RM
236042009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23605
23606 * util/i386/pc/grub-install.in: Move from here ...
23607 * util/grub-install.in: ... to here. Update all users.
23608
c0ef3311
CW
236092009-11-11 Colin Watson <cjwatson@ubuntu.com>
23610
23611 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
23612
e1f240ff
RM
236132009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23614
23615 Support for El Torito without floppy emulation.
23616
23617 * util/mkisofs/eltorito.c: Include `<errno.h>'.
23618 (init_boot_catalog): Improve error handling.
23619 (get_torito_desc): Don't use floppy emulation unless requested by
23620 user. Patch boot information table when requested via
23621 `-boot-info-table'.
23622 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
23623 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
23624 (use_boot_info_table): New variables.
23625 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
23626 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
23627 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
23628 `--eltorito-emul-floppy'.
23629 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
23630 and `OPTION_ELTORITO_EMUL_FLOPPY'.
23631 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
23632 (use_boot_info_table, get_731): New prototypes.
23633 * util/mkisofs/write.c (get_731): New function.
23634
af7d4de5
FZ
236352009-11-11 Felix Zielcke <fzielcke@z-51.de>
23636
23637 Fix the generation of the man page.
23638
23639 * util/pc/i386/grub-install.in: Source
23640 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23641
2c55dbc0
RM
236422009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23643
23644 Large file support for grub-mkisofs.
23645
23646 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
23647 * util/mkisofs/mkisofs.c (next_extent, last_extent)
23648 (session_start): Upgrade type to `uint64_t'. Update all users.
23649 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
23650 (struct directory_entry): Upgrade type of `starting_block' and
23651 `size' to `uint64_t'. Update all users.
23652 (struct deferred): Remove unused structure.
23653 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
23654 Update all users.
23655 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
23656 file is larger than `UINT32_MAX'.
23657 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
23658 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
23659 return value.
23660 (struct deferred_write): Upgrade type of `extent' and `size' to
23661 `uint64_t'. Update all users.
23662 (last_extent_written): Upgrade type to `uint64_t'. Update all
23663 users.
23664 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
23665 Update all users. Upgrade type of `remain' to `int64_t' and
23666 `use' to `size_t'. Use error() to handle fread() errors.
23667 (write_files): Rely on write_one_file() rather than calling
23668 xfwrite() directly.
23669
6a9cead5
FZ
236702009-11-09 Felix Zielcke <fzielcke@z-51.de>
23671
23672 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
23673
4825d790
RM
236742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23675
23676 * util/mkisofs/fnmatch.c: Remove.
23677 * util/mkisofs/getopt1.c: Likewise.
23678 * util/mkisofs/getopt.c: Likewise.
23679 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
23680 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
23681 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
23682 `gnulib/getopt1.c' and `gnulib/getopt.c'.
23683 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
23684
23685 * configure.ac: Detect `mingw32msvc' host_os.
23686 Check for lstat(), getuid() and getgid().
23687
23688 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
23689 instances of `u_char' with `uint8_t'.
23690
23691 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
23692 [!HAVE_GETUID] (getuid): New function (stub).
23693 [!HAVE_GETGID] (getgid): Likewise.
23694 [!HAVE_LSTAT] (lstat): Likewise.
23695 [!S_IROTH] (S_IROTH): New macro (dummy).
23696 [!S_IRGRP] (S_IRGRP): Likewise.
23697
84b860d8
RM
236982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23699
23700 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
23701 conditional expression).
23702
66e9b712
RM
237032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23704
23705 Import from Gnulib.
23706
23707 * gnulib/fnmatch.c: New file.
23708 * gnulib/fnmatch.h: Likewise.
23709 * gnulib/fnmatch_loop.c: Likewise.
23710 * gnulib/getopt.c: Likewise.
23711 * gnulib/getopt.h: Likewise.
23712 * gnulib/getopt1.c: Likewise.
23713 * gnulib/getopt_int.h: Likewise.
23714 * gnulib/gettext.h: Likewise.
23715
34f4a5b0
RM
237162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23717
23718 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
23719 * normal/handler.c (read_handler_list): Likewise.
23720
ac451143
RM
237212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23722
23723 Misc cleanup.
23724
23725 * kern/command.c (grub_register_command_prio): Use
23726 grub_zalloc() instead of explicitly zeroing data.
23727 * kern/list.c: Include `<grub/mm.h>'.
23728 (grub_named_list_find): Replace `0' with `NULL'.
23729 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
23730 (fs_module_list): Change type to `grub_named_list_t'. Update all
23731 users.
23732 * normal/dyncmd.c (read_command_list): Add space between function
23733 call and parenthesis.
23734 * normal/handler.c (read_handler_list): Likewise.
23735
4089b167
RM
237362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23737
23738 * normal/auth.c (punishment_delay): Moved from here ...
23739 (grub_auth_strcmp): ... to here (inside function).
23740
325f5037
RM
237412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23742
23743 * include/grub/list.h (struct grub_named_list): Remove `const'
23744 qualifier from `name'.
23745 (struct grub_prio_list): Likewise.
23746
7aea29a3
RM
237472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23748
23749 * normal/auth.c: Include `<grub/time.h>'.
23750 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
23751
3fd6f044
RM
237522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23753
23754 * normal/auth.c (punishment_delay): New variable.
23755 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
23756 (grub_auth_check_authentication): Punish failed login attempts with
23757 an incremental (2^N) delay.
23758
a4cd68e4
RM
237592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23760
23761 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
23762 path with $(srcdir).
23763
7ad12f43
VS
237642009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23765
23766 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
23767
c1129f03
RM
237682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23769
23770 * util/i386/coreboot/grub-mkrescue.in: New file.
23771 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
23772 variables.
23773
23774 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
23775 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
23776 * configure.ac: Add header and function checks to satisfy grub-mkisofs
23777 requirements.
23778 * util/mkisofs/defaults.h: New file.
23779 * util/mkisofs/eltorito.c: Likewise.
23780 * util/mkisofs/exclude.h: Likewise.
23781 * util/mkisofs/fnmatch.c: Likewise.
23782 * util/mkisofs/getopt.c: Likewise.
23783 * util/mkisofs/getopt1.c: Likewise.
23784 * util/mkisofs/hash.c: Likewise.
23785 * util/mkisofs/include/fctldefs.h: Likewise.
23786 * util/mkisofs/include/mconfig.h: Likewise.
23787 * util/mkisofs/include/prototyp.h: Likewise.
23788 * util/mkisofs/include/statdefs.h: Likewise.
23789 * util/mkisofs/iso9660.h: Likewise.
23790 * util/mkisofs/joliet.c: Likewise.
23791 * util/mkisofs/match.c: Likewise.
23792 * util/mkisofs/match.h: Likewise.
23793 * util/mkisofs/mkisofs.c: Likewise.
23794 * util/mkisofs/mkisofs.h: Likewise.
23795 * util/mkisofs/multi.c: Likewise.
23796 * util/mkisofs/name.c: Likewise.
23797 * util/mkisofs/rock.c: Likewise.
23798 * util/mkisofs/tree.c: Likewise.
23799 * util/mkisofs/write.c: Likewise.
23800
ec8bb77d
VS
238012009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23802
23803 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
23804 being insecure.
23805
3716b12c
RM
238062009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23807
23808 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
23809 `grub-mkimage' (and use $0 when possible).
23810
b97b7b91
RM
238112009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23812
23813 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
23814 error message for excessively large memory map.
23815
04114812
RM
238162009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23817
23818 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
23819 executable bit.
23820
e4eb2373
RM
238212009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23822
23823 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
23824 message for coreboot users.
23825
c926e1d5 238262009-11-07 Robert Millan <rmh.grub@aybabtu.com>
23827
23828 Fix build with GNU gold.
23829
23830 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
23831 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
23832 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
23833 link addresses.
23834 * aclocal.m4: Likewise.
23835
86e5b1db 238362009-11-04 Felix Zielcke <fzielcke@z-51.de>
23837
23838 * configure.ac (AC_PREREQ): Bump to 2.59d.
23839 * INSTALL: Make it more clear when Autoconf and Ruby are
23840 needed and when to run `./autogen.sh'.
23841
246cd78f 238422009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
23843
23844 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
23845 OSes.
23846
4f9dfb37 238472009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23848
23849 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
23850
b82bd5e1 238512009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23852
23853 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
23854 giving it to GNU Mach.
23855
ff1a9bca 238562009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23857
23858 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
23859 GNU partition number to get internal GRUB partition number.
23860
61697d9c 238612009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23862
23863 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
23864 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
23865
a50569e1 238662009-11-01 Robert Millan <rmh.grub@aybabtu.com>
23867
23868 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
23869 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
23870 case.
23871
5b153867 238722009-11-01 Felix Zielcke <fzielcke@z-51.de>
23873
23874 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
23875
d9e2cd70 238762009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23877
23878 Fix build problem.
23879
23880 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
23881 `-isystem=$(srcdir)/include'.
23882
805111a4 238832009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23884
23885 * util/i386/pc/grub-install.in: Remove hint that device.map should be
23886 checked (grub-install doesn't currently rely on it).
23887
fa6e945f 238882009-10-29 Robert Millan <rmh.grub@aybabtu.com>
23889
23890 Revert SVN r2660.
23891
23892 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
23893 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23894 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
23895 * conf/i386-ieee1275.rmk: Likewise.
23896 * conf/i386-pc.rmk: Likewise.
23897 * conf/powerpc-ieee1275.rmk: Likewise.
23898 * conf/sparc64-ieee1275.rmk: Likewise.
23899 * conf/x86_64-efi.rmk: Likewise.
23900
cee15086 239012009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23902
23903 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
23904
95b9239e 239052009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23906
23907 * include/grub/misc.h: Stop checking for APPLE_CC.
23908
2ed19dfd 239092009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23910
23911 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
23912 doesn't cause an infinite call loop.
23913
fdcdde19 239142009-10-28 Felix Zielcke <fzielcke@z-51.de>
23915
23916 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
23917 strings.
23918
cefabfe1 239192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23920
23921 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
23922 variable.
23923 * Makefile.in: Likewise.
23924
ed96ab6d 239252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23926
23927 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
23928
0579b753 239292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23930
23931 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
23932
478df409 239332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23934
23935 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
23936
083d1679 239372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23938
23939 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
23940 from here ...
23941 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
23942
5947ae32 239432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23944
23945 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
23946 in $(MAKEINFO) invocation. This makes it clear in output that
23947 errors are being ignored.
23948
94180ff6 239492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23950
23951 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
23952 from here ...
23953 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23954 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
23955 * conf/i386-ieee1275.rmk: Likewise.
23956 * conf/i386-pc.rmk: Likewise.
23957 * conf/powerpc-ieee1275.rmk: Likewise.
23958 * conf/sparc64-ieee1275.rmk: Likewise.
23959 * conf/x86_64-efi.rmk: Likewise.
23960
9031b03a 239612009-10-26 Colin Watson <cjwatson@ubuntu.com>
23962
23963 * util/grub-editenv.c (main): If only a command is given, use
23964 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
23965 (usage): FILENAME is now optional and has a default.
23966
e4f6809b 239672009-10-26 Colin Watson <cjwatson@ubuntu.com>
23968
23969 Improve grub-mkconfig performance when there are several menu
23970 entries on a single filesystem.
23971
23972 * util/grub.d/10_linux.in (linux_entry): Cache the output of
23973 prepare_grub_to_access_device.
23974 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23975 * util/grub.d/30_os-prober.in: Likewise.
23976
67937d4d 239772009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23978
23979 * util/grub.d/10_freebsd.in: Remove.
23980 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
23981 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
23982
ee3756cc 239832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23984
5c35048e 23985 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 23986
4dea1c6f 239872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23988
23989 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
23990 grub_util_error() call.
23991
042484d7 239922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23993
23994 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
23995 `reserved_first_sector' member.
23996 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
23997 `reserved_first_sector' to 1.
23998 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
23999 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
24000 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
24001 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
24002 filesystems which begin at first sector.
24003 (options): New option --skip-fs-probe.
24004 (main): Handle --skip-fs-probe and pass it to setup().
24005
d64448a7 240062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24007
24008 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
24009 (memset): Fix function prototype.
24010
508d42ec 240112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
240122009-10-25 Vasily Averin <vvs@parallels.com>
24013
24014 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
24015 `dirent.direntlen == 0'.
24016
b240e30c 240172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24018
24019 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
24020 `cpio'.
24021 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
24022
346e7fbe 240232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24024
24025 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
24026 `__trampoline_setup' and `__ucmpdi2'.
24027 * include/grub/powerpc/libgcc.h: Only export symbols for functions
24028 that libgcc provides.
24029
cdb308b0 240302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24031
24032 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
24033 * include/grub/sparc64/libgcc.h (memset): Likewise.
24034 * include/grub/misc.h (memset, memcmp): New function prototypes.
24035
fb26abc2 240362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24037
24038 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
24039 `cpio'.
24040 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
24041
f6693890 240422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24043
24044 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
24045 * docs/grub.cfg: Compensate for recent change in multiboot
24046 loader (since 2009-08-14 it won't pass filename to payload).
24047 * util/grub.d/10_hurd.in: Likewise.
24048
0933cdc0 240492009-10-21 Felix Zielcke <fzielcke@z-51.de>
24050
24051 * config.guess: Update to latest version from config git
24052 repository.
24053 * config.sub: Likewise.
24054
3b2fe8c2 240552009-10-20 Robert Millan <rmh.grub@aybabtu.com>
24056
24057 Fix build on sparc64.
24058
24059 * configure.ac: Perform checks for libgcc symbols before
24060 adding `-nostdlib' to LDFLAGS.
24061
46695a62 240622009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24063
24064 Let user specify OpenBSD root device.
24065
24066 * loader/i386/bsd.c (openbsd_root): New variable.
24067 (openbsd_opts): New option 'root'.
24068 (OPENBSD_ROOT_ARG): New macro.
24069 (grub_openbsd_boot): Use 'openbsd_root'.
24070 (grub_cmd_openbsd): Fill 'openbsd_root'.
24071
d2b6b7fc 240722009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24073
24074 * NEWS: Misc adjustments.
24075
421bd7ac 240762009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24077
24078 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
24079
f1d29d87 240802009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24081
24082 * configure.ac: Bump version to 1.97.
24083
6f3cd880 240842009-10-16 Colin Watson <cjwatson@ubuntu.com>
24085
24086 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
24087 -mno-3dnow on x86 architectures. Some toolchains enable these
24088 features by default, but they rely on registers that aren't enabled
24089 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
24090
035f7122 240912009-10-15 Robert Millan <rmh.grub@aybabtu.com>
24092
24093 Make entry text a bit more readable.
24094
24095 * util/grub.d/10_linux.in: Add `with' before `Linux'.
24096
44998e58 240972009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24098
24099 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
24100
cd2851b3 241012009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24102
24103 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
24104 operations.
24105
c6f3b249 241062009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24107
24108 * configure.ac: Add missing dollar.
24109
6b5886ba 241102009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24111
24112 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
24113
24114 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
24115 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
24116 exports.
24117 * include/grub/sparc64/libgcc.h: Likewise. Use
24118 preprocessor conditionals.
24119
e9d66f6d 241202009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24121
24122 * conf/common.rmk (grub-dumpbios): Remove rule.
24123 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
24124 * util/grub-dumpbios.in: Remove file.
24125
9155bc17 241262009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24127
24128 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
24129 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
24130
24131 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
24132 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
24133 users.
24134
24135 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
24136 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
24137 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
24138 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
24139 users.
24140
bf7f7a18 241412009-10-12 Robert Millan <rmh.grub@aybabtu.com>
24142
24143 * term/tparm.c: Switch to GPLv3.
24144
86564c26 241452009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24146
24147 * include/grub/i386/cpuid.h: Add header protection.
24148
5c936493 241492009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24150
24151 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
24152
24153 * include/grub/i386/cpuid.h: New file.
24154 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
24155 (has_longmode): Rename to ...
24156 (grub_cpuid_has_longmode): ... this. Update all users. Remove
24157 `static' attribute.
24158 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
24159 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
24160 on a CPU that doesn't implement AMD64 instruction set.
24161
186e7cf2 241622009-10-06 Colin Watson <cjwatson@ubuntu.com>
24163
24164 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
24165 that version.texi is rebuilt on version number changes.
24166
83b65c4a 241672009-10-06 Colin Watson <cjwatson@ubuntu.com>
24168
24169 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
24170 Fixes bug #27602.
24171
d244281c 241722009-10-06 Colin Watson <cjwatson@ubuntu.com>
24173
24174 * util/i386/pc/grub-install.in: Source
24175 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
24176 that the --grub-probe option will work.
24177 * util/sparc64/ieee1275/grub-install.in: Likewise.
24178
da25306d 241792009-10-05 Robert Millan <rmh.grub@aybabtu.com>
24180
24181 * configure.ac: Bump version to 1.97~beta4.
24182
e8ee83c0 241832009-10-03 Robert Millan <rmh.grub@aybabtu.com>
24184
24185 Resync grub-mkdevicemap in x86_64-efi.
24186
24187 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
24188 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
24189 `util/devicemap.c'.
24190
50dcabcf 241912009-10-01 Colin Watson <cjwatson@ubuntu.com>
24192
24193 * util/grub-editenv.c (create_envblk_file): Write new block with a
24194 .new suffix and then rename it into place, to ensure atomic
24195 creation.
24196
0e51c3a7 241972009-09-28 Robert Millan <rmh.grub@aybabtu.com>
24198
24199 Do not automatically install headers.
24200
24201 * Makefile.in (include_DATA): Remove. Update all users.
24202
31299a95 242032009-09-26 Robert Millan <rmh.grub@aybabtu.com>
24204
24205 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
24206 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
24207
24208 * util/osdetect.lua: Remove.
24209 * script/lua/lauxlib.c: Likewise.
24210 * script/lua/ldebug.c: Likewise.
24211 * script/lua/grub_main.c: Likewise.
24212 * script/lua/lauxlib.h: Likewise.
24213 * script/lua/ldebug.h: Likewise.
24214 * script/lua/ltablib.c: Likewise.
24215 * script/lua/liolib.c: Likewise.
24216 * script/lua/lstrlib.c: Likewise.
24217 * script/lua/lualib.h: Likewise.
24218 * script/lua/ldo.c: Likewise.
24219 * script/lua/ldump.c: Likewise.
24220 * script/lua/ldo.h: Likewise.
24221 * script/lua/loslib.c: Likewise.
24222 * script/lua/lundump.c: Likewise.
24223 * script/lua/grub_lib.c: Likewise.
24224 * script/lua/ldblib.c: Likewise.
24225 * script/lua/lundump.h: Likewise.
24226 * script/lua/lmem.c: Likewise.
24227 * script/lua/grub_lib.h: Likewise.
24228 * script/lua/lmathlib.c: Likewise.
24229 * script/lua/lstate.c: Likewise.
24230 * script/lua/ltm.c: Likewise.
24231 * script/lua/lvm.c: Likewise.
24232 * script/lua/lmem.h: Likewise.
24233 * script/lua/lstate.h: Likewise.
24234 * script/lua/ltm.h: Likewise.
24235 * script/lua/ltable.c: Likewise.
24236 * script/lua/lvm.h: Likewise.
24237 * script/lua/llex.c: Likewise.
24238 * script/lua/lgc.c: Likewise.
24239 * script/lua/grub_lua.h: Likewise.
24240 * script/lua/loadlib.c: Likewise.
24241 * script/lua/lfunc.c: Likewise.
24242 * script/lua/lopcodes.c: Likewise.
24243 * script/lua/lparser.c: Likewise.
24244 * script/lua/ltable.h: Likewise.
24245 * script/lua/llex.h: Likewise.
24246 * script/lua/lgc.h: Likewise.
24247 * script/lua/lfunc.h: Likewise.
24248 * script/lua/lbaselib.c: Likewise.
24249 * script/lua/lopcodes.h: Likewise.
24250 * script/lua/lparser.h: Likewise.
24251 * script/lua/lzio.c: Likewise.
24252 * script/lua/linit.c: Likewise.
24253 * script/lua/lobject.c: Likewise.
24254 * script/lua/llimits.h: Likewise.
24255 * script/lua/lstring.c: Likewise.
24256 * script/lua/lzio.h: Likewise.
24257 * script/lua/lapi.c: Likewise.
24258 * script/lua/lcode.c: Likewise.
24259 * script/lua/lua.h: Likewise.
24260 * script/lua/lobject.h: Likewise.
24261 * script/lua/lstring.h: Likewise.
24262 * script/lua/lapi.h: Likewise.
24263 * script/lua/lcode.h: Likewise.
24264 * script/lua/luaconf.h: Likewise.
24265
cb8a2c38 242662009-09-26 Colin Watson <cjwatson@ubuntu.com>
24267
24268 * docs/grub.texi (Command-line and menu entry commands): Document
24269 date and echo commands.
24270
6b9b6276 242712009-09-24 Pavel Roskin <proski@gnu.org>
24272
24273 * include/grub/kernel.h (struct grub_module_header): Remove
24274 `grub_module_header_types'. Make `type' unsigned. Make `size'
24275 32-bit on all platforms.
24276 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24277 8-bit field. Use grub_host_to_target32() for `size'.
24278 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24279 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24280 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24281
4e5a02a7 242822009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24283
24284 Fix "lost keypress" bug in at_keyboard.
24285
24286 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24287 Checks for readyness of input buffer (without flushing it).
24288 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24289 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24290
c6dcedf6 242912009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24292
24293 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24294 size check within GRUB_MACHINE_PCBIOS section.
24295
74c958b1 242962009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24297
24298 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24299 return value.
24300 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24301 KEYBOARD_ISREADY check.
24302 (grub_at_keyboard_checkkey): Rename to ...
24303 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24304 Remove gratuitous cast.
24305
ff420223 243062009-09-23 Colin Watson <cjwatson@ubuntu.com>
24307
24308 * configure.ac: Call AC_PROG_MKDIR_P.
24309 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24310 version.texi in $(builddir) rather than $(srcdir).
24311 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24312 to makeinfo's @include search path.
24313
d96875df 243142009-09-23 Felix Zielcke <fzielcke@z-51.de>
24315
24316 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24317
9b3f8365 243182009-09-23 Felix Zielcke <fzielcke@z-51.de>
24319
24320 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24321 for `*.dpkg-new'.
24322
c44c90db 243232009-09-21 Colin Watson <cjwatson@ubuntu.com>
24324
24325 Build info documentation. Some code borrowed from Automake.
24326
24327 * configure.ac: Check for makeinfo.
24328 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24329 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24330 docs/version.texi.
24331 (MOSTLYCLEANFILES): Add vti.tmp.
24332 (docs/version.texi, docs/stamp-vti): Update automatically.
24333 (docs/grub.info): Build info documentation. Use --force and ignore
24334 errors for now.
24335 (all-local): Add $(INFOS).
24336 (install-local): Install info files.
24337 (uninstall): Uninstall info files.
24338 * docs/version.texi: Remove from revision control. This file is
24339 automatically generated on build now.
24340 * gendistlist.sh: Add `*.info'.
24341
e0b37bb5 243422009-09-21 Felix Zielcke <fzielcke@z-51.de>
24343
24344 * kern/term.c: Fix indentation.
24345
5a78865b 243462009-09-21 Felix Zielcke <fzielcke@z-51.de>
24347
24348 * util/hostdisk.c: Fix a comment.
24349
dace7e8a 243502009-09-20 Robert Millan <rmh.grub@aybabtu.com>
24351
24352 Fix regression introduced in r2539.
24353
24354 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
24355 to 0xA1.
24356
a83d079b 243572009-09-19 Colin Watson <cjwatson@ubuntu.com>
24358
24359 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 24360 os-prober. Under normal operation, it does not print anything to
24361 stderr; if it does, we need to debug it, and throwing away stderr
24362 makes that excessively difficult.
a83d079b 24363
be94a509 243642009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
24365
24366 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
24367
63f745e8 243682009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24369
24370 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
24371 AC_LANG_PROGRAM from autoconf.
24372 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
24373 prototypes (fixes warning).
24374
24375 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
24376 `--disable-werror' was used.
24377
bbb2a70f 243782009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24379
24380 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
24381 uninitialized `lastaddr'.
24382
77c24f1d 243832009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
24384
0f0b8c87 24385 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 24386
07197f23 243872009-09-14 Colin Watson <cjwatson@ubuntu.com>
24388
24389 * commands/test.c (get_fileinfo): Return immediately if
24390 grub_fs_probe fails.
24391
dabf1798 243922009-09-14 José Martínez <xosemp@gmail.com>
24393
24394 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
24395
d52109a7 243962009-09-14 Colin Watson <cjwatson@ubuntu.com>
24397
24398 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
24399 output.
24400
56532179 244012009-09-13 Robert Millan <rmh.grub@aybabtu.com>
24402
24403 * configure.ac: Remove --enable-grub-pe2elf. Only build
24404 grub-pe2elf when needed by the build system itself.
24405 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
24406
8ef070f5 244072009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24408
24409 * configure.ac: Bump version to 1.97~beta3.
24410 * docs/version.texi: Likewise.
24411
61229557 244122009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24413
24414 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
24415 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
24416 from here ...
24417 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
24418 (grub_linux_setup_video): ... to here (with some adjustments).
24419
5c9f8d84 244202009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24421
24422 Fix memory corruption issue (spotted by Colin Watson).
24423
24424 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
24425 causing returned size to be stored in an incorrect memory location.
24426 Fix use of uninitialized value when storing the returned size.
24427
e8f5d6e9 244282009-09-12 Yves Blusseau <blusseau@zetam.org>
24429
24430 Change clean rules to properly remove files
24431
24432 * genmk.rb: add new clean rules
24433 * Makefile.in (clean): add the new targets
24434 (mostlyclean): likewise
24435
cda2a409 244362009-09-11 Colin Watson <cjwatson@ubuntu.com>
24437
24438 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
24439 to grub_uint64_t.
24440 * fs/ntfs.c (init_file): Understand 64-bit sizes for
24441 non-resident files.
24442
86695375 244432009-09-11 Colin Watson <cjwatson@ubuntu.com>
24444
24445 * configure.ac: Don't look for help2man when cross-compiling. Fixes
24446 part of bug #27349.
24447
8aa1541a 244482009-09-10 Felix Zielcke <fzielcke@z-51.de>
24449
24450 * util/grub-mkconfig.in: Make the created config mode 400 and
24451 print a warning if it fails.
24452
48d9bb0a 244532009-09-10 Robert Millan <rmh.grub@aybabtu.com>
24454
24455 * util/grub.d/40_custom.in: Ask user to type custom entries below
24456 comment, rather than below 'exec tail' line.
24457
3b0521be 244582009-09-10 Colin Watson <cjwatson@ubuntu.com>
24459
24460 * util/grub.d/40_custom.in: Make sure that the explanatory text is
24461 visible in grub.cfg.
24462
50051d55 244632009-09-10 Colin Watson <cjwatson@ubuntu.com>
24464
24465 * util/grub.d/40_custom.in: Make it a little clearer how to use this
24466 file.
24467
c0d34387 244682009-09-10 Felix Zielcke <fzielcke@z-51.de>
24469
24470 * docs/grub.cfg: Add an example menu entry for memtest86+.
24471
80a608f3 244722009-09-09 Felix Zielcke <fzielcke@z-51.de>
24473
a2094832 24474 * config.guess: Update to latest version from config git.
80a608f3 24475 * config.sub: Likewise.
24476
99423078 244772009-09-08 Colin Watson <cjwatson@ubuntu.com>
24478
24479 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
24480 unknown-command case. Fixes bug #27320.
24481
44454e4c 244822009-09-08 Felix Zielcke <fzielcke@z-51.de>
24483
24484 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
24485 `help' if the command exists.
24486
e30d87ad 244872009-09-06 Robert Millan <rmh.grub@aybabtu.com>
24488
24489 * INSTALL: Require GCC 4.1.3 or later.
24490
9a86f1ec 244912009-09-06 Yves Blusseau <blusseau@zetam.org>
24492
24493 * Makefile.in (RMKFILES): add i386-qemu.rmk
24494 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
24495 $(srcdir)/stamp-h.in
24496
7f26d466 244972009-09-05 Robert Millan <rmh.grub@aybabtu.com>
24498
24499 * util/grub-probe.c (probe): Comment out buggy codepath, which
24500 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
24501 should be re-enabled after 1.97.
24502
3a613259 245032009-09-05 Felix Zielcke <fzielcke@z-51.de>
24504
24505 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
24506 find searches for.
24507
197f76c7 245082009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24509
24510 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
24511 unnecessary calls to grub_error.
24512
70ba68ce 245132009-09-04 Colin Watson <cjwatson@ubuntu.com>
24514
24515 * NEWS: Mention `keystatus' and Unicode fonts.
24516
4ff0d7a4 245172009-09-04 Robert Millan <rmh.grub@aybabtu.com>
24518
24519 * configure.ac: Bump version to 1.97~beta2.
24520 * docs/version.texi: Likewise.
24521
77c55a87 245222009-09-03 Colin Watson <cjwatson@ubuntu.com>
24523
24524 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
24525 containing unwind information in some cases where it previously did
24526 not. Use -fno-dwarf2-cfi-asm if available to restore the old
24527 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
24528 discussion.
24529
f79572cd 245302009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
24531
24532 Embedding loadenv module into grub-emu
24533
24534 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
24535 commands/loadenv.c
24536 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
24537 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
24538 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
24539 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
24540 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
24541 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
24542
93a81088 245432009-09-03 Magnus Granberg <zorry@ume.nu>
24544
24545 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
24546 include -fPIE in the default specs.
24547 * configure.ac: Check if pie_possible is yes and add -fno-PIE
24548 to TARGET_CFLAGS.
24549
160034b2 245502009-09-03 Felix Zielcke <fzielcke@z-51.de>
24551
24552 * INSTALL: Note that GNU Bison 2.3 or later is required.
24553
087c07c4 245542009-09-03 Colin Watson <cjwatson@ubuntu.com>
24555
24556 * kern/i386/pc/startup.S: Fix typo.
24557
cbf978c0 245582009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24559
24560 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
24561 according to GCS.
24562
245632009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 24564
24565 * docs/grub.texi (Naming convention): Describe one-based partition
24566 numbering.
24567 (Device syntax): Likewise.
24568 (File name syntax): Likewise.
24569 (Block list syntax): Likewise.
24570 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
24571 menu.lst.
24572 (File name syntax): Likewise.
24573 (Command-line and menu entry commands): Document acpi, blocklist,
24574 crc, export, insmod, keystatus, ls, set, and unset commands.
24575
f3e8cdfd 245762009-09-02 Colin Watson <cjwatson@ubuntu.com>
24577
24578 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
24579 to avoid implying that only one of --shift, --ctrl, or --alt may be
24580 used.
24581
c0bc232b 245822009-09-02 Colin Watson <cjwatson@ubuntu.com>
24583
24584 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
24585 rather than comparing against S_IFREG, which will almost never work.
24586
aa0f752d 245872009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24588
24589 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
24590 (write_blocklists): Likewise.
24591
ecb3166a 245922009-09-01 Colin Watson <cjwatson@ubuntu.com>
24593
24594 * script/lua/grub_lua.h (fputs): Supply a format string as the first
24595 argument to grub_printf.
24596
c403a125 245972009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 24598
24599 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 24600 non GNU test.
31aba781 24601
b5e7312c 246022009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24603
24604 * kern/file.c (grub_file_read): Spelling fix
24605
fe00f472 246062009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24607
24608 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
24609 loading of headers in some cases.
24610
cc55302e 246112009-08-30 Robert Millan <rmh.grub@aybabtu.com>
24612
24613 * configure.ac: Bump version to 1.97~beta1.
24614 * docs/version.texi: Likewise.
24615
5c90cdd2 246162009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 24617
24618 * include/grub/i386/xnu.h: Add license header.
24619 include grub/err.h explicitly.
24620
c90edae4 246212009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24622
24623 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
24624 to `ufs' in the vfs.root.mountfrom kernel parameter.
24625
d8888b5c 246262009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24627
24628 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
24629
24630 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
24631 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
24632
24633 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
24634 `ARRAY_SIZE' macro.
24635
6f07b921 246362009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24637
24638 * kern/file.c (grub_file_read): Check offset.
24639 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
24640 * fs/jfs.c (grub_jfs_read_file): Likewise.
24641 * fs/ntfs.c (grub_ntfs_read): Likewise.
24642 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
24643 * fs/minix.c (grub_minix_read_file): Correct offset check.
24644 * fs/ufs.c (grub_ufs_read_file): Likewise.
24645
b4f34077 246462009-08-28 Colin Watson <cjwatson@ubuntu.com>
24647
24648 * term/i386/pc/console.c (bios_data_area): Cast
24649 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
24650
e7c69859 246512009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24652
24653 1-bit optimised blitters.
24654
24655 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
24656 prototype.
24657 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24658 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24659 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24660 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24661 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24662 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24663 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
24664 function.
24665 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24666 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24667 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24668 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24669 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24670 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24671 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
24672 when possible.
24673 * video/video.c (grub_video_get_blit_format): Return
24674 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
24675
a57da43f 246762009-08-28 Colin Watson <cjwatson@ubuntu.com>
24677
24678 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
24679 the first argument to grub_printf.
24680
4cbe67e5 246812009-08-28 Colin Watson <cjwatson@ubuntu.com>
246822009-08-28 Robert Millan <rmh.grub@aybabtu.com>
24683
24684 Add `getkeystatus' terminal method. Add a new `keystatus' command
24685 to query it.
24686
24687 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
24688 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
24689 modifier key bitmasks.
24690 (struct grub_term_input): Add `getkeystatus' member.
24691 (grub_getkeystatus): Add prototype.
24692 * kern/term.c (grub_getkeystatus): New function.
24693
24694 * include/grub/i386/pc/memory.h
24695 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
24696 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
24697 Data Area layout.
24698 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
24699 (grub_console_term_input): Set `getkeystatus' member.
24700 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
24701 constants.
24702 (grub_usb_keyboard_getreport): Likewise.
24703 (grub_usb_keyboard_checkkey): Likewise.
24704 (grub_usb_keyboard_getkeystatus): New function.
24705 (grub_usb_keyboard_term): Set `getkeystatus' member.
24706
24707 * commands/keystatus.c: New file.
24708 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
24709 (keystatus_mod_SOURCES): New variable.
24710 (keystatus_mod_CFLAGS): Likewise.
24711 (keystatus_mod_LDFLAGS): Likewise.
24712 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
24713 commands/keystatus.c.
24714 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24715 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24716 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24718 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24719 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 24720
6e2a9085 247212009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24722
24723 Split befs.mod and afs.mod into *_be.mod and *.mod
24724
24725 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
24726 (grub_fstest_SOURCES): Likewise.
24727 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
24728 (afs_be_mod_SOURCES): New variable.
24729 (afs_be_mod_CFLAGS): Likewise.
24730 (afs_be_mod_LDFLAGS): Likewise.
24731 (befs_be_mod_SOURCES): Likewise.
24732 (befs_be_mod_CFLAGS): Likewise.
24733 (befs_be_mod_LDFLAGS): Likewise.
24734 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
24735 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24736 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24737 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24738 (grub_emu_SOURCES): Likewise.
24739 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24740 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24741 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24742 * fs/afs_be.c: New file.
24743 * fs/befs_be.c: New file.
24744 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
24745 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
24746 (U16): Replaced with ...
24747 (grub_afs_to_cpu16): ...this. All users updated.
24748 (U32): Replaced with ...
24749 (grub_afs_to_cpu32): ...this. All users updated.
24750 (U64): Replaced with ...
24751 (grub_afs_to_cpu64): ...this. All users updated.
24752 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
24753 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 24754 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 24755 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24756 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24757 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24758 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24759 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24760 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24761 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24762 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24763
32a71655 247642009-08-26 Bean <bean123ch@gmail.com>
24765
24766 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
24767 64-bit number.
24768 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
24769 (grub_xfs_inode_block): Change return type to grub_uint64_t.
24770 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
24771
552bf6c5 247722009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24773
24774 NetBSD memory map support.
24775
24776 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
24777 (grub_netbsd_btinfo_mmap_header): New structure.
24778 (grub_netbsd_btinfo_mmap_entry): Likewise.
24779 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
24780
1ae2078c 247812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24782
24783 Enable bsd.mod on coreboot.
24784
24785 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
24786 (bsd_mod_SOURCES): New variable.
24787 (bsd_mod_CFLAGS): Likewise.
24788 (bsd_mod_LDFLAGS): Likewise.
24789 (bsd_mod_ASFLAGS): Likewise.
24790 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
24791 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
24792
beefc598 247932009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24794
24795 Cleanup NetBSD root support.
24796
24797 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
24798 grub_bsd_get_device.
24799 Fix typo.
24800
3b76e68b 248012009-08-25 Felix Zielcke <fzielcke@z-51.de>
24802
24803 * util/grub.d/00_header.in: Move check for the video backend of
24804 gfxterm from here ...
24805 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
24806 a suitable video backend.
24807
aea664ea 248082009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24809
24810 Fix breakage in grub-setup.
24811
24812 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
24813 "msdos_partition_map".
24814
ff747d50 248152009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24816
24817 Fix breakage in normal/auth.c.
24818
24819 * normal/auth.c (grub_iswordseparator): New function.
24820
e7e1f93f 248212009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24822
24823 Authentication support.
24824
24825 * commands/password.c: New file.
24826 * conf/common.rmk (pkglib_MODULES): Add password.mod.
24827 (password_mod_SOURCES): New variable.
24828 (password_mod_CFLAGS): Likewise.
24829 (password_mod_LDFLAGS): Likewise.
24830 (normal_mod_SOURCES): Add normal/auth.c.
24831 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
24832 normal/auth.c.
24833 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24834 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24835 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24836 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24837 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24838 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24839 * include/grub/auth.h: New file.
24840 * include/grub/err.h (grub_err_t): New enum value
24841 GRUB_ERR_ACCESS_DENIED.
24842 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
24843 'users'.
24844 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
24845 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
24846 users updated.
24847 * normal/auth.c: New file.
24848 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
24849 (grub_cmdline_run): Don't allow to go to command line without
24850 authentication.
24851 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
24852 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
24853 menuentry without superuser rights.
24854 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
24855 user isn't a superuser.
24856
70f1161d 248572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24858
24859 Save space by inlining misc.c functions.
24860
24861 * kern/misc.c (grub_iswordseparator): Made static.
24862 * kern/misc.c (grub_strcat): Moved from here ...
24863 * include/grub/misc.h (grub_strcat): ... here. Inlined.
24864 * kern/misc.c (grub_strncat): Moved from here ...
24865 * include/grub/misc.h (grub_strncat): ... here. Inlined.
24866 * kern/misc.c (grub_strcasecmp): Moved from here ...
24867 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
24868 * kern/misc.c (grub_strncasecmp): Moved from here ...
24869 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
24870 * kern/misc.c (grub_isalpha): Moved from here ...
24871 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
24872 * kern/misc.c (grub_isdigit): Moved from here ...
24873 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
24874 * kern/misc.c (grub_isgraph): Moved from here ...
24875 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
24876 * kern/misc.c (grub_tolower): Moved from here ...
24877 * include/grub/misc.h (grub_tolower): ... here. Inlined.
24878
48e40bff 248792009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24880
24881 * script/sh/function.c (grub_script_function_find): Cut error message
24882 not to flood terminal.
24883 * script/sh/lexer.c (grub_script_yylex): Remove command line length
24884 limit.
24885 * script/sh/script.c (grub_script_arg_add): Duplicate string.
24886
c385bfc3 248872009-08-24 Colin Watson <cjwatson@ubuntu.com>
24888
24889 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
24890 `report' grub_uint8_t *.
24891 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
24892 Use a 50-millisecond timeout rather than just repeating
24893 grub_usb_keyboard_getreport 50 times.
24894 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
24895
2d21e3e8 248962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24897
24898 Rename *_partition_map to part_*
24899
24900 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
24901 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
24902 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
24903 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
24904 All users updated.
24905 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
24906 All users updated.
24907 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
24908 * util/grub-probe.c (probe_partmap): Don't transform partition name
24909 to get module name.
24910
dd103c4e 249112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24912
24913 Fix OpenBSD and NetBSD support.
24914
24915 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
24916 memory address conflict.
24917 (OPENBSD_MMAP_ACPI): New definition.
24918 (OPENBSD_MMAP_NVS): Likewise.
24919 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
24920 and OPENBSD_MMAP_NVS.
24921 Add memory map terminator
24922 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 24923 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 24924
16c84d74 249252009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24926
24927 Let user specify NetBSD root device.
24928
24929 * loader/i386/bsd.c (netbsd_root): New variable.
24930 (netbsd_opts): New option 'root'.
24931 (NETBSD_ROOT_ARG): New macro.
24932 (grub_netbsd_boot): Use 'netbsd_root'.
24933 (grub_bsd_unload): Free 'netbsd_root'.
24934 (grub_cmd_netbsd): Fill 'netbsd_root'.
24935
adb29902 249362009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24937
24938 Support for 64-bit NetBSD.
24939
24940 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
24941 point when booting non-FreeBSD.
24942
f5ae9f74 249432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24944
24945 Support --no-smp and --no-acpi for NetBSD.
24946
24947 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
24948 (NETBSD_AB_NOACPI): Likewise.
24949 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
24950 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
24951
de74f136 249522009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24953
24954 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
24955 errors.
24956 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
24957 errors. Call grub_error when needed.
24958
e9a925da 249592009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24960
24961 * commands/search.c (search_fs): Try searching without autoload first.
24962 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
24963 filesystem module explicitly for faster booting.
24964
5174302b 249652009-08-23 Colin Watson <cjwatson@ubuntu.com>
24966
24967 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
24968
c8c80635 249692009-08-23 Colin Watson <cjwatson@ubuntu.com>
24970
24971 * util/grub.d/30_os-prober.in: Disable os-prober if
24972 `GRUB_DISABLE_OS_PROBER' was set to true.
24973
71acf5e5 249742009-08-23 Robert Millan <rmh.grub@aybabtu.com>
24975
24976 * partmap/pc.c: Rename to ...
24977 * partmap/msdos.c: ... this. Update all users.
24978 (grub_pc_partition_map): Rename to ...
24979 (grub_msdos_partition_map): ... this. Update all users.
24980
24981 * parttool/pcpart.c: Rename to ...
24982 * parttool/msdospart.c: ... this. Update all users.
24983
24984 * include/grub/pc_partition.h: Rename to ...
24985 * include/grub/msdos_partition.h: ... this. Update all users.
24986 (grub_pc_partition_bsd_entry): Rename to ...
24987 (grub_msdos_partition_bsd_entry): ... this. Update all users.
24988 (grub_pc_partition_disk_label): Rename to ...
24989 (grub_msdos_partition_disk_label): ... this. Update all users.
24990 (grub_pc_partition_entry): Rename to ...
24991 (grub_msdos_partition_entry): ... this. Update all users.
24992 (grub_pc_partition_mbr): Rename to ...
24993 (grub_msdos_partition_mbr): ... this. Update all users.
24994 (grub_pc_partition): Rename to ...
24995 (grub_msdos_partition): ... this. Update all users.
24996 (grub_pc_partition_is_empty): Rename to ...
24997 (grub_msdos_partition_is_empty): ... this. Update all users.
24998 (grub_pc_partition_is_extended): Rename to ...
24999 (grub_msdos_partition_is_extended): ... this. Update all users.
25000 (grub_pc_partition_is_bsd): Rename to ...
25001 (grub_msdos_partition_is_bsd): ... this. Update all users.
25002
25003 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
25004 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
25005 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
25006 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
25007 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
25008 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
25009 (gpt_mod_LDFLAGS): Rename to ...
25010 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
25011 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
25012 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
25013 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
25014 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
25015 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
25016 (part_gpt_mod_LDFLAGS): ... this.
25017 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
25018 `pcpart.mod' to `msdospart.mod'.
25019 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
25020 to ...
25021 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
25022 (msdospart_mod_LDFLAGS): ... this.
25023
c11fded5 250242009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25025
25026 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
25027 (openbsd_opts): Likewise.
25028 (netbsd_opts): Likewise.
25029 (freebsd_flags): Added 0 terminator.
25030 (openbsd_flags): Likewise.
25031 (netbsd_flags): Likewise.
25032 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
25033 (grub_cmd_freebsd): Transformed into extended command.
25034 (grub_cmd_openbsd): Likewise.
25035 (grub_cmd_netbsd): Likewise.
25036 (cmd_freebsd): Changed type to grub_extcmd_t.
25037 (cmd_openbsd): Likewise.
25038 (cmd_netbsd): Likewise.
25039 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
25040 grub_cmd_openbsd as extended commands.
25041 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
25042 cmd_netbsd and cmd_openbsd
25043
11d1c769 250442009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25045
25046 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
25047
7a9094e5 250482009-08-21 Pavel Roskin <proski@gnu.org>
25049
5496c37e 25050 * Makefile.in (install-local): When checking if a file is in the
25051 build directory, use "test -e" to detect symlinks.
25052
7a9094e5 25053 * Makefile.in (install-local): Remove all files in
25054 $(DESTDIR)$(pkglibdir) before installing new files there.
25055
e53cea11 250562009-08-18 Felix Zielcke <fzielcke@z-51.de>
25057
25058 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
25059 grub-mkelfimage.
25060
9aced544 250612009-08-18 Felix Zielcke <fzielcke@z-51.de>
25062
25063 * util/grub-mkconfig.in: Don't use gfxterm by default if not
25064 explicitly specified by the user.
25065
b7da6bab 250662009-08-18 Pavel Roskin <proski@gnu.org>
25067
25068 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
25069 grub_uint8_t pointer for data.
25070 * include/grub/fbutil.h (struct grub_video_fbblit_info):
25071 Likewise.
25072 * video/fb/fbutil.c: Remove unnecessary casts.
25073
19f1b335 250742009-08-17 Michal Suchanek <hramrach@centrum.cz>
25075
25076 VBE cleanup.
25077
25078 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
25079 (grub_vbe_set_video_mode): Save active mode info
25080 only after setting the mode.
25081 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
25082 second argument.
25083
2f467aa9 250842009-08-17 Michal Suchanek <hramrach@centrum.cz>
25085
25086 Rename variables for clarity.
25087
25088 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
25089 (active_vbe_mode_info): ... this. All users updated.
25090 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
25091 All users updated.
25092 (initial_mode): Rename to ...
25093 (initial_vbe_mode): ... this. All users updated.
25094 (mode_in_use): Rename to ..
25095 (vbe_mode_in_use): ... this. All users updated.
25096 (mode_list): Rename to ..
25097 (vbe_mode_list): ... this. All users updated.
25098 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
25099 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
25100 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
25101 'mode_list_size' to 'vbe_mode_list_size'.
25102 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
25103 'best_mode_info' to 'best_vbe_mode_info' and
25104 'best_mode' to 'best_vbe_mode'
25105
6025fcd7 251062009-08-17 Michal Suchanek <hramrach@centrum.cz>
25107
25108 Remove duplicate grub_video_fb_get_video_ptr.
25109
25110 * include/grub/fbutil.h (get_data_ptr): Rename to ...
25111 (grub_video_fb_get_video_ptr): ... this.
25112 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
25113 * video/fb/fbutil.c: Add comment about addressing.
25114 (get_data_ptr): Rename to ...
25115 (grub_video_fb_get_video_ptr): ... this. All users updated.
25116 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
25117
cc8c6faf 251182009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25119
25120 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
25121 grub_dprintf() that was just added.
25122
08aa61f0 251232009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25124
25125 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
25126 (DEFAULT_VIDEO_MODE): Remove macros.
25127 (grub_linux_boot): Remove assumption that Linux has FB support,
25128 and use "text" as default video mode.
25129
7cef4f75 251302009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
25131
25132 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
25133 grub_dprintf.
25134 * fs/fat.c (grub_fat_read_data): Likewise.
25135
e1f39873 251362009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25137
25138 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
25139 payload.
25140 (grub_module): Likewise.
25141
c166d79e 251422009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25143
25144 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
25145 mbi->cmdline but free playground.
25146
c60cee8e 251472009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25148
25149 Handle group offset on UFS1.
25150
25151 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
25152 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
25153
c0d8b5d4 251542009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25155
25156 Split ufs.mod into ufs1.mod and ufs2.mod.
25157
25158 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
25159 (grub_fstest_SOURCES): Likewise.
25160 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
25161 (ufs_mod_SOURCES): Remove.
25162 (ufs_mod_CFLAGS): Likewise.
25163 (ufs_mod_LDFLAGS): Likewise.
25164 (ufs1_mod_SOURCES): New variable.
25165 (ufs1_mod_CFLAGS): Likewise.
25166 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 25167 (ufs2_mod_SOURCES): New variable.
25168 (ufs2_mod_CFLAGS): Likewise.
25169 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 25170 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
25171 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25172 Likewise.
25173 (grub_emu_SOURCES): Likewise.
25174 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25175 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25176 (grub_setup_SOURCES): Likewise.
25177 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25178 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
25179 (grub_setup_SOURCES): Likewise.
25180 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25181 Likewise.
25182 * fs/ufs2.c: New file.
25183 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
25184
d3539132 251852009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25186
25187 Framebuffer split.
25188
25189 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
25190 subsystem at the end.
25191 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
25192 (video_fb_mod_SOURCES): New variable.
25193 (video_fb_mod_CFLAGS): Likewise.
25194 (video_fb_mod_LDFLAGS): Likewise.
25195 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
25196 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
25197 * video/i386/pc/vbeblit.c: Moved from here ...
25198 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
25199 * video/i386/pc/vbefill.c: Moved from here ...
25200 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
25201 * video/i386/pc/vbeutil.c: Moved from here ...
25202 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
25203 * include/grub/i386/pc/vbeblit.h: Moved from here ...
25204 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
25205 * include/grub/i386/pc/vbefill.h: Moved from here ...
25206 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
25207 * include/grub/i386/pc/vbeutil.h: Moved from here ...
25208 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
25209 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
25210 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
25211 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
25212 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
25213 (grub_video_adapter): Added 'get_info_and_fini'.
25214 (grub_video_get_info_and_fini): New prototype.
25215 (grub_video_set_mode): make modestring const char *.
25216 * loader/i386/linux.c (grub_linux_setup_video): Use
25217 grub_video_get_info_and_fini.
25218 (grub_linux_boot): Move modesetting just before booting.
25219 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
25220 grub_video_get_info_and_fini.
25221 * video/i386/pc/vbe.c: Moved framebuffer part ...
25222 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
25223 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
25224 grub_video_fbstd_colors and grub_video_fb_set_palette.
25225 (grub_video_vbe_init): Clear 'framebuffer' variable and use
25226 grub_video_fb_init.
25227 (grub_video_vbe_fini): Use grub_video_fb_fini.
25228 (grub_video_vbe_setup): Use framebuffer.render_target instead of
25229 render_target and use grub_video_fb_set_active_render_target and
25230 grub_video_fb_set_palette.
25231 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
25232 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
25233 (grub_video_vbe_adapter): Use framebuffer.
25234 * video/video.c (grub_video_get_info_and_fini): New function.
25235 (grub_video_set_mode): Make modestring const char *.
25236 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
25237 values are already initialised.
25238
d404ee56 252392009-08-14 Pavel Roskin <proski@gnu.org>
25240
25241 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
25242 ABS and APPLE_CC.
25243 * boot/i386/pc/diskboot.S: Likewise.
25244 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
25245 sectors allow compilation on MacOSX.
25246 * conf/i386-pc.rmk: Enable unconditional compilation of
25247 lnxboot.img.
25248
9a10df16 252492009-08-13 Colin Watson <cjwatson@ubuntu.com>
25250
25251 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
25252 * util/grub.d/00_header.in: Enter interruptible sleep if
25253 GRUB_HIDDEN_TIMEOUT is set.
25254
be3c9ca7 252552009-08-13 Yves Blusseau <blusseau@zetam.org>
25256
25257 * include/grub/symbol.h: Add the LOCAL macro.
25258 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
25259 starting with "L_".
25260
1f9e557e 252612009-08-13 Pavel Roskin <proski@gnu.org>
25262
9ca62843 25263 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
25264 any modern compilers we support.
25265
1f9e557e 25266 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
25267 Use local labels starting with "L_" so that Apple assembler
25268 knows they are local.
25269
81623db6 252702009-08-10 Robert Millan <rmh.grub@aybabtu.com>
25271
25272 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
25273 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
25274 (bsd_kernel_types): ... this enum.
25275
25276 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25277 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25278 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25279
25280 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25281 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25282 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25283 messages.
25284
f5d35e7a 252852009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25286
25287 * util/grub-dumpdevtree: Moved from here ...
25288 * util/i386/efi/grub-dumpdevtree: ... to here.
25289 (hexify): New function. Converts a string to its hex version.
25290 Generate hex versions of "efi" and "device-properties" by calling
25291 hexify() on the ASCII strings rather than by hardcoding numbers.
25292
d1e1d527 252932009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25294
25295 * fs/jfs.c: Update copyright year.
25296
1ebbe064 252972009-08-08 Felix Zielcke <fzielcke@z-51.de>
25298
25299 * util/grub.d/00_header.in: Fix a comment.
25300 * util/grub.d/10_linux.in: Likewise.
25301 * util/grub.d/10_windows.in: Likewise.
25302 * util/grub.d/10_hurd.in: Likewise.
25303
a78c8d24 253042009-08-08 Felix Zielcke <fzielcke@z-51.de>
25305
25306 * util/grub-mkconfig.in: Allow the user to specify the used font
25307 with GRUB_FONT.
25308
29a6b9e8 253092009-08-08 Pavel Roskin <proski@gnu.org>
25310
b5f16cc4 25311 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25312 available, xfs.mod needs it now.
25313
2f5cb827 25314 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25315 the "g" modifier in sed when the intention is to strip something
25316 once. This fixes comparison of kernels with multiple dashes.
25317
29a6b9e8 25318 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25319 on it. Add missing space before closing bracket. Fix
25320 misleading formatting.
25321
892a3d98 253222009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25323
25324 * docs/grub.texi: Major overhaul. Remove all sections that are
25325 specific to GRUB Legacy, or mostly composed of Legacy-specific
25326 information.
25327
ed94253f 253282009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25329
25330 * docs/version.texi: New file. Provides version information for
25331 grub.texi.
25332
126d6628 253332009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25334
25335 * docs/grub.texi: Update CVS information to SVN.
25336 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25337
998b5aa9 253382009-08-07 Felix Zielcke <fzielcke@z-51.de>
25339
25340 * util/grub-mkconfig.in: Remove a wrong `fi'.
25341
818e094a 253422009-08-07 Felix Zielcke <fzielcke@z-51.de>
25343
25344 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
25345 (grub_jfs_uuid): New function.
25346 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
25347
b969c52f 253482009-08-07 Felix Zielcke <fzielcke@z-51.de>
25349
25350 * util/grub-mkconfig_lib.in (font_path): Move the functionality
25351 of it to ...
25352 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
25353 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
25354
7a4894cc 253552009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25356
25357 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
25358 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
25359 Update all users.
25360
25361 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
25362 not just "vmlinu[zx]".
25363 Moved from here ...
25364 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
25365 all users.
25366
25367 * util/grub.d/10_linux.in (find_latest): Moved from here ...
25368 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
25369 all users.
25370
4e2171f8 253712009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25372
25373 * util/grub.d/10_freebsd.in: Use an absolute device path for
25374 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
25375
6dcfcb32 253762009-08-06 Felix Zielcke <fzielcke@z-51.de>
25377
25378 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
25379 handling of multiple abstraction modules.
25380
f56a8756 253812009-08-04 Robert Millan <rmh.grub@aybabtu.com>
25382
25383 Fix a bug resulting in black screen when loading Linux using a
25384 packed video mode.
25385
25386 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
25387 function.
25388
25389 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
25390 (grub_vbe_bios_getset_dac_palette_width): New function.
25391 (grub_vbe_bios_get_dac_palette_width)
25392 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
25393 grub_vbe_bios_getset_dac_palette_width()).
25394
25395 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
25396 check for return status.
25397 (grub_vbe_get_video_mode_info): When getting information for a packed
25398 mode (<= 8 bpp), obtain DAC palette width using
25399 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
25400 {red,green,blue}_mark_size.
25401
222671b2 254022009-08-04 Felix Zielcke <fzielcke@z-51.de>
25403
ecb1a6d9 25404 * commands/search.c (options): Fix help output to match actual code.
222671b2 25405
f84114f5 254062009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
25407
25408 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
25409 of homegrown code.
25410
bd288a20 254112009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 25412
25413 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
25414 on XFS or ReiserFS.
25415
8aab5e25 254162009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25417
25418 Support Apple partition map with sector size different from 512 bytes.
25419
25420 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
25421 (apple_partition_map_iterate): Respect 'aheader.blocksize'
25422 and 'apart.partmap_size'.
25423
6ad6258a 254242009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
254252009-08-01 Robert Millan <rmh.grub@aybabtu.com>
25426
25427 Fix cpuid command.
25428
25429 * commands/i386/cpuid.c (options): New variable.
25430 (grub_cmd_cpuid): Return real error.
25431 (GRUB_MOD_INIT(cpuid)): Declare options.
25432
67459bc6 254332009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
25434
25435 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
25436 valid.
25437
fbc6ab54 254382009-07-31 Bean <bean123ch@gmail.com>
25439
25440 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
25441 log2_inode.
25442 (grub_fshelp_node): Move inode field to the end.
25443 (grub_xfs_data): Remove inode field.
25444 (grub_xfs_inode_block): Calculate inode size using sblock.
25445 (grub_xfs_inode_offset): Likewise.
25446 (grub_xfs_read_inode): Calculate inode size using sblock.
25447 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
25448 (grub_xfs_iterate_dir): Calculate inode size using sblock.
25449 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
25450 to match inode size.
25451 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
25452 not accessible when data is null.
25453 (grub_xfs_open): Likewise.
25454
f45d6cfc 254552009-07-31 Bean <bean123ch@gmail.com>
25456
25457 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
25458 Don't change pv->disk if it's already set.
25459
25460 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
25461 (grub_raid_register): ... here.
25462 (grub_raid_rescan): Removed.
25463
25464 * include/grub/raid.h (grub_raid_rescan): Removed.
25465
25466 * util/grub-fstest.c: Remove include file <grub/raid.h>.
25467 (fstest): Replace grub_raid_rescan with module fini function followed
25468 by init function.
25469
25470 * util/grub-probe.c: Add include file <grub/raid.h>.
25471 (probe_raid_level): New function.
25472 (probe): Detect abstraction by walking the disk device, support two
25473 level of abstraction (LVM on RAID) when detecting partition map.
25474
24443b5a 254752009-07-31 Pavel Roskin <proski@gnu.org>
25476
25477 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
25478 to grub_zalloc(), it was erroneous.
25479 Reported by Bean <bean123ch@gmail.com>
25480
a275d9e7 254812009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
25482
25483 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 25484 embedding zone, not only the first one.
a275d9e7 25485
56c5a47f 254862009-07-29 Joe Auricchio <jauricchio@gmail.com>
25487
25488 * term/gfxterm.c (clear_char): New function.
25489 (grub_virtual_screen_setup): Use clear_char.
25490 (scroll_up): Likewise.
25491 (grub_virtual_screen_cls): Likewise.
25492
67bb323a 254932009-07-29 Felix Zielcke <fzielcke@z-51.de>
25494
25495 * util/deviceiter.c (get_acceleraid_disk_name): New static
25496 function.
25497 (grub_util_iterate_devices): Handle Accelraid devices.
25498 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
25499
388a7c75 255002009-07-28 Robert Millan <rmh.grub@aybabtu.com>
25501
25502 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
25503 separator for the suggested gfxpayload string (';' collides with the
25504 parser and needs escaping).
25505
3bb7abcf 255062009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25507
25508 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
25509 Clear direction flag before jumping to OS.
25510 (grub_multiboot2_real_boot): Likewise.
25511
2ddd36d7 255122009-07-28 Felix Zielcke <fzielcke@z-51.de>
25513
25514 * util/i386/pc/grub-install: Fix parsing of --disk-module
25515 option.
25516
c521b62b 255172009-07-28 Felix Zielcke <fzielcke@z-51.de>
25518
25519 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
25520 when embedding.
25521
880e0a0c 255222009-07-26 Felix Zielcke <fzielcke@z-51.de>
25523
25524 * util/grub-mkconfig.in (package_version): New variable.
25525 Use it do display the version.
25526
2366e356 255272009-07-25 Felix Zielcke <fzielcke@z-51.de>
25528
25529 * kern/file.c (grub_file_open): Revert to previous check with
25530 grub_errno.
25531
7ad8c80e 255322009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25533
25534 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
25535 from help line. It's out of sync with code.
25536
72b9658b 255372009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25538
25539 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
25540 entries on failed boot.
25541
77435277 255422009-07-25 Felix Zielcke <fzielcke@z-51.de>
25543
25544 * kern/file.c (grub_file_open): Fix an error check.
25545
fcaa8b21 255462009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
25547
35d16c74 25548 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
25549 partition map couldn't be identified.
fcaa8b21 25550
48904cd1 255512009-07-23 Pavel Roskin <proski@gnu.org>
25552
ef3c317f 25553 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
25554 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
25555 case of little endian words becomes just an optimization.
25556 Respect const modifier.
ad8ea1f4 25557 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 25558
48904cd1 25559 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
25560 to avoid loss of upper bits if align is unsigned and shorter
25561 than addr.
25562
260c9a89 255632009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25564
25565 UUID support for UFS
25566
25567 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
25568 (grub_ufs_uuid): New function.
25569 (grub_ufs_fs): add .uuid
25570
f76ce889 255712009-07-21 Pavel Roskin <proski@gnu.org>
25572
25573 * kern/dl.c (grub_dl_check_header): Make static.
25574
6a6cbcaf 255752009-07-21 Felix Zielcke <fzielcke@z-51.de>
25576
25577 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
25578 add drivemap for Vista. It breaks Windows 7.
25579
cffcddb2 255802009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25581
25582 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
25583 128 bytes
25584
1ef44b80 255852009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25586
25587 Add BFS support
25588
25589 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
25590 (grub_fstest_SOURCES): Likewise.
25591 (pkglib_MODULES): Add befs.mod.
25592 (befs_mod_SOURCES): New variable.
25593 (befs_mod_CFLAGS): Likewise.
25594 (befs_mod_LDFLAGS): Likewise.
25595 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25596 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25597 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25598 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25599 (grub_setup_SOURCES): Likewise.
25600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25601 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25602 (grub_setup_SOURCES): Likewise.
25603 * fs/befs.c: New file.
25604 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
25605 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
25606 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
25607 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
25608 (B_KEY_INDEX_ALIGN): New declaration.
25609 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
25610 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
25611 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
25612 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
25613 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
25614 (grub_afs_mount) [MODE_BFS]: Likewise.
25615 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
25616 (grub_afs_fs): Use GRUB_AFS_FSNAME
25617 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
25618 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
25619 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
25620 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
25621
4f253044 256222009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
25623
25624 * util/getroot.c (find_root_device): Add support for MacOSX.
25625 * util/hostdisk.c: Likewise.
25626
57a55913 256272009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25628
25629 * font/font.c (find_glyph): Check whether a font is present to avoid
25630 segmentation fault.
75421ca9 25631
256322009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 25633
25634 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
25635
e98cd0c2 256362009-07-20 Pavel Roskin <proski@gnu.org>
25637
25638 * configure.ac: Trim excessively wordy excuses.
25639
1d2d169a 256402009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25641
25642 Add symlink, mtime and label support to AtheFS.
25643
25644 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
25645 (grub_afs_iterate_dir): Handle symlinks.
25646 (grub_afs_open): Use grub_afs_read_symlink.
25647 (grub_afs_dir): Likewise.
25648 Pass mtime.
25649 (grub_afs_label): New function.
25650 (grub_afs_fs): Add grub_afs_label.
25651 (grub_afs_read_symlink): New function.
25652
186f3189 256532009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25654
25655 Fix AtheFS support.
25656
25657 * fs/afs.c: Fix comments style.
25658 (grub_afs_blockrun): Declare as packed.
25659 (grub_afs_datastream): Likewise.
25660 (grub_afs_bnode): Likewise.
25661 (grub_afs_btree): Likewise.
25662 (grub_afs_sblock): Likewise.
25663 Declare `name' as char.
25664 (grub_afs_inode): Declare as packed.
25665 Change void *vnode to grub_uint32_t unused.
25666 (grub_afs_iterate_dir): Check that key_size is positive.
25667 (grub_afs_mount): Don't read superblock twice.
75421ca9 25668 (grub_afs_dir): Don't free node in case of error,
186f3189 25669 grub_fshelp_find_file already handles this.
25670 (grub_afs_open): Likewise.
25671
5680109e 256722009-07-19 Pavel Roskin <proski@gnu.org>
25673
25674 * Makefile.in: Remove LIBLZO and enable_lzo.
25675 * conf/i386-pc.rmk: Remove lzo support.
25676 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
25677 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
25678 support.
25679 * kern/i386/pc/lzo1x.S: Remove.
25680 * kern/i386/pc/startup.S: Remove lzo support.
25681 * util/i386/pc/grub-mkimage.c: Likewise.
25682
ac70fa32 256832009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
25684
25685 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
25686 * fs/xfs.c (grub_xfs_dir): Likewise.
25687 * fs/afs.c (grub_afs_dir): Likewise.
25688 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
25689 (grub_iso9660_open): Likewise.
25690 * fs/jfs.c (grub_jfs_open): Likewise.
25691 * fs/ext2.c (grub_ext2_dir): Likewise.
25692 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
25693 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 25694
eab58da2 256952009-07-16 Pavel Roskin <proski@gnu.org>
25696
d2838156 25697 * configure.ac: Never add "-c" to CFLAGS.
25698
55c70904 25699 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
25700
43e6200c 25701 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
25702 grub_cv_cc_efiemu should be used.
25703
ce7a733d 25704 * configure.ac: Typo fixes.
25705
eab58da2 25706 * kern/mm.c (grub_zalloc): New function.
25707 (grub_debug_zalloc): Likewise.
25708 * include/grub/mm.h: Declare grub_zalloc() and
25709 grub_debug_zalloc().
25710 * util/misc.c (grub_zalloc): New function.
25711 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
25712 instead of grub_malloc(), remove unneeded initializations.
25713 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
25714 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
25715 * commands/parttool.c (grub_cmd_parttool): Likewise.
25716 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25717 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
25718 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
25719 * disk/usbms.c (grub_usbms_finddevs): Likewise.
25720 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
25721 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
25722 (grub_cmd_efiemu_pnvram): Likewise.
25723 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
25724 * fs/iso9660.c (grub_iso9660_mount): Likewise.
25725 (grub_iso9660_iterate_dir): Likewise.
25726 * fs/jfs.c (grub_jfs_opendir): Likewise.
25727 * fs/ntfs.c (list_file): Likewise.
25728 (grub_ntfs_mount): Likewise.
25729 * kern/disk.c (grub_disk_open): Likewise.
25730 * kern/dl.c (grub_dl_load_core): Likewise.
25731 * kern/elf.c (grub_elf_file): Likewise.
25732 * kern/env.c (grub_env_context_open): Likewise.
25733 (grub_env_set): Likewise.
25734 (grub_env_set_data_slot): Likewise.
25735 * kern/file.c (grub_file_open): Likewise.
25736 * kern/fs.c (grub_fs_blocklist_open): Likewise.
25737 * loader/i386/multiboot.c (grub_module): Likewise.
25738 * loader/xnu.c (grub_xnu_create_key): Likewise.
25739 (grub_xnu_create_value): Likewise.
25740 * normal/main.c (grub_normal_add_menu_entry): Likewise.
25741 (read_config_file): Likewise.
25742 * normal/menu_entry.c (make_screen): Likewise.
25743 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25744 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
25745 * script/sh/script.c (grub_script_parse): Likewise.
25746 * video/bitmap.c (grub_video_bitmap_create): Likewise.
25747 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
25748 * video/readers/png.c (grub_png_output_byte): Likewise.
25749 (grub_video_reader_png): Likewise.
25750
830afef7 257512009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 25752
25753 Enable all targets that can be built by default
25754
830afef7 25755 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 25756 grub-mkfont and grub-fstest if they can be built
25757
ee293aee 257582009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25759
25760 Fix hang and segmentation fault in grub-emu-usb
25761
25762 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
25763 * util/usb.c (grub_libusb_devices): likewise
25764 (grub_libusb_init): rename to ...
25765 (GRUB_MOD_INIT (libusb)):...this
25766 (grub_libusb_fini): rename to ..
25767 (GRUB_MOD_FINI (libusb)):...this
25768 * disk/usbms.c (grub_usbms_transfer): fix retry logic
25769 * include/grub/disk.h (grub_raid_init): removed, it's useless
25770 (grub_raid_fini): likewise
25771 (grub_lvm_init): likewise
25772 (grub_lvm_fini): likewise
25773 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
25774 by grub_init_all
25775
94414221 257762009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25777
25778 Fix libusb
25779
25780 * Makefile.in (LIBUSB): new macro
25781 * genmk.rb (Utility/print_tail): new method
25782 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
25783 (top level): call util.print_tail at the end.
25784
59ade63d 257852009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25786
25787 Make FreeBSD accept zpool.cache
25788
25789 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
25790 type is /boot/zfs/zpool.cache
25791
a58da8c7 257922009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25793
25794 Fix 64-bit efiemu
25795
25796 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
25797 correct wrong typedef
25798 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
25799
20591577 258002009-07-15 Pavel Roskin <proski@gnu.org>
25801
560ca572 25802 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
25803 * kern/disk.c (struct grub_disk_cache): Likewise.
25804
e8e8e4fd 25805 * commands/probe.c (options): Typo fix.
25806
fde24e10 25807 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
25808 Increase to 0x5a to accommodate FAT32. Adjust other offsets
25809 accordingly.
25810 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
25811
379c54c1 25812 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
25813 the end of "Error" to make the message more readable.
25814
7bd8f5bf 25815 * boot/i386/pc/boot.S (kernel_segment): Remove.
25816 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
25817 for destination.
25818
40b132c5 25819 * boot/i386/pc/boot.S (boot_version): Remove.
25820 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
25821 Remove.
25822
20591577 25823 * include/grub/i386/pc/boot.h: Sort all offsets.
25824 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
25825 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
25826 * boot/i386/pc/boot.S: Assert location of every offset listed in
25827 include/grub/i386/pc/boot.h.
25828
2df32b2c 258292009-07-13 Pavel Roskin <proski@gnu.org>
25830
44b5d879 25831 * include/grub/i386/coreboot/machine.h: Rename
25832 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
25833 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
25834 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
25835
17dc3751 25836 * kern/dl.c: Force native word size to suppress warnings when
25837 compiling grub-emu.
25838
2df32b2c 25839 * kern/device.c (grub_device_iterate): Change struct part_ent to
25840 hold the name, not a pointer to it. Use one grub_malloc() per
25841 partition, not two. Free partition_name if grub_malloc() fails.
25842 Set ents to NULL only before grub_partition_iterate() is called.
25843
75c59f59 258442009-07-11 Bean <bean123ch@gmail.com>
25845
25846 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
25847 childname.
25848
0ae1bf88 258492009-07-10 Bean <bean123ch@gmail.com>
258502009-07-10 Robert Millan <rmh.grub@aybabtu.com>
25851
25852 * kern/ieee1275/openfw.c (grub_children_iterate)
25853 (grub_devalias_iterate): Fix size evaluation for property or path
25854 strings, which was broken since r2132.
25855
8279cade 258562009-07-07 Pavel Roskin <proski@gnu.org>
25857
7d8a52d3 25858 * commands/search.c (search_file): Merge into ...
25859 (search_fs): ... this. Accept search type as argument.
25860 (grub_cmd_search): Pass search type to search_fs().
25861
25f9a05a 25862 * include/grub/util/console.h: New file.
25863 * util/console.c: Use it instead of grub/machine/console.h.
25864 * util/grub-emu.c: Likewise.
25865
8279cade 25866 * lib/arg.c (find_long_option): Remove.
25867 (find_long): Add `len' argument, make `s' const char *.
25868 (grub_arg_parse): Parse long options in place, not in a
25869 temporary buffer.
25870
4a11b60f 258712009-07-06 Pavel Roskin <proski@gnu.org>
25872
99f68041 25873 * commands/search.c (search_fs): Fix potential NULL pointer
25874 dereference.
25875
4a11b60f 25876 * commands/search.c (search_fs): Replace QUID macro with quid_fn
25877 function pointer.
25878
e110f4de 258792009-07-06 Daniel Mierswa <impulze@impulze.org>
25880
25881 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
25882 comparison.
25883
46eeb6a2 258842009-07-05 Pavel Roskin <proski@gnu.org>
25885
bab74958 25886 * include/grub/i386/linux.h (struct linux_kernel_params):
25887 Restore padding3, it's still needed.
25888
46eeb6a2 25889 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
25890 FreeBSD.
25891 * util/osdetect.lua: Likewise.
25892
b4a1dc79 258932009-07-05 Bean <bean123ch@gmail.com>
25894
25895 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
25896
25897 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
25898 (grub_lua_getenv): Likewise.
25899 (grub_lua_setenv): Likewise.
25900 (save_errno): New function.
25901 (push_result): Likewise.
25902 (grub_lua_enum_device): Likewise.
25903 (grub_lua_enum_file): Likewise.
25904 (grub_lua_file_open): Likewise.
25905 (grub_lua_file_close): Likewise.
25906 (grub_lua_file_seek): Likewise.
25907 (grub_lua_file_read): Likewise.
25908 (grub_lua_file_getline): Likewise.
25909 (grub_lua_file_getsize): Likewise.
25910 (grub_lua_file_getpos): Likewise.
25911 (grub_lua_file_eof): Likewise.
25912 (grub_lua_file_exist): Likewise.
25913 (grub_lua_add_menu): Likewise.
25914
25915 * script/lua/grub_lua.h (isupper): New inline function.
25916 (islower): Likewise.
25917 (ispunct): Likewise.
25918 (isxdigit): Likewise.
25919 (strcspn): Change to normal function.
25920 (strpbkr): New function declaration.
25921 (memchr): Likewise.
25922
25923 * script/lua/grub_main.c (scan_str): New function.
25924 (strcspn): Likewise.
25925 (strpbrk): Likewise.
25926 (memchr): Likewise.
25927
25928 * script/lua/linit.c (lualibs): Enable the string library.
25929
25930 * util/osdetect.lua: New file.
25931
2da92295 259322009-07-04 Robert Millan <rmh.grub@aybabtu.com>
25933
25934 * include/grub/i386/linux.h (struct linux_kernel_params): Add
25935 `capabilities' member.
25936
b2582ec9 259372009-07-02 Pavel Roskin <proski@gnu.org>
25938
25939 * genparttoollist.sh: Add missing newline at the end.
25940
32622956 259412009-07-01 Pavel Roskin <proski@gnu.org>
25942
87a7339e 25943 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
25944
d23af54e 25945 * util/hostdisk.c (open_device): Remove `const' from
25946 `sysctl_size', as sysctlbyname() can change it (in this case it
25947 doesn't actually happen).
25948
c94b18a9 25949 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
25950 using signed long int constants.
25951
c6cd3ef0 25952 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
25953 constant to avoid a warning on FreeBSD.
25954
0df63420 25955 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
25956 where it's needed.
25957
999577f1 25958 * Makefile.in: Install include/grub/machine symlink.
25959
6f41557f 25960 * Makefile.in: When installing symlinks, use "cp -fR", which
25961 works on FreeBSD and MacOSX.
25962 From Yves Blusseau <cl7m42e02@sneakemail.com>
25963
c8d22988 25964 * kern/dl.c (grub_dl_resolve_symbol): Make static.
25965 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
25966
1b96e952 25967 * util/misc.c: Move grub_reboot() and grub_halt() ...
25968 * util/grub-emu.c: ... here. Make main_env static.
25969 * include/grub/util/misc.h: Remove main_env.
25970
2ef0084d 25971 * kern/mm.c: Use correct format to print size_t.
25972
32622956 25973 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
25974 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
25975 * kern/powerpc/dl.c: Likewise.
25976 * kern/sparc64/dl.c: Likewise.
25977 * kern/x86_64/dl.c: Likewise.
25978
3f7f0cd0 259792009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25980
25981 Fix grub-emu build on sparc64-ieee1275.
25982
75421ca9 25983 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 25984 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
25985
211d06b5 259862009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25987
25988 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
25989 (grub_reboot, grub_halt): New functions.
25990
25991 * util/i386/pc/misc.c: Delete. Update all users.
25992 * util/sparc64/ieee1275/misc.c: Likewise.
25993 * util/powerpc/ieee1275/misc.c: Likewise.
25994
aaf53e3c 259952009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25996
25997 * conf/i386.rmk (setjmp_mod_SOURCES)
25998 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
25999 * conf/common.rmk (setjmp_mod_SOURCES)
26000 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
26001 to use $(target_cpu).
26002 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
26003 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
26004 * conf/powerpc-ieee1275.rmk: Likewise.
26005 * conf/sparc64-ieee1275.rmk: Likewise.
26006
26007 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
26008 $(target_cpu) for kern/$(target_cpu)/dl.c.
26009 * conf/i386-efi.rmk: Likewise.
26010 * conf/i386-ieee1275.rmk: Likewise.
26011 * conf/x86_64-efi.rmk: Likewise.
26012 * conf/i386-coreboot.rmk: Likewise.
26013 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
26014 $(target_cpu) for kern/$(target_cpu)/dl.c and for
26015 kern/$(target_cpu)/cache.S.
26016 * conf/sparc64-ieee1275.rmk: Likewise.
26017
a337130b 260182009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26019
26020 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
26021 type to `grub_uint8_t', and adjust `padding9' accordingly.
26022
c6fe4d53 260232009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26024
b09db61d 26025 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
26026
c6fe4d53 26027 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
26028 assembly in final jump, using register constraints.
26029
b09db61d 26030 (grub_linux_boot): For text mode, initialize `have_vga' using
26031 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
26032
26033 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
26034 right before the final jump.
26035
26036 Set `video_mode' to 0x3.
26037
26038 Document initialization of `video_page', `video_mode' and
26039 `video_ega_bx'.
26040
28333ad0 260412009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26042
26043 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
26044 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 26045 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 26046
02164e1b 260472009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26048
26049 Fix build on Debian / sparc.
26050
26051 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
26052
18b6c557 260532009-06-28 Pavel Roskin <proski@gnu.org>
26054
85f2aab6 26055 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
26056 fix a warning.
26057
18b6c557 26058 * util/grub.d/10_linux.in: Match SUSE style initrd names.
26059
ad760f81 260602009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26061
26062 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
26063 `err'.
26064
87a4623b 260652009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26066
26067 Revert r2338.
26068
26069 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
26070 file can't be opened. grub_file_open() is already supposed to set
75421ca9 26071 grub_errno / grub_errmsg appropriately.
87a4623b 26072 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26073
8231fb77 260742009-06-27 Pavel Roskin <proski@gnu.org>
260752009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26076
26077 * include/grub/dl.h: Include grub/elf.h.
26078 (struct grub_dl): Add symtab field.
26079 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
26080 GRUB_MODULES_MACHINE_READONLY.
26081 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
26082 of the header for read-only modules.
26083 (grub_dl_unload): Free mod->symtab for read-only modules.
26084 * kern/i386/dl.c: Use mod->symtab.
26085 * kern/powerpc/dl.c: Likewise.
26086 * kern/sparc64/dl.c: Likewise.
26087 * kern/x86_64/dl.c: Likewise.
26088
26089 * conf/i386-qemu.rmk: New file.
26090 * kern/i386/qemu/startup.S: Likewise.
26091 * kern/i386/qemu/mmap.c: Likewise.
26092 * boot/i386/qemu/boot.S: Likewise.
26093 * include/grub/i386/qemu/time.h: Likewise.
26094 * include/grub/i386/qemu/serial.h: Likewise.
26095 * include/grub/i386/qemu/kernel.h: Likewise.
26096 * include/grub/i386/qemu/console.h: Likewise.
26097 * include/grub/i386/qemu/boot.h: Likewise.
26098 * include/grub/i386/qemu/init.h: Likewise.
26099 * include/grub/i386/qemu/machine.h: Likewise.
26100 * include/grub/i386/qemu/loader.h: Likewise.
26101 * include/grub/i386/qemu/memory.h: Likewise.
26102
26103 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
26104 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
26105 [qemu] (pkglib_IMAGES): Add `boot.img'.
26106 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
26107 [qemu] (boot_img_FORMAT): New variables.
26108 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
26109 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
26110 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
26111 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26112 [qemu] (kernel_img_FORMAT): New variables.
26113
26114 * configure.ac: Recognise `i386-qemu'.
26115
26116 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
26117 (for no compression).
26118 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
26119 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
26120 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
26121 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
26122 ifdefs).
26123
97fe384e 261242009-06-27 Pavel Roskin <proski@gnu.org>
26125
26126 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
26127 read.
26128 * efiemu/prepare32.c: Likewise.
26129 * efiemu/prepare64.c: Likewise.
26130
c402ab17 261312009-06-26 Pavel Roskin <proski@gnu.org>
26132
26133 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
26134 * include/grub/elf.h: Define symbols without "32" or "64" based
26135 on GRUB_TARGET_WORDSIZE.
26136 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
26137 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
26138 ELF definitions.
26139 * efiemu/loadcore64.c: Likewise.
26140 * loader/i386/bsd32.c: Likewise.
26141 * loader/i386/bsd64.c: Likewise.
26142 * kern/dl.c: Remove own ELF definitions.
26143 * util/i386/efi/grub-mkimage.c: Likewise.
26144
9bbdfd4d 261452009-06-23 Robert Millan <rmh.grub@aybabtu.com>
26146
26147 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
26148 segment 0x0 unconditionally, because the reference generated by
26149 GAS is an absolute address.
26150
a42ce6e9 261512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26152
26153 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
26154 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
26155
c952cf92 261562009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26157
26158 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
26159 indexes. Check for -f explicitly.
cc3752ad 26160 (search_file): Improve error message.
26161 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 26162
132a0a59 261632009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26164
26165 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
26166 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
26167
387a140c 261682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26169
26170 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
26171 * conf/i386-ieee1275.rmk: Likewise.
26172 * conf/i386-coreboot.rmk: Likewise.
26173
26174 * kern/i386/pc/startup.S (grub_stop): Remove function.
26175 * kern/i386/ieee1275/startup.S: Likewise.
26176 * kern/i386/coreboot/startup.S: Likewise.
26177 * kern/i386/misc.S (grub_stop): New function.
26178
41da9665 261792009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26180
26181 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
26182 * kern/i386/realmode.S (real_to_prot): ... to here.
26183
bf337234 261842009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26185
26186 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
26187 with `kernel.img'.
26188 (kernel_elf_SOURCES): Rename to ...
26189 (kernel_img_SOURCES): ... this.
26190 (kernel_elf_HEADERS): Rename to ...
26191 (kernel_img_HEADERS): ... this. Update all users.
26192 (kernel_elf_ASFLAGS): Rename to ...
26193 (kernel_img_ASFLAGS): ... this.
26194 (kernel_elf_CFLAGS): Rename to ...
26195 (kernel_img_CFLAGS): ... this.
26196 (kernel_elf_LDFLAGS): Rename to ...
26197 (kernel_img_LDFLAGS): ... this.
26198 * conf/i386-coreboot.rmk: Likewise.
26199 * conf/powerpc-ieee1275.rmk: Likewise.
26200
26201 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
26202 with "kernel.img".
26203
f52196ff 262042009-06-21 Pavel Roskin <proski@gnu.org>
26205
c3cee413 26206 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
26207 to match nested functions.
26208 * loader/sparc64/ieee1275/linux.c: Likewise.
26209
f52196ff 26210 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
26211
58750afc 262122009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26213
26214 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
26215 all i386 platforms.
26216
15355c7d 262172009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26218
26219 Fix asm file handling on ELF, and remove workarounds.
26220
26221 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 26222 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 26223 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
26224 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
26225
3f3ec72b 262262009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
26227
26228 Load BSD ELF modules
26229
26230 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
26231 and loader/i386/bsd64.c
26232 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
26233 (FREEBSD_MODTYPE_ELF_MODULE): New definition
26234 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
26235 (grub_freebsd_load_elfmodule32): New declaration
26236 (grub_freebsd_load_elfmoduleobj64): Likewise
26237 (grub_freebsd_load_elf_meta32): Likewise
26238 (grub_freebsd_load_elf_meta64): Likewise
26239 (grub_freebsd_add_meta): Likewise
26240 (grub_freebsd_add_meta_module): Likewise
26241 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
26242 (grub_freebsd_add_meta_module): Likewise and move module-specific
26243 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
26244 (grub_cmd_freebsd): Add elf-kernel specific parts
26245 based on grub_freebsd_add_meta_module
26246 (grub_cmd_freebsd_module): Add type parsing moved from
26247 grub_freebsd_add_meta_module
26248 (grub_cmd_freebsd_module_elf): New function
26249 (cmd_freebsd_module_elf): New variable
26250 (GRUB_MOD_INIT): Register freebsd_module_elf
26251 * loader/i386/bsd32.c: New file
26252 * loader/i386/bsd64.c: Likewise
26253 * loader/i386/bsdXX.c: Likewise
26254 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
26255 (grub_elf64_load): Likewise
26256 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
26257 All users updated
26258 (grub_elf64_load_hook_t): Likewise
26259
0db15301 262602009-06-21 Colin Watson <cjwatson@ubuntu.com>
26261
26262 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
26263 variable.
26264 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
26265 don't write a menu entry for recovery mode.
26266
546796c1 262672009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26268
26269 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
26270 after it's no longer needed.
26271
cd7310d5 262722009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26273
26274 * include/grub/i386/loader.h (grub_linux_prot_size)
26275 (grub_linux_tmp_addr, grub_linux_real_addr)
26276 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26277 GRUB_MACHINE_PCBIOS.
26278 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26279 common grub_util_info() call to ...
26280 (generate_image): ... here.
26281 Fix use of uninitialized memory, comparison of signed with
26282 unsigned integers and memory leak.
26283 Remove bogus module address message.
26284
ab32d3b5 262852009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26286
26287 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26288 grub_raid_register
26289 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26290
024ef597 262912009-06-19 Pavel Roskin <proski@gnu.org>
26292
26293 * configure.ac: Remove stray AC_MSG_CHECKING.
26294
3ac72b51 262952009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26296
26297 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 26298
e14cd814 262992009-06-18 Pavel Roskin <proski@gnu.org>
26300
26301 * conf/common.rmk: Add fs_file.mod.
26302 * disk/fs_file.c: New file.
26303 * include/grub/disk.h (enum grub_disk_dev_id): Add
26304 GRUB_DISK_DEVICE_FILE_ID.
26305
26586d98 263062009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26307
26308 Fix build with Apple's toolchain. Part 2
26309
26310 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26311 a fake start
26312
26de2bcd 263132009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26314
26315 Fix build with Apple's toolchain. Part 1
26316
26317 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26318 for long calls
26319 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 26320 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 26321 Apple's toolchain
26322
09b3490b 263232009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26324
26325 Fix warnings
26326
26327 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26328 (decomp_block): initialize ch
26329 use grub_memcpy instead of memcpy
26330
c22a006a 263312009-06-17 Pavel Roskin <proski@gnu.org>
26332
d3638678 26333 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26334 version, use declarations needed to use vga_text as the startup
26335 console.
26336
c22a006a 26337 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26338 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
26339 the kernel.
26340 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
26341 and grub_at_keyboard_fini(), it's done on module load and
26342 unload.
26343
05b129e0 263442009-06-17 Felix Zielcke <fzielcke@z-51.de>
26345
26346 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
26347 file can't be found.
26348 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26349
cf24ed9e 263502009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26351
26352 Fix newline handling
26353
26354 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 26355 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 26356 (grub_script_yylex): don't segfault on unterminated script
26357 newline terminates command and variable
26358
74aa8e4b 263592009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26360
26361 avoid double grub_adjust_range call. Bug reported by David Simner
26362
26363 * kern/disk.c (grub_disk_write): change to raw disk access before
26364 calling disk_read
26365
1bd265f3 263662009-06-17 Colin Watson <cjwatson@ubuntu.com>
26367
26368 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
26369 spaces, for the benefit of help2man.
26370 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26371
a2d08c06 263722009-06-16 Pavel Roskin <proski@gnu.org>
26373
26374 * kern/i386/halt.c: Include grub/machine/init.h.
26375 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
26376
b97bcb19 263772009-06-16 Felix Zielcke <fzielcke@z-51.de>
26378
26379 * util/grub.d/30_os-prober.in: Use ${root} in the generated
26380 drivemap menuentry.
26381
0644f96c 263822009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
26383
26384 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
26385 `echo' command.
26386
3ef17a2e 263872009-06-16 Pavel Roskin <proski@gnu.org>
26388
26389 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
26390 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
26391 save %dx, we only need %dl and we never change it.
26392 * boot/i386/pc/cdboot.S: Don't set the root drive.
26393 * boot/i386/pc/pxeboot.S: Likewise.
26394 * include/grub/i386/pc/boot.h: Remove
26395 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
26396 GRUB_BOOT_MACHINE_DRIVE_CHECK.
26397 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
26398 * kern/i386/pc/init.c (make_install_device): Remove references
26399 to grub_root_drive.
26400 * kern/i386/pc/startup.S: Likewise.
26401 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
26402
693fe637 264032009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26404
26405 xnu_uuid command
26406
26407 * commands/xnu_uuid.c: new file
26408 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
26409 (xnu_uuid_mod_SOURCES): new variable
26410 (xnu_uuid_mod_CFLAGS): likewise
26411 (xnu_uuid_mod_LDFLAGS): likewise
26412 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26413 * conf/i386-ieee1275.rmk: likewise
26414 * conf/i386-pc.rmk: likewise
26415 * conf/powerpc-ieee1275.rmk: likewise
26416 * conf/sparc64-ieee1275.rmk: likewise
26417 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
26418
c9da87d0 264192009-06-16 Pavel Roskin <proski@gnu.org>
26420
26421 * configure.ac: Avoid '==' in test command, it's not portable.
26422
9c6f4596 264232009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26424
26425 Probe command
26426
26427 * commands/probe.c: new file
26428 * conf/common.rmk (pkglib_MODULES): add probe.mod
26429 (probe_mod_SOURCES): new variable
26430 (probe_mod_CFLAGS): likewise
26431 (probe_mod_LDFLAGS): likewise
26432 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26433 * conf/i386-ieee1275.rmk: likewise
26434 * conf/i386-pc.rmk: likewise
26435 * conf/powerpc-ieee1275.rmk: likewise
26436 * conf/sparc64-ieee1275.rmk: likewise
26437
70b7f9fd 264382009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
26439
26440 Fix handling of string like \"hello\" and "a
26441 b"
26442
26443 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
26444 (grub_script_yylex): fix parsing of quoting, escaping and newline
26445
71c79a6b 264462009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
26447
dd74360c 26448 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 26449 handling
dd74360c 26450
0644f96c 264512009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 26452
26453 * util/grub-mkconfig.in: Fix parsing of --output option.
26454
e40893c3 264552009-06-12 Pavel Roskin <proski@gnu.org>
26456
26457 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
26458 genmk.rb don't need to be generated or installed.
26459
3a1acfe2 264602009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26461
26462 * commands/i386/pc/drivemap_int13h.S: add more comments
26463
3a4575d4 264642009-06-11 Pavel Roskin <proski@gnu.org>
26465
0658e928 26466 * Makefile.in (uninstall): Uninstall manuals.
26467
ca0388f0 26468 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
26469 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
26470 and update-grub_lib in two places.
26471 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
26472
e3b27c39 26473 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
26474 a compiler warning.
26475
3a4575d4 26476 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
26477 `entry_lo' to fix variable shadowing.
26478
af1f4f55 264792009-06-11 Christian Franke <franke@computer.org>
26480
26481 * kern/misc.c (__enable_execute_stack): Add missing return type
26482 to prevent gcc warning.
26483
5225e649 264842009-06-11 Felix Zielcke <fzielcke@z-51.de>
26485
26486 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
26487
7d83bd47 264882009-06-11 Pavel Roskin <proski@gnu.org>
26489
c1cb63ba 26490 * Makefile.in: Don't rely on any scripts being executable.
26491 Always use $(SHELL) to run shell scripts.
26492
7d83bd47 26493 * configure.ac: Always define ___main if using -nostdlib. This
26494 fixes tests on Cygwin.
26495
948f48e7 264962009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
26497
26498 UDF fix
26499
7d83bd47 26500 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 26501 is in bytes and not in blocks
7d83bd47 26502
8ada9bc1 265032009-06-11 Pavel Roskin <proski@gnu.org>
26504
26505 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
26506 warning.
26507
25ad2323 265082009-06-11 Felix Zielcke <fzielcke@z-51.de>
26509
26510 * util/grub.d/30_os-prober.in: Fix a comment. Source
26511 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
26512 to set the root device. Place drivemap command in the generated
26513 chain entry.
26514
e65acb0c 265152009-06-11 Pavel Roskin <proski@gnu.org>
26516
26517 * configure.ac: Remove host_m32. Issues with 64-bit utilities
26518 have long been resolved.
26519
f285fe2d 265202009-06-11 Colin Watson <cjwatson@ubuntu.com>
26521
bd47b0b5 26522 * util/grub.d/10_linux.in: Capitalise "Linux".
26523
f285fe2d 26524 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
26525
a0c62e4e 265262009-06-11 Pavel Roskin <proski@gnu.org>
26527
b6783cb2 26528 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
26529 fix a gcc warning and ensure that the function won't ever exit.
26530
dde032e8 26531 * kern/i386/ieee1275/init.c: Add missing prototype for
26532 grub_stop_floppy().
26533
22cd079d 26534 * loader/ieee1275/multiboot2.c [__i386__]: Include
26535 grub/cpu/multiboot.h.
26536
a0c62e4e 26537 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
26538 casts to short - they are not portable and cause warnings. Fix
26539 use of uninitialized values in input_buf. Use ARRAY_SIZE.
26540
63963d17 265412009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
26542
26543 Drivemap fixes
26544
26545 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
26546 new function
26547 (grub_get_root_biosnumber_saved): new variable
26548 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
26549 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 26550 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 26551 %dx after the call if necessary
26552 * conf/common.rmk (pkglib_MODULES): remove boot.mod
26553 (boot_mod_SOURCES): remove
26554 (boot_mod_CFLAGS): remove
26555 (boot_mod_LDFLAGS): remove
26556 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
26557 (boot_mod_SOURCES): new variable
26558 (boot_mod_CFLAGS): likewise
26559 (boot_mod_LDFLAGS): likewise
26560 * conf/i386-efi.rmk: likewise
26561 * conf/i386-ieee1275.rmk: likewise
26562 * conf/i386-pc.rmk: likewise
26563 * conf/powerpc-ieee1275.rmk: likewise
26564 * conf/sparc64-ieee1275.rmk: likewise
26565 * conf/x86_64-efi.rmk: likewise
26566 * include/grub/i386/pc/biosnum.h: new file
26567 * lib/i386/pc/biosnum.c: likewise
26568 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
26569 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
26570 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 26571
33abf7ae 265722009-06-10 Pavel Roskin <proski@gnu.org>
26573
5ac35b35 26574 * io/gzio.c (test_header): Don't reuse one buffer for all data.
26575 Use separate variables. Read only the file size at the end, but
26576 not the checksum that we don't use.
26577
5c5215d5 26578 * kern/file.c (grub_file_read): Use void pointer for the buffer.
26579 Adjust all callers.
26580
27d5fef7 26581 * kern/ieee1275/openfw.c: Remove libc includes.
26582 * kern/ieee1275/cmain.c: Likewise.
26583 * include/grub/ieee1275/ieee1275.h: Likewise.
26584
33abf7ae 26585 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
26586 compiler warnings.
26587
19d50c2b 265882009-06-10 Felix Zielcke <fzielcke@z-51.de>
26589
26590 * Makefile.in: Remove all trailing whitespace.
26591 * conf/i386-pc.rmk: Likewise.
26592 * conf/powerpc-ieee1275.rmk: Likewise.
26593 * conf/sparc64-ieee1275.rmk: Likewise.
26594 * docs/grub.texi: Likewise.
26595 * docs/texinfo.tex: Likewise.
26596 * disk/fs_uuid.c: Likewise.
26597 * disk/lvm.c: Likewise.
26598 * disk/scsi.c: Likewise.
26599 * disk/ata.c: Likewise.
26600 * disk/ieee1275/ofdisk.c: Likewise.
26601 * disk/i386/pc/biosdisk.c: Likewise.
26602 * disk/host.c: Likewise.
26603 * disk/raid.c: Likewise.
26604 * disk/efi/efidisk.c: Likewise.
26605 * disk/usbms.c: Likewise.
26606 * disk/memdisk.c: Likewise.
26607 * disk/loopback.c: Likewise.
26608 * kern/powerpc/dl.c: Likewise.
26609 * kern/device.c: Likewise.
26610 * kern/dl.c: Likewise.
26611 * kern/sparc64/dl.c: Likewise.
26612 * kern/ieee1275/ieee1275.c: Likewise.
26613 * kern/term.c: Likewise.
26614 * kern/fs.c: Likewise.
26615 * kern/i386/dl.c: Likewise.
26616 * kern/i386/pc/startup.S: Likewise.
26617 * kern/i386/pc/init.c: Likewise.
26618 * kern/i386/pc/mmap.c: Likewise.
26619 * kern/i386/pc/lzo1x.S: Likewise.
26620 * kern/i386/ieee1275/init.c: Likewise.
26621 * kern/i386/realmode.S: Likewise.
26622 * kern/i386/tsc.c: Likewise.
26623 * kern/partition.c: Likewise.
26624 * kern/corecmd.c: Likewise.
26625 * kern/file.c: Likewise.
26626 * kern/efi/efi.c: Likewise.
26627 * kern/efi/init.c: Likewise.
26628 * kern/efi/mm.c: Likewise.
26629 * kern/main.c: Likewise.
26630 * kern/err.c: Likewise.
26631 * kern/env.c: Likewise.
26632 * kern/disk.c: Likewise.
26633 * kern/generic/millisleep.c: Likewise.
26634 * kern/generic/rtc_get_time_ms.c: Likewise.
26635 * kern/misc.c: Likewise.
26636 * kern/parser.c: Likewise.
26637 * genmk.rb: Likewise.
26638 * configure.ac: Likewise.
26639 * boot/i386/pc/diskboot.S: Likewise.
26640 * boot/i386/pc/pxeboot.S: Likewise.
26641 * boot/i386/pc/boot.S: Likewise.
26642 * boot/i386/pc/lnxboot.S: Likewise.
26643 * boot/i386/pc/cdboot.S: Likewise.
26644 * parttool/pcpart.c: Likewise.
26645 * video/readers/tga.c: Likewise.
26646 * video/video.c: Likewise.
26647 * video/bitmap.c: Likewise.
26648 * lib/envblk.c: Likewise.
26649 * lib/i386/setjmp.S: Likewise.
26650 * fs/xfs.c: Likewise.
26651 * fs/afs.c: Likewise.
26652 * fs/fat.c: Likewise.
26653 * fs/ntfs.c: Likewise.
26654 * fs/udf.c: Likewise.
26655 * fs/affs.c: Likewise.
26656 * fs/iso9660.c: Likewise.
26657 * fs/hfs.c: Likewise.
26658 * fs/fshelp.c: Likewise.
26659 * fs/ext2.c: Likewise.
26660 * fs/jfs.c: Likewise.
26661 * fs/reiserfs.c: Likewise.
26662 * fs/hfsplus.c: Likewise.
26663 * fs/minix.c: Likewise.
26664 * fs/cpio.c: Likewise.
26665 * fs/sfs.c: Likewise.
26666 * fs/ufs.c: Likewise.
26667 * efiemu/prepare.c: Likewise.
26668 * efiemu/loadcore_common.c: Likewise.
26669 * efiemu/runtime/efiemu.sh: Likewise.
26670 * efiemu/runtime/efiemu.S: Likewise.
26671 * efiemu/runtime/efiemu.c: Likewise.
26672 * efiemu/pnvram.c: Likewise.
26673 * efiemu/main.c: Likewise.
26674 * efiemu/i386/pc/cfgtables.c: Likewise.
26675 * efiemu/i386/loadcore64.c: Likewise.
26676 * efiemu/i386/loadcore32.c: Likewise.
26677 * efiemu/loadcore.c: Likewise.
26678 * efiemu/symbols.c: Likewise.
26679 * efiemu/mm.c: Likewise.
26680 * include/grub/autoefi.h: Likewise.
26681 * include/grub/datetime.h: Likewise.
26682 * include/grub/term.h: Likewise.
26683 * include/grub/hfs.h: Likewise.
26684 * include/grub/lvm.h: Likewise.
26685 * include/grub/i386/tsc.h: Likewise.
26686 * include/grub/i386/linux.h: Likewise.
26687 * include/grub/i386/xnu.h: Likewise.
26688 * include/grub/i386/efiemu.h: Likewise.
26689 * include/grub/i386/pc/biosdisk.h: Likewise.
26690 * include/grub/i386/pc/memory.h: Likewise.
26691 * include/grub/i386/pc/vbe.h: Likewise.
26692 * include/grub/parttool.h: Likewise.
26693 * include/grub/video.h: Likewise.
26694 * include/grub/memory.h: Likewise.
26695 * include/grub/fs.h: Likewise.
26696 * include/grub/partition.h: Likewise.
26697 * include/grub/xnu.h: Likewise.
26698 * include/grub/efi/api.h: Likewise.
26699 * include/grub/efi/pe32.h: Likewise.
26700 * include/grub/efi/memory.h: Likewise.
26701 * include/grub/multiboot.h: Likewise.
26702 * include/grub/usbdesc.h: Likewise.
26703 * include/grub/multiboot2.h: Likewise.
26704 * include/grub/acpi.h: Likewise.
26705 * include/grub/efiemu/efiemu.h: Likewise.
26706 * include/grub/disk.h: Likewise.
26707 * include/grub/ieee1275/ieee1275.h: Likewise.
26708 * include/grub/net.h: Likewise.
26709 * include/grub/machoload.h: Likewise.
26710 * include/grub/macho.h: Likewise.
26711 * include/multiboot.h: Likewise.
26712 * genmoddep.awk: Likewise.
26713 * normal/main.c: Likewise.
26714 * normal/menu_entry.c: Likewise.
26715 * normal/menu_viewer.c: Likewise.
26716 * normal/completion.c: Likewise.
26717 * normal/cmdline.c: Likewise.
26718 * normal/misc.c: Likewise.
26719 * normal/datetime.c: Likewise.
26720 * bus/usb/usbtrans.c: Likewise.
26721 * bus/usb/ohci.c: Likewise.
26722 * bus/usb/uhci.c: Likewise.
26723 * bus/usb/usb.c: Likewise.
26724 * mmap/efi/mmap.c: Likewise.
26725 * mmap/i386/pc/mmap_helper.S: Likewise.
26726 * mmap/i386/pc/mmap.c: Likewise.
26727 * mmap/i386/mmap.c: Likewise.
26728 * mmap/i386/uppermem.c: Likewise.
26729 * mmap/mmap.c: Likewise.
26730 * commands/acpi.c: Likewise.
26731 * commands/echo.c: Likewise.
26732 * commands/blocklist.c: Likewise.
26733 * commands/loadenv.c: Likewise.
26734 * commands/usbtest.c: Likewise.
26735 * commands/boot.c: Likewise.
26736 * commands/parttool.c: Likewise.
26737 * commands/search.c: Likewise.
26738 * commands/cat.c: Likewise.
26739 * commands/i386/pc/play.c: Likewise.
26740 * commands/i386/pc/drivemap.c: Likewise.
26741 * commands/i386/pc/vbeinfo.c: Likewise.
26742 * commands/i386/pc/acpi.c: Likewise.
26743 * commands/i386/pc/vbetest.c: Likewise.
26744 * commands/ls.c: Likewise.
26745 * commands/cmp.c: Likewise.
26746 * commands/test.c: Likewise.
26747 * commands/efi/acpi.c: Likewise.
26748 * commands/gptsync.c: Likewise.
26749 * commands/help.c: Likewise.
26750 * partmap/amiga.c: Likewise.
26751 * partmap/apple.c: Likewise.
26752 * partmap/acorn.c: Likewise.
26753 * partmap/pc.c: Likewise.
26754 * partmap/sun.c: Likewise.
26755 * partmap/gpt.c: Likewise.
26756 * script/sh/lexer.c: Likewise.
26757 * script/sh/function.c: Likewise.
26758 * font/font.c: Likewise.
26759 * font/font_cmd.c: Likewise.
26760 * loader/powerpc/ieee1275/linux.c: Likewise.
26761 * loader/efi/chainloader.c: Likewise.
26762 * loader/multiboot_loader.c: Likewise.
26763 * loader/macho.c: Likewise.
26764 * loader/i386/multiboot.c: Likewise.
26765 * loader/i386/linux.c: Likewise.
26766 * loader/i386/pc/linux.c: Likewise.
26767 * loader/i386/pc/multiboot2.c: Likewise.
26768 * loader/i386/pc/chainloader.c: Likewise.
26769 * loader/i386/pc/xnu.c: Likewise.
26770 * loader/i386/bsd_trampoline.S: Likewise.
26771 * loader/i386/efi/linux.c: Likewise.
26772 * loader/i386/multiboot_elfxx.c: Likewise.
26773 * loader/i386/bsd_helper.S: Likewise.
26774 * loader/i386/bsd.c: Likewise.
26775 * loader/i386/linux_trampoline.S: Likewise.
26776 * loader/i386/xnu_helper.S: Likewise.
26777 * loader/i386/xnu.c: Likewise.
26778 * loader/i386/bsd_pagetable.c: Likewise.
26779 * loader/i386/multiboot_helper.S: Likewise.
26780 * loader/xnu.c: Likewise.
26781 * loader/xnu_resume.c: Likewise.
26782 * io/gzio.c: Likewise.
26783 * term/efi/console.c: Likewise.
26784 * term/terminfo.c: Likewise.
26785 * term/ieee1275/ofconsole.c: Likewise.
26786 * term/i386/pc/serial.c: Likewise.
26787 * term/i386/pc/vesafb.c: Likewise.
26788 * term/i386/pc/vga.c: Likewise.
26789 * term/usb_keyboard.c: Likewise.
26790 * term/gfxterm.c: Likewise.
26791 * aclocal.m4: Likewise.
26792 * util/lvm.c: Likewise.
26793 * util/grub.d/30_os-prober.in: Likewise.
26794 * util/grub.d/10_hurd.in: Likewise.
26795 * util/console.c: Likewise.
26796 * util/grub-macho2img.c: Likewise.
26797 * util/grub-probe.c: Likewise.
26798 * util/hostfs.c: Likewise.
26799 * util/i386/pc/grub-mkimage.c: Likewise.
26800 * util/i386/pc/grub-setup.c: Likewise.
26801 * util/i386/efi/grub-mkimage.c: Likewise.
26802 * util/grub-mkconfig.in: Likewise.
26803 * util/raid.c: Likewise.
26804 * util/resolve.c: Likewise.
26805 * util/grub-mkdevicemap.c: Likewise.
26806 * util/grub-emu.c: Likewise.
26807 * util/getroot.c: Likewise.
26808 * util/hostdisk.c: Likewise.
26809 * util/usb.c: Likewise.
26810 * util/grub-editenv.c: Likewise.
26811 * util/misc.c: Likewise.
26812
d2d49665 268132009-06-10 Felix Zielcke <fzielcke@z-51.de>
26814
26815 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
26816 `genparttoollist.sh'.
26817 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
26818 Add `*.sh' to the list find searches for and change `mdate.sh'
26819 to `mdate-sh'.
26820
fe052e37 268212009-06-10 Pavel Roskin <proski@gnu.org>
26822
2763ac18 26823 * include/grub/multiboot2.h: Provide compatibility defines for
26824 multiboot2.h.
26825 * include/multiboot2.h: Include stdint.h only if needed, using
26826 angle brackets.
26827 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
26828 grub/multiboot2.h.
26829 * loader/ieee1275/multiboot2.c: Likewise.
26830 * loader/multiboot2.c: Likewise.
26831 * loader/multiboot_loader.c: Likewise.
26832
437e6adc 26833 * configure.ac: Use -nostdlib when probing for the target. It
26834 should not be required to have libc for the target.
26835
06a6836c 26836 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
26837 they fail without libc headers for the target.
26838 * include/grub/powerpc/libgcc.h: Use weak attribute for all
26839 exports.
26840 * include/grub/sparc64/libgcc.h: Likewise. Don't use
26841 preprocessor conditionals.
26842
fe052e37 26843 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
26844 build system doesn't need to be aware of the tar.c internals.
26845
afd22553 268462009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 26847
afd22553 26848 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 26849
6b787c4f 268502009-06-09 Robert Millan <rmh.grub@aybabtu.com>
26851
26852 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
26853 disk limit to 26 for IDE, Virtio, Xen and SCSI.
26854
268552009-06-09 Felix Zielcke <fzielcke@z-51.de>
26856
26857 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 26858 aren't available if ata.mod gets used.
6b787c4f 26859
473d1e45 268602009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 26861
473d1e45 26862 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 26863 initialising controller.
473d1e45 26864 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 26865
255a27d4 268662009-06-08 Felix Zielcke <fzielcke@z-51.de>
26867
26868 * util/i386/pc/grub-install.in: Add a parameter --disk-module
26869 to choose between ata and biosdisk module on i386-pc.
26870
473d1e45 268712009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 26872
d55842d8 26873 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
26874 Subclass and Programming Interface fields in terms of the 3 byte
26875 Class Code register.
26876 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26877
fa5db0b1 26878 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
26879 interface is OHCI. Add grub_dprintf for symmetry with
26880 bus/usb/uhci.c.
26881 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
26882 interface is UHCI. Add interf variable for programming
26883 interface. Print interface with class/subclass.
26884
c0947beb 26885 * bus/usb/ohci.c: Set interf with correct field.
26886
69da8877 26887 * bus/usb/uhci.c: Remove unneeded doubled lines.
26888 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
26889 Remove whitespace inside comment.
26890
9e172e30 268912009-06-08 Robert Millan <rmh.grub@aybabtu.com>
26892
26893 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
26894 as fallback an equivalent option without depth.
26895
de65ee2b 268962009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26897
26898 Not fail if unable to retrieve C/H/S on LBA disks
26899
473d1e45 26900 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 26901 if unable to retrieve C/H/S on LBA disks
26902
b57ea2c9 269032009-06-08 Pavel Roskin <proski@gnu.org>
26904
26905 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
26906 about aliasing.
26907
af361263 269082009-06-08 Felix Zielcke <fzielcke@z-51.de>
26909
26910 * Makefile.in (uninstall): Remove all $lib_DATA files.
26911
4c9ec6b3 269122009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26913
26914 Bugfix: install on partitionless device
26915
26916 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
26917 is a whole disk
26918
e76fc924 269192009-06-08 Felix Zielcke <fzielcke@z-51.de>
26920
26921 * Makefile.in (uninstall): Remove all $include_DATA files.
26922
ba5a0d05 269232009-06-08 Felix Zielcke <fzielcke@z-51.de>
26924
26925 * commands/true.c: New file. Implement the true and false commands.
26926 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
26927 (true_mod_SOURCES): New variable.
26928 (true_mod_CFLAGS): Likewise.
26929 (true_mod_LDFLAGS): Likewise.
26930
c8048e32 269312009-06-05 Colin D Bennett <colin@gibibit.com>
26932
26933 Optimized font character lookup using binary search instead of linear
26934 search. Fonts now are required to have the character index ordered by
26935 code point.
26936
26937 * font/font.c (load_font_index): Verify that fonts have ordered
26938 character indices.
26939 (find_glyph): Use binary search instead of linear search to find a
26940 character in a font.
26941
408305be 269422009-06-05 Michael Scherer <misc@mandriva.org>
26943
26944 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
26945 uses case sensitive btree.
26946 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
26947 only for case insensitive filesystems.
26948
8ee1e0d9 269492009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
26950
26951 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
26952 * conf/common.rmk (search_mod_CFLAGS): likewise
26953
a9966eb1 269542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26955
473d1e45 26956 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 26957 compensate a compiler bug
26958
9e7100fb 269592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26960
473d1e45 26961 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 26962 instead of '\b'
473d1e45 26963
ede21d71 269642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26965
26966 Definitions for creating asm symbols with Apple's CC
26967
26968 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
26969 [APPLE_CC] (VARIABLE): likewise
26970
9dbf7653 269712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26972
26973 Disable lnxboot.img when compiled
26974 with Apple's CC
26975
26976 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
26977 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
26978 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
26979 [! APPLE_CC] (CODE_LENG): skip
26980 [! APPLE_CC] (setup_sects): likewise
26981 [! APPLE_CC]: skip filling
473d1e45 26982
e93cdc3d 269832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26984
26985 Address in trampolines based on 32-bit registers when compiled
26986 with Apple's CC
26987
473d1e45 26988 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 26989 for addresses
26990 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
26991
6c688477 269922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26993
26994 Avoid aliases when compiling with Apple's CC for PCBIOS machine
26995
26996 * kern/misc.c [APPLE_CC] (memcpy): new function
26997 [APPLE_CC] (memmove): likewise
26998 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 26999 (memcpy): define alias conditionally on !APPLE_CC
6c688477 27000 (memset): likewise
27001 (abort): likewise
27002 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
27003 APPLE_CC are defined
27004 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
27005 (grub_assert_fail): make prototype conditional
27006
e37ffc5c 270072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27008
27009 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
27010
473d1e45 27011 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
27012 grub-macho2img
e37ffc5c 27013 (CLEANFILES): add grub-macho2img
27014 (grub_macho2img_SOURCES): new variable
27015 * kern/i386/pc/startup.S (bss_start): new variable
27016 (bss_end): likewise
27017 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
27018 * util/grub-macho2img.c: new file
27019
cf00df31 270202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27021
27022 Use objconv when compiling with Apple's CC
27023
27024 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
27025 (efiemu64.o): likewise
27026 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
27027 when compiling with Apple's CC
27028 (efiemu64_s.o): likewise
27029 * configure.ac: check for objconv when compiling with Apple's CC
27030 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 27031
d119a20c 270322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27033
27034 Define segment as well as section when compiling with
27035 Apple's CC
27036
27037 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
27038 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
27039 (efiemu_convert_pointer): likewise
27040 (efiemu_set_virtual_address_map): likewise
27041 (efiemu_convert_pointer): likewise
27042 (efiemu_getcrc32): likewise
27043 (init_crc32_table): likewise
27044 (reflect): likewise
27045 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
27046 (GRUB_MOD_DEP): likewise
473d1e45 27047
c8600122 270482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27049
27050 Allow a compilation without -mcmodel=large
27051
27052 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
27053 when compiled without -mcmodel=large
473d1e45 27054 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 27055 without -mcmodel=large
473d1e45 27056 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 27057 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 27058
e8df1d4e 270592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27060
27061 Remove nested functions in efiemu core
27062
27063 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 27064
cc6c3ac1 270652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27066
27067 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
27068
27069 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
27070 temporary storage
473d1e45 27071 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
27072 using Apple's CC
cc6c3ac1 27073 (grub_cpu_is_tsc_supported): likewise
27074 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 27075
3e325901 270762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27077
27078 Absolute addressing through constant with Apple's cc
27079
27080 * kern/i386/pc/startup.S: Define necessary constants
27081 and address through it when using ABS with Apple's CC
27082 * boot/i386/pc/diskboot.S: likewise
27083 * boot/i386/pc/boot.S: likewise
27084 * boot/i386/pc/lnxboot.S: likewise
27085 * boot/i386/pc/cdboot.S: likewise
27086 * mmap/i386/pc/mmap_helper.S: likewise
27087 * commands/i386/pc/drivemap_int13h.S: likewise
27088
2b167a72 270892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27090
27091 Check if compiler is apple cc
27092
27093 * Makefile.in (ASFLAGS): new variable
27094 (TARGET_ASFLAGS): likewise
27095 (TARGET_MODULE_FORMAT): likewise
27096 (TARGET_APPLE_CC): likewise
27097 (OBJCONV): likewise
27098 (TARGET_IMG_CFLAGS): likewise
27099 (TARGET_CPPFLAGS): add includedir
27100 * configure.ac: call grub_apple_cc and grub_apple_target_cc
27101 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
27102 Check for linker script only if compiler isn't Apple's CC
27103 (TARGET_MODULE_FORMAT): set
27104 (TARGET_APPLE_CC): likewise
27105 (TARGET_ASFLAGS): likewise
27106 (ASFLAGS): likewise
27107 Check for objcopy only if compiler isn't Apple's CC
27108 Check for BSS symbol only if compiler isn't Apple's CC
27109 * genmk.rb: adapt nm options if we use Apple's utils
27110 * aclocal.m4 (grub_apple_cc): new test
27111 (grub_apple_target_cc): likewise
473d1e45 27112
fb14123e 271132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27114
27115 Simplify sed expressions and improve awk
27116
27117 * Makefile.in (install-local): simplify sed expression
27118 * gencmdlist.sh: likewise
27119 * genmoddep.awk: avoid adding module as a dependency of itself
27120
5b889789 271212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27122
27123 Add missing start symbols
27124
27125 * boot/i386/pc/boot.S: add start
fb14123e 27126 * boot/i386/pc/pxeboot.S: likewise
473d1e45 27127
fd2bf2e3 271282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27129
27130 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 27131
27132 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 27133 (relocate_addresses): consider both r_addend and value at offset
27134 (make_mods_section): zerofill modinfo and header
27135 (convert_elf): write prefix here
473d1e45 27136
5389763d 271372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27138
27139 Use .asciz instead of .string
27140
27141 * i386/pc/diskboot.S: use .asciz instead of .string
27142 * i386/pc/boot.S: likewise
27143 * include/grub/dl.h (GRUB_MOD_DEP): likewise
27144 (GRUB_MOD_NAME): likewise
473d1e45 27145
3eb5ed4e 271462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27147
27148 gfxpayload support
27149
27150 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
27151 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
27152 (grub_video_setup): remove
27153 (grub_video_set_mode): new prototype
27154 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
27155 (vid_mode): remove
27156 (linux_vesafb_res): compile only on PCBIOS
27157 (grub_linux_boot): support gfxpayload
27158 * loader/i386/pc/xnu.c (video_hook): new function
27159 (grub_xnu_set_video): support gfxpayload
27160 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
27161 (DEFAULT_VIDEO_HEIGHT): likewise
27162 (DEFAULT_VIDEO_FLAGS): likewise
27163 (DEFAULT_VIDEO_MODE): new definition
27164 (video_hook): new function
27165 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 27166 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 27167 loading xnu
27168 * video/video.c (grub_video_setup): removed
473d1e45 27169 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 27170 grub_video_setup
27171
4b0e1143 271722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27173
27174 Avoid calling biosdisk in drivemap
27175
27176 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
27177 (revparse_biosdisk): likewise
27178 (list_mappings): derive name from id directly
27179 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 27180
fda6cb98 271812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27182
27183 Script fixes
27184
27185 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
27186 (grub_lexer_param): add tokenonhold
27187 (grub_script_create_cmdline): remove cmdline. All callers updated
27188 (grub_script_function_create): make functionname
27189 grub_script_arg. All callers updated
27190 (grub_script_execute_argument_to_string): new prototype
27191 * kern/parser.c (state_transitions): reorder
27192 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 27193 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 27194 make global
27195 (grub_script_execute_cmdline): use new format
27196 * script/sh/function.c (grub_script_function_create): make functionname
27197 grub_script_arg. All callers updated
473d1e45 27198 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 27199 (grub_script_yylex): remove
27200 (grub_script_yylex2): renamed to ...
27201 (grub_script_yylex): ...renamed
27202 parse the expressions like a${b}c
27203 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
27204 (GRUB_PARSER_TOKEN_VAR): remove
27205 (GRUB_PARSER_TOKEN_NAME): likewise
27206 ("if"): declare as typeless
27207 ("while"): likewise
27208 ("function"): likewise
27209 ("else"): likewise
27210 ("then"): likewise
27211 ("fi"): likewise
27212 (text): remove
27213 (argument): likewise
27214 (script): accept empty scripts and make exit on error
27215 (arguments): use GRUB_PARSER_TOKEN_ARG
27216 (function): likewise
27217 (command): move error handling to script
27218 (menuentry): move grub_script_lexer_ref before
473d1e45 27219 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 27220 argument. All callers updated
27221
f4448a07 272222009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27223
27224 Prevent GRUB from probing floppies during boot.
27225
27226 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
27227 * commands/search.c (options): Add --no-floppy.
27228 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
27229 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
27230 --no-floppy when searching for UUIDs.
27231
2bf5885a 272322009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27233
27234 Simplify the code duplication in commands/search.c.
27235
27236 * commands/search.c (search_label, search_fs_uuid): Merge into ...
27237 (search_fs): ... this. Update all users.
27238
f6fd460a 272392009-06-03 Felix Zielcke <fzielcke@z-51.de>
27240
27241 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
27242
cbb3c83e 272432009-05-28 Pavel Roskin <proski@gnu.org>
27244
57788cfd 27245 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
27246 Remove the original symlink explicitly.
27247
cbb3c83e 27248 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
27249 just one slash. That's how grub_fshelp_find_file() does it.
27250
cd0d5e30 272512009-05-26 Pavel Roskin <proski@gnu.org>
27252
f0f8bbe2 27253 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
27254 to `str'.
27255
cd0d5e30 27256 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
27257 possibly unused.
27258
8c2cab51 272592009-05-25 Christian Franke <franke@computer.org>
27260
27261 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
27262 register.
27263 (grub_atapi_identify): Add wait after drive select.
27264 (grub_ata_identify): Do more strict status register check before
27265 calling grub_atapi_identify (). Suppress error message if status
27266 register is 0x00 after command failure. Add status register
27267 check after PIO read to avoid bogus identify due to stuck DRQ.
27268 Thanks to Pavel Roskin for testing.
27269 (grub_device_initialize): Remove unsafe status register check.
27270 Thanks to 'phcoder' for problem report and patch.
27271 Prevent sign extension in debug message.
27272
230c0ad6 272732009-05-23 Colin D Bennett <colin@gibibit.com>
27274
27275 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27276 definition file, and functions defined in `normal/menu.c' have had
27277 their prototypes moved to `include/grub/menu.h' for consistency.
27278
27279 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27280 from normal.h.
27281 (grub_menu_get_entry): Likewise.
27282 (grub_menu_get_timeout): Likewise.
27283 (grub_menu_set_timeout): Likewise.
27284 (grub_menu_execute_entry): Likewise.
27285 (grub_menu_execute_with_fallback): Likewise.
27286 (grub_menu_entry_run): Likewise.
27287
27288 * include/grub/normal.h: Re-ordered and grouped function
27289 prototypes by file that the function is defined in.
27290 (grub_menu_execute_callback): Removed; moved to menu.h.
27291 (grub_menu_get_entry): Likewise.
27292 (grub_menu_get_timeout): Likewise.
27293 (grub_menu_set_timeout): Likewise.
27294 (grub_menu_execute_entry): Likewise.
27295 (grub_menu_execute_with_fallback): Likewise.
27296 (grub_menu_entry_run): Likewise.
27297 (grub_menu_addentry): Renamed from this ...
27298 (grub_normal_add_menu_entry): ... to this.
27299
27300 * normal/main.c (grub_menu_addentry): Renamed from this ...
27301 (grub_normal_add_menu_entry): ... to this.
27302
27303 * script/sh/execute.c (grub_script_execute_menuentry): Update
27304 reference to renamed grub_menu_addentry function.
27305
861f03a5 273062009-05-23 Felix Zielcke <fzielcke@z-51.de>
27307
27308 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27309
96b1619a 273102009-05-22 Pavel Roskin <proski@gnu.org>
27311
bf6a5fb2 27312 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27313 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27314 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27315 compiling for the i386 targets, but not for the utilities.
27316
96b1619a 27317 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27318 to grub_uint8_t.
27319 (grub_root_drive): Likewise.
27320 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27321 remove alignment.
27322 (grub_root_drive): Change size to byte.
27323 (grub_start_addr): Remove.
27324 (grub_end_addr): Likewise.
27325 (grub_apm_bios_info): Likewise.
27326
b729776b 273272009-05-21 Felix Zielcke <fzielcke@z-51.de>
27328
27329 * normal/i386: Remove.
27330 * normal/powerpc: Likewise.
27331 * normal/sparc64: Likewise.
27332 * normal/x86_64: Likewise.
27333
0a15ce80 273342009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27335
27336 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 27337 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 27338 * loader/i386/xnu_helper.S: Likewise
d6da58e6 27339
33db9015 273402009-05-18 Colin D Bennett <colin@gibibit.com>
27341
d6da58e6 27342 Display error messages when parsing a Lua statement fails.
27343 Previously, executing a syntactically invalid statement like
27344 ")foo" or "bar;" would silently fail.
33db9015 27345
27346 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 27347 (grub_lua_parse_line): Improved reporting of Lua parser and
27348 execution errors.
33db9015 27349
46422c89 273502009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27351
27352 Remove -Werror which causes build to fail on some systems
27353
27354 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
27355 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
27356 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 27357
22f53a96 273582009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27359
27360 trampoline for linux on 64-bit platform
27361
18f547ad 27362 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
27363 loader/i386/efi/linux_trampoline.S
27364 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 27365 declaration
d6da58e6 27366 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
27367 here
22f53a96 27368 * loader/i386/linux_trampoline.S: moved here
d6da58e6 27369 * loader/i386/efi/linux.c (allocate_pages): reserve space for
27370 trampoline
22f53a96 27371 (jumpvector): removed
27372 (grub_linux_trampoline_start): new declaration
27373 (grub_linux_trampoline_end): likewise
27374 (grub_linux_boot): use trampoline when on 64-bit platform
27375 * loader/i386/linux.c: likewise
27376
cb5a0f40 273772009-05-16 Pavel Roskin <proski@gnu.org>
27378
27379 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
27380 const to avoid a warning.
27381 (grub_lua_setenv): Likewise.
27382 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
27383 lmsg to fix a warning.
27384
334f2c28 273852009-05-16 Felix Zielcke <fzielcke@z-51.de>
27386
27387 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 27388 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27389 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
27390 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27391 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27392 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27393 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27394 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 27395
59e5d3ec 273962009-05-16 Felix Zielcke <fzielcke@z-51.de>
27397
27398 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
27399
9d87a1ba 274002009-05-16 Bean <bean123ch@gmail.com>
27401
27402 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
27403 (lua_mod_SOURCES): New variable.
27404 (lua_mod_CFLAGS): Likewise.
27405 (lua_mod_LDFLAGS): Likewise.
27406
27407 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
27408 (setjmp_mod_SOURCES): New variable.
27409 (setjmp_mod_CFLAGS): Likewise.
27410 (setjmp_LDFLAGS): Likewise.
27411
27412 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
27413 (setjmp_mod_SOURCES): New variable.
27414 (setjmp_mod_CFLAGS): Likewise.
27415 (setjmp_LDFLAGS): Likewise.
27416
27417 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27418 (setjmp_mod_SOURCES): New variable.
27419 (setjmp_mod_CFLAGS): Likewise.
27420 (setjmp_LDFLAGS): Likewise.
27421
27422 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27423 (setjmp_mod_SOURCES): New variable.
27424 (setjmp_mod_CFLAGS): Likewise.
27425 (setjmp_LDFLAGS): Likewise.
27426
27427 * normal/i386/setjmp.S: Moved from here ...
27428 * lib/i386/setjmp.S: ... Moved here
27429 * normal/x86_64/setjmp.S: Moved from here ...
27430 * lib/x86_64/setjmp.S: ... Moved here
27431 * normal/powerpc/setjmp.S: Moved from here ...
27432 * lib/powerpc/setjmp.S: ... Moved here
27433 * normal/sparc64/setjmp.S: Moved from here ...
27434 * lib/sparc64/setjmp.S: ... Moved here
27435
27436 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
27437 returns_twice in mingw.
27438
27439 * script/lua/grub_lib.c: New file.
27440 * script/lua/grub_lib.h: Likewise.
27441 * script/lua/grub_lua.h: Likewise.
27442 * script/lua/grub_main.c: Likewise.
27443 * script/lua/lapi.c: Likewise.
27444 * script/lua/lapi.h: Likewise.
27445 * script/lua/lauxlib.c: Likewise.
27446 * script/lua/lauxlib.h: Likewise.
27447 * script/lua/lbaselib.c: Likewise.
27448 * script/lua/lcode.c: Likewise.
27449 * script/lua/lcode.h: Likewise.
27450 * script/lua/ldblib.c: Likewise.
27451 * script/lua/ldebug.c: Likewise.
27452 * script/lua/ldebug.h: Likewise.
27453 * script/lua/ldo.c: Likewise.
27454 * script/lua/ldo.h: Likewise.
27455 * script/lua/ldump.c: Likewise.
27456 * script/lua/lfunc.c: Likewise.
27457 * script/lua/lfunc.h: Likewise.
27458 * script/lua/lgc.c: Likewise.
27459 * script/lua/lgc.h: Likewise.
27460 * script/lua/linit.c: Likewise.
27461 * script/lua/liolib.c: Likewise.
27462 * script/lua/llex.c: Likewise.
27463 * script/lua/llex.h: Likewise.
27464 * script/lua/llimits.h: Likewise.
27465 * script/lua/lmathlib.c: Likewise.
27466 * script/lua/lmem.c: Likewise.
27467 * script/lua/lmem.h: Likewise.
27468 * script/lua/loadlib.c: Likewise.
27469 * script/lua/lobject.c: Likewise.
27470 * script/lua/lobject.h: Likewise.
27471 * script/lua/lopcodes.c: Likewise.
27472 * script/lua/lopcodes.h: Likewise.
27473 * script/lua/loslib.c: Likewise.
27474 * script/lua/lparser.c: Likewise.
27475 * script/lua/lparser.h: Likewise.
27476 * script/lua/lstate.c: Likewise.
27477 * script/lua/lstate.h: Likewise.
27478 * script/lua/lstring.c: Likewise.
27479 * script/lua/lstring.h: Likewise.
27480 * script/lua/lstrlib.c: Likewise.
27481 * script/lua/ltable.c: Likewise.
27482 * script/lua/ltable.h: Likewise.
27483 * script/lua/ltablib.c: Likewise.
27484 * script/lua/ltm.c: Likewise.
27485 * script/lua/ltm.h: Likewise.
27486 * script/lua/lua.h: Likewise.
27487 * script/lua/luaconf.h: Likewise.
27488 * script/lua/lualib.h: Likewise.
27489 * script/lua/lundump.c: Likewise.
27490 * script/lua/lundump.h: Likewise.
27491 * script/lua/lvm.c: Likewise.
27492 * script/lua/lvm.h: Likewise.
27493 * script/lua/lzio.c: Likewise.
27494 * script/lua/lzio.h: Likewise.
27495
5e898c9d 274962009-05-16 Bean <bean123ch@gmail.com>
27497
27498 * include/grub/kernel.h (grub_module_header_types): Add type
27499 OBJ_TYPE_CONFIG.
27500
27501 * kern/main.c (grub_load_config): New function.
27502 (grub_main): Call grub_load_config to read boot config.
27503
27504 * grub-mkimage (generate_image): New parameter config_path.
27505 (options): New option --config.
27506 (main): Parse --config option, and pass it to generate_image.
27507
cf353a47 275082009-05-14 Christian Franke <franke@computer.org>
27509
27510 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
27511 This fixes build on Cygwin.
27512
3834887f 275132009-05-14 Pavel Roskin <proski@gnu.org>
27514
27515 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
27516 jump. This saves two bytes, so the typical case of 2 swapped
27517 drives would fit 32 bytes.
27518
8090fc01 275192009-05-13 Pavel Roskin <proski@gnu.org>
27520
ac963883 27521 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
27522 grub_uint32_t to avoid a warning.
27523
8090fc01 27524 * loader/i386/linux.c (allocate_pages): When assigning
27525 real_mode_mem, cast through grub_size_t to fix a warning. The
27526 code already makes sure that the value would fit a pointer.
27527 (grub_linux_setup_video): Cast render_target->data to
27528 grub_size_t to fix a warning.
27529
18f547ad 275302009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 27531
27532 * commands/i386/pc/drivemap.c: New file - implement drivemap
27533 command.
27534 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
27535 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
27536
6f6a8b28 275372009-05-13 Pavel Roskin <proski@gnu.org>
27538
27539 * util/i386/pc/grub-setup.c (setup): Remove unused variable
27540 embedding_area_exists.
27541
15fbf4c4 275422009-05-13 Robert Millan <rmh.grub@aybabtu.com>
27543
27544 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
27545 it easier to understand / work with.
59978c8a 27546 Improve warning messages for cases where there's no embedding area,
27547 or when it is too small (or core.img too large).
15fbf4c4 27548
238e871f 275492009-05-13 Pavel Roskin <proski@gnu.org>
27550
0ab3a9a4 27551 * loader/i386/pc/multiboot2.c: Add necessary includes for
27552 grub_multiboot2_real_boot().
27553
a2c8c5f8 27554 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
27555 PX record is always little-endian. We only need the lower 2
27556 bytes of the mode.
27557
faec96af 27558 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
27559 facilitate code reuse.
27560 (grub_cpio_mount): Use "struct head", not a char buffer. This
27561 fixes a warning reported by gcc 4.4.
27562
238e871f 27563 * kernel/disk.c (grub_disk_read): Use void pointer for the
27564 buffer.
27565 (grub_disk_write): Use const void pointer for the buffer.
27566 Adjust all callers. Remove unnecessary casts.
27567
901d2f0c 275682009-05-10 Robert Millan <rmh.grub@aybabtu.com>
27569
27570 * util/i386/pc/grub-install.in: Update copyright year.
27571
18f547ad 275722009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 27573
27574 gptsync
27575
27576 * commands/gptsync.c: new file
27577 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
27578 (gptsync_mod_SOURCES): new variable
27579 (gptsync_mod_CFLAGS): likewise
27580 (gptsync_mod_LDFLAGS): likewise
18f547ad 27581 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 27582 new definition
27583 (GRUB_PC_PARTITION_TYPE_HFS): likewise
27584 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
27585 * conf/i386-ieee1275.rmk: likewise
27586 * conf/i386-pc.rmk: likewise
27587 * conf/powerpc-ieee1275.rmk: likewise
27588
b4ba690a 275892009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27590
27591 Fixed grub-emu
27592
27593 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
27594 (grub_dl_ref): likewise
27595
317e1a44 275962009-05-08 Robert Millan <rmh.grub@aybabtu.com>
27597
27598 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
27599 split in two functions (one for msdos and one for gpt).
27600
041b8094 276012009-05-08 Pavel Roskin <proski@gnu.org>
27602
752473c2 27603 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
27604 not modified.
27605
041b8094 27606 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
27607 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
27608 Initialize them with -1. Add sanity check for bad1. Eliminate
27609 nerr variable.
27610
172800ce 276112009-05-08 David S. Miller <davem@davemloft.net>
27612
27613 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
27614
29aa5e81 276152009-05-06 Robert Millan <rmh.grub@aybabtu.com>
27616
27617 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 27618 existence.
29aa5e81 27619
96613b62 276202009-05-05 Felix Zielcke <fzielcke@z-51.de>
27621
27622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 27623 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 27624
eef73c8a 276252009-05-05 David S. Miller <davem@davemloft.net>
27626
27627 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
27628
119494b5 276292009-05-05 Pavel Roskin <proski@gnu.org>
27630
27631 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
27632 of grub_dl_ref() and grub_dl_unref().
27633 * commands/parttool.c: Remove preprocessor conditionals around
27634 grub_dl_ref() and grub_dl_unref().
27635 * fs/affs.c: Likewise.
27636 * fs/afs.c: Likewise.
27637 * fs/cpio.c: Likewise.
27638 * fs/ext2.c: Likewise.
27639 * fs/fat.c: Likewise.
27640 * fs/hfs.c: Likewise.
27641 * fs/hfsplus.c: Likewise.
27642 * fs/iso9660.c: Likewise.
27643 * fs/jfs.c: Likewise.
27644 * fs/minix.c: Likewise.
27645 * fs/ntfs.c: Likewise.
27646 * fs/reiserfs.c: Likewise.
27647 * fs/sfs.c: Likewise.
27648 * fs/udf.c: Likewise.
27649 * fs/ufs.c: Likewise.
27650 * fs/xfs.c: Likewise.
27651 * include/grub/dl.h: Likewise.
27652 * loader/xnu.c: Likewise.
27653
de5fd76e 276542009-05-04 Pavel Roskin <proski@gnu.org>
27655
27656 * commands/acpi.c: Remove unused variable my_mod.
27657 * partmap/amiga.c: Likewise.
27658 * partmap/apple.c: Likewise.
27659 * partmap/gpt.c: Likewise.
27660 * partmap/pc.c: Likewise.
27661 * partmap/sun.c: Likewise.
27662 * term/gfxterm.c: Likewise.
27663 * term/i386/pc/vesafb.c: Likewise.
27664 * term/i386/pc/vga.c: Likewise.
27665
983598ad 276662009-05-04 David S. Miller <davem@davemloft.net>
27667
27668 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
27669 pointer args to grub_ieee1275_get_property().
27670
8aadec43 27671 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
27672
9554b15e 27673 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
27674 devices, and do not traverse down under controller nodes.
27675
67e23c90 27676 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
27677 (grub_ofdisk_open): Use it to un-escape "," characters.
27678 * kern/disk.c (find_part_sep): New.
27679 (grub_disk_open): Use it to find the first non-escaped ','
27680 character in the disk name.
27681 * util/ieee1275/devicemap.c (escape_of_path): New.
27682 (grub_util_emit_devicemap_entry): Use it.
27683 * util/sparc64/ieee1275/grub-install.in: Update script to
27684 strip partition specifiers properly by not triggering on
27685 '\' escaped ',' characters.
27686
74bfdd2f 276872009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27688
27689 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
27690 to 0x300.
27691 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
27692 resolutions.
27693 (linux_vesafb_modes): Add a lot of additional modes to the list (based
27694 on documentation from Wikipedia).
27695
4241d2b1 276962009-05-04 Pavel Roskin <proski@gnu.org>
27697
27698 * disk/ata.c: Spelling fixes.
27699 * disk/raid.c: Likewise.
27700 * disk/usbms.c: Likewise.
27701 * disk/dmraid_nvidia.c: Likewise.
27702 * kern/ieee1275/openfw.c: Likewise.
27703 * kern/ieee1275/init.c: Likewise.
27704 * kern/ieee1275/cmain.c: Likewise.
27705 * boot/i386/pc/cdboot.S: Likewise.
27706 * video/readers/png.c: Likewise.
27707 * video/i386/pc/vbe.c: Likewise.
27708 * fs/udf.c: Likewise.
27709 * fs/hfs.c: Likewise.
27710 * fs/reiserfs.c: Likewise.
27711 * efiemu/runtime/efiemu.c: Likewise.
27712 * efiemu/main.c: Likewise.
27713 * efiemu/mm.c: Likewise.
27714 * include/grub/elf.h: Likewise.
27715 * include/grub/xnu.h: Likewise.
27716 * include/grub/usbdesc.h: Likewise.
27717 * include/grub/usb.h: Likewise.
27718 * include/grub/script_sh.h: Likewise.
27719 * include/grub/lib/LzmaEnc.h: Likewise.
27720 * include/grub/efiemu/efiemu.h: Likewise.
27721 * include/grub/command.h: Likewise.
27722 * normal/menu.c: Likewise.
27723 * normal/main.c: Likewise.
27724 * normal/datetime.c: Likewise.
27725 * bus/usb/uhci.c: Likewise.
27726 * mmap/i386/uppermem.c: Likewise.
27727 * mmap/mmap.c: Likewise.
27728 * commands/acpi.c: Likewise.
27729 * commands/test.c: Likewise.
27730 * partmap/apple.c: Likewise.
27731 * font/font.c: Likewise.
27732 * loader/sparc64/ieee1275/linux.c: Likewise.
27733 * loader/macho.c: Likewise.
27734 * loader/i386/bsd_trampoline.S: Likewise.
27735 * loader/i386/bsd.c: Likewise.
27736 * loader/xnu.c: Likewise.
27737 * term/i386/pc/vesafb.c: Likewise.
27738 * term/usb_keyboard.c: Likewise.
27739 * util/resolve.c: Likewise.
27740 * util/getroot.c: Likewise.
27741
0cfc0083 277422009-05-04 Felix Zielcke <fzielcke@z-51.de>
27743
27744 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
27745
7c1d00cd 277462009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27747
27748 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
27749 build error.
27750
b01f0548 277512009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27752
27753 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
27754 parameter only available on BIOS.
27755
ecc3eb22 277562009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27757
27758 Removed wrong semicolon in declaration
27759
27760 * grub/misc.h (grub_dprintf): remove semicolon
27761
112972a9 277622009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27763
27764 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
27765 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
27766 is done by grub_cmd_linux() now).
27767 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
27768 restore video to text mode.
27769 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
27770 indicates lack of "vga=" parameter. "vga=0" is mapped to
27771 `GRUB_LINUX_VID_MODE_NORMAL'.
27772
afd5c115 277732009-05-04 Felix Zielcke <fzielcke@z-51.de>
27774
27775 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
27776 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
27777 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 27778 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 27779 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
27780 `grub_script.tab.c'.
27781
27782 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27783 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27785 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27786 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27787
faa517ce 27788 * Makefile.in: Remove duplicated 2008 in Copyright line.
27789
ae0c0bdc 277902009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27791
473d1e45 27792 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 27793 unconditionally.
27794 * include/grub/util/misc.h (grub_util_warn): New declaration.
27795
27796 * util/i386/pc/grub-install.in: Understand --force and pass it down
27797 to grub-setup.
27798
27799 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
27800 down to setup().
27801 (setup): Improve error messages and add warnings when requested to
27802 install in odd layouts. Refuse to install using blocklists unless
27803 --force was set.
27804
18f547ad 278052009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 27806
27807 * disk/raid.c (grub_raid_scan_device): Improve debug message.
27808
6d260daa 278092009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27810
27811 Updated copyright year
27812
27813 * fs/hfsplus.c: updated copyright year
18f547ad 27814
69f853f8 278152009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27816
27817 HFS+ UUID
27818
18f547ad 27819 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 27820 in the space previously used by unused3
27821 (grub_hfsplus_uuid): new function
27822 (grub_hfsplus_fs): added uuid field
27823
4c402e73 278242009-05-03 Pavel Roskin <proski@gnu.org>
27825
27826 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
27827 suppress warnings. It's no longer needed.
27828 * disk/host.c: Likewise.
27829 * disk/ata_pthru.c: Likewise.
27830 * disk/loopback.c: Likewise.
27831 * hook/datehook.c: Likewise.
27832 * parttool/pcpart.c: Likewise.
27833 * fs/i386/pc/pxe.c: Likewise.
27834 * fs/ntfscomp.c: Likewise.
27835 * efiemu/main.c: Likewise.
27836 * mmap/mmap.c: Likewise.
27837 * commands/crc.c: Likewise.
27838 * commands/hexdump.c: Likewise.
27839 * commands/hdparm.c: Likewise.
27840 * commands/acpi.c: Likewise.
27841 * commands/echo.c: Likewise.
27842 * commands/minicmd.c: Likewise.
27843 * commands/blocklist.c: Likewise.
27844 * commands/memrw.c: Likewise.
27845 * commands/loadenv.c: Likewise.
27846 * commands/usbtest.c: Likewise.
27847 * commands/lsmmap.c: Likewise.
27848 * commands/boot.c: Likewise.
27849 * commands/parttool.c: Likewise.
27850 * commands/configfile.c: Likewise.
27851 * commands/search.c: Likewise.
27852 * commands/ieee1275/suspend.c: Likewise.
27853 * commands/cat.c: Likewise.
27854 * commands/i386/pc/pxecmd.c: Likewise.
27855 * commands/i386/pc/play.c: Likewise.
27856 * commands/i386/pc/halt.c: Likewise.
27857 * commands/i386/pc/vbeinfo.c: Likewise.
27858 * commands/i386/pc/vbetest.c: Likewise.
27859 * commands/lspci.c: Likewise.
27860 * commands/date.c: Likewise.
27861 * commands/handler.c: Likewise.
27862 * commands/ls.c: Likewise.
27863 * commands/test.c: Likewise.
27864 * commands/cmp.c: Likewise.
27865 * commands/efi/loadbios.c: Likewise.
27866 * commands/efi/fixvideo.c: Likewise.
27867 * commands/halt.c: Likewise.
27868 * commands/help.c: Likewise.
27869 * commands/reboot.c: Likewise.
27870 * hello/hello.c: Likewise.
27871 * script/sh/main.c: Likewise.
27872 * loader/xnu.c: Likewise.
27873 * term/terminfo.c: Likewise.
27874 * term/i386/pc/serial.c: Likewise.
27875 * term/usb_keyboard.c: Likewise.
27876
515b5079 278772009-05-03 David S. Miller <davem@davemloft.net>
27878
27879 * normal/menu.c: Include grub/parser.h
27880
dfc31a22 278812009-05-03 Pavel Roskin <proski@gnu.org>
27882
2fee74f1 27883 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
27884 not char*.
27885 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
27886 Suggested by Javier Martín <lordhabbit@gmail.com>
27887
dfc31a22 27888 * util/i386/pc/grub-mkrescue.in: Allow for the case when
27889 efiemu??.o doesn't exist.
27890 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
27891 copying.
27892
18f547ad 278932009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 27894
27895 FreeBSD 64-bit support
27896
18f547ad 27897 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 27898 and loader/i386/bsd_trampoline.S
27899 (bsd_mod_ASFLAGS): new variable
27900 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
27901 (FREEBSD_MODTYPE_KERNEL64): likewise
27902 (grub_bsd64_trampoline_start): likewise
27903 (grub_bsd64_trampoline_end): likewise
27904 (grub_bsd64_trampoline_selfjump): likewise
27905 (grub_bsd64_trampoline_gdt): likewise
27906 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
27907 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
27908 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
27909 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 27910 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 27911 of "attrib" member
27912 * loader/i386/bsd_pagetable.c: new file
27913 * loader/i386/bsd_trampoline.S: likewise
27914 * loader/i386/bsd.c (ALIGN_QWORD): new macro
27915 (ALIGN_VAR): likewise
27916 (entry_hi): new variable
27917 (kern_end_mdofs): likewise
27918 (is_64bit): likewise
27919 (grub_freebsd_add_meta): use ALIGN_VAR
27920 (grub_e820_mmap): new declaration
27921 (grub_freebsd_add_mmap): new function
27922 (grub_freebsd_add_meta_module): support 64 bit kernels
27923 (grub_freebsd_list_modules): use ALIGN_VAR
27924 (gdt_descriptor): new declaration
27925 (grub_freebsd_boot): support 64 bit kernels
27926 (grub_bsd_elf64_hook): new function
27927 (grub_bsd_load_elf): support elf64
27928
038c5720 279292009-05-03 Bean <bean123ch@gmail.com>
27930
27931 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
27932 after we get the result of if statement.
27933
fc45fb58 279342009-05-03 Bean <bean123ch@gmail.com>
27935
27936 * Makefile.in (enable_efiemu): New variable.
27937
27938 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
27939 set.
27940 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
27941 path.
27942 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
27943 path, add -mno-red-zone option.
27944 (efiemu64_s.o): Likewise.
27945 (efiemu64.o): Use macro $^ for source file.
27946
27947 * configure.ac (--enable-efiemu): New option.
27948
bbee0f2b 279492009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27950
27951 xnu support
27952
27953 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
27954 (pkglib_MODULES): add xnu.mod
27955 (xnu_mod_SOURCES): new variable
27956 (xnu_mod_CFLAGS): likewise
27957 (xnu_mod_LDFLAGS): likewise
27958 (xnu_mod_ASFLAGS): likewise
27959 * conf/i386-pc.rmk: likewise
27960 * conf/x86_64-efi.rmk: likewise
7dd4a573 27961 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 27962 new declaration
27963 * include/grub/i386/macho.h: new file
27964 * include/grub/i386/xnu.h: likewise
27965 * include/grub/macho.h: likewise
27966 * include/grub/machoload.h: likewise
27967 * include/grub/x86_64/macho.h: likewise
27968 * include/grub/x86_64/xnu.h: likewise
27969 * include/grub/xnu.h: likewise
27970 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
27971 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
27972 * loader/i386/efi/xnu.c: new file
27973 * loader/i386/pc/xnu.c: likewise
27974 * loader/i386/xnu.c: likewise
27975 * loader/i386/xnu_helper.S: likewise
27976 * loader/macho.c: likewise
27977 * loader/xnu.c: likewise
27978 * loader/xnu_resume.c: likewise
27979 * util/grub-dumpdevtree: likewise
27980 * include/grub/i386/pit.h: include grub/err.h
27981 (grub_pit_wait): export
27982 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 27983
5caf964d 279842009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27985
27986 Efiemu
7dd4a573 27987
5caf964d 27988 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 27989 _linux_efi, linux_efi.
27990 new files in grub-emu
5caf964d 27991 new targets efiemu32.o and efiemu64.o
27992 * loader/linux_normal_efiemu.c: likewise
27993 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 27994 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 27995 files to copy
27996 * include/grub/autoefi.h: new file
7dd4a573 27997 * include/grub/i386/efiemu.h: likewise
5caf964d 27998 * include/grub/i386/pc/efiemu.h: likewise
27999 * include/grub/efi/api.h: add LL suffix when necessary
28000 new definitions relating to tables
28001 * include/grub/efiemu/efiemu.h: new file
28002 * include/grub/efiemu/runtime.h: likewise
28003 * efiemu/prepare.c: likewise
28004 * efiemu/loadcore_common.c: likewise
28005 * efiemu/loadcore64.c: likewise
28006 * efiemu/runtime/efiemu.sh: likewise
28007 * efiemu/runtime/efiemu.S: likewise
28008 * efiemu/runtime/efiemu.c: likewise
28009 * efiemu/runtime/config.h: likewise
28010 * efiemu/prepare32.c: likewise
28011 * efiemu/main.c: likewise
28012 * efiemu/modules/pnvram.c: likewise
28013 * efiemu/modules/i386: likewise
28014 * efiemu/modules/i386/pc: likewise
28015 * efiemu/modules/acpi.c: likewise
28016 * efiemu/i386/pc/cfgtables.c: likewise
28017 * efiemu/i386/loadcore64.c: likewise
28018 * efiemu/i386/loadcore32.c: likewise
28019 * efiemu/prepare64.c: likewise
28020 * efiemu/loadcore.c: likewise
28021 * efiemu/symbols.c: likewise
28022 * efiemu/mm.c: likewise
28023 * efiemu/loadcore32.c: likewise
7dd4a573 28024
280252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 28026
28027 ACPI spoofing
28028
28029 * commands/acpi.c: new file
28030 * commands/i386/pc/acpi.c: likewise
28031 * commands/efi/acpi.c: likewise
28032 * include/grub/acpi.h: likewise
28033 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
28034 (acpi_mod_SOURCES): new variable
28035 (acpi_mod_CFLAGS): likewise
28036 (acpi_mod_LDFLAGS): likewise
28037 * conf/i386-efi.rmk: likewise
28038 * conf/x86_64-efi.rmk: likewise
28039
7dd4a573 280402009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 28041
28042 Missing part from mmap patch
28043
28044 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
28045 (grub_mmap_unregister)
28046 (grub_mmap_free_and_unregister): use grub_mmap_register
28047
7dd4a573 280482009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 28049
28050 Mmap services
28051
28052 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
28053 * loader/i386/linux.c (find_mmap_size): likewise
28054 (allocate_pages): likewise
28055 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
28056 (grub_fill_multiboot_mmap): likewise
28057 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
28058 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
28059 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
28060 (OPENBSD_MMAP_RESERVED): likewise
28061 * include/grub/i386/pc/memory.h: include grub/memory.h
28062 (grub_lower_mem): removed
28063 (grub_upper_mem): likewise
28064 (GRUB_MACHINE_MEMORY_ACPI): new definition
28065 (GRUB_MACHINE_MEMORY_NVS): likewise
28066 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
28067 (GRUB_MACHINE_MEMORY_HOLE): likewise
28068 (grub_machine_mmap_register): likewise
28069 (grub_machine_mmap_unregister): likewise
28070 (grub_machine_get_upper): likewise
28071 (grub_machine_get_lower): likewise
28072 (grub_machine_get_post64): likewise
28073 * include/grub/i386/efi/memory.h: new file
28074 * include/grub/x86_64/efi/memory.h: likewise
28075 * include/grub/efi/memory.h: likewise
28076 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
28077 (mmap_mod_SOURCES): new variable
28078 (mmap_mod_LDFLAGS): likewise
28079 (mmap_mod_ASFLAGS): likewise
28080 * conf/i386-coreboot.rmk: likewise
28081 * conf/i386-ieee1275.rmk: likewise
28082 * conf/i386-efi.rmk: likewise
28083 * conf/x86_64-efi.rmk: likewise
28084 * include/grub/types.h (UINT_TO_PTR): new macro
28085 (PTR_TO_UINT32): likewise
28086 (PTR_TO_UINT64): likewise
28087 * include/grub/memory.h: new file
28088 * mmap/i386/pc/mmap.c: likewise
28089 * mmap/i386/pc/mmap_helper.S: likewise
28090 * mmap/i386/uppermem.c: likewise
28091 * mmap/mmap.c: likewise
28092 * mmap/efi/mmap.c: likewise
7dd4a573 28093 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 28094 grub_upper_mem
28095 * kern/i386/pc/init.c (grub_lower_mem): removed variable
28096 (grub_upper_mem): likewise
28097 (grub_machine_init): don't use grub_upper_mem,
28098 make grub_lower_mem local
28099 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
28100 grub_mmap_iterate and grub_mmap_get_upper
28101 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
28102
d558e6b5 281032009-05-02 Bean <bean123ch@gmail.com>
28104
28105 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
28106 script/sh/parser.y.
28107 (pkglib_MODULES): Add normal.mod and sh.mod.
28108 (normal_SOURCES): New variable.
28109 (normal_mod_CFLAGS): Likewise.
28110 (normal_mod_LDFLAGS): Likewise.
28111 (sh_mod_SOURCES): Likewise.
28112 (sh_mod_CFLAGS): Likewise.
28113 (sh_mod_LDFLAGS): Likewise.
28114
28115 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
28116 script/sh/lexer.c_DEPENDENCIES.
28117 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
28118 kern/rescue_reader.c and kern/rescue_parser.c.
28119 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
28120 (grub_emu_SOURCES): Change source files.
28121 (pkglib_MODULES): Remove normal.mod.
28122 (normal_SOURCES): Removed.
28123 (normal_mod_CFLAGS): Likewise.
28124 (normal_mod_LDFLAGS): Likewise.
28125 * conf/i386-coreboot.rmk: Likewise.
28126 * conf/i386-efi.rmk: Likewise.
28127 * conf/i386-ieee1276.rmk: Likewise.
28128 * conf/powerpc-ieee1275.rmk: Likewise.
28129 * conf/sparc64-ieee1275.rmk: Likewise.
28130 * conf/x86_64-efi.rmk: Likewise.
28131
28132 * include/grub/command.h (grub_command_execute): New inline function.
28133
28134 * include/grub/menu.h (grub_menu_entry): Removed commands field.
28135
28136 * include/grub/normal.h: Remove <grub/setjmp.h>.
28137 (grub_fs_module_list): Moved to normal/autofs.c.
28138 (grub_exit_env): Removed.
28139 (grub_command_execute): Likewise.
28140 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
28141 parameter script.
28142 (read_command_list): New function declaration.
28143 (read_fs_list): Likewise.
28144
28145 * include/parser.h: Include <grub/reader.h>.
28146 (grub_parser_split_cmdline): Change type of getline parameter.
28147 (grub_parser): New structure.
28148 (grub_parser_class): New variable.
28149 (grub_parser_execute): New function declaration.
28150 (grub_register_rescue_parser): Likewise.
28151 (grub_parser_register): New inline function.
28152 (grub_parser_unregister): Likewise.
28153 (grub_parser_get_current): Likewise.
28154 (grub_parser_set_current): Likewise.
28155
28156 * include/grub/reader.h: New file.
28157 * kern/reader.c: Likewise.
28158 * kern/rescue_parser.c: Likewise.
28159 * kern/rescue_reader.c: Likewise.
28160 * normal/autofs.c: Likewise.
28161 * normal/dyncmd.c: Likewise.
28162
28163 * include/grub/rescue.h: Removed.
28164 * normal/command.h: Likewise.
28165
28166 * include/grub/script.h: Moved to ...
28167 * include/grub/script_sh.h: ... Moved here.
28168 * normal/execute.c: Moved to ...
28169 * script/sh/execute.c: ... Moved here.
28170 * normal/function.c: Moved to ...
28171 * script/sh/function.c: ... Moved here.
28172 * normal/lexer.c: Moved to ...
28173 * script/sh/lexer.c: ... Moved here.
28174 * normal/parser.y: Moved to ...
28175 * script/sh/parser.y: ... Moved here.
28176 * normal/script.c: Moved to ...
28177 * script/sh/script.c: ... Moved here.
28178
28179 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
28180 <grub/reader.h>.
28181 (grub_exit_env): Removed.
28182 (fs_module_list): Moved to normal/autofs.c.
28183 (grub_file_getline): Don't handle comment here.
28184 (free_menu): Skip removed field entry->commands.
28185 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
28186 script parameter.
28187 (read_config_file): Removed nested parameter, change getline function.
28188 (grub_enter_normal_mode): Removed.
28189 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
28190 (read_command_list): Likewise.
28191 (autoload_fs_module): Moved to normal/autofs.c.
28192 (read_fs_list): Likewise.
28193 (reader_nested): New variable.
28194 (grub_normal_execute): Run parser.sh to switch to sh parser.
28195 (grub_cmd_rescue): Removed.
28196 (cmd_normal): Removed.
28197 (grub_cmd_normal): Unregister itself at the beginning. Don't register
28198 rescue command.
28199 (grub_cmdline_run): New function.
28200 (grub_normal_reader_init): Likewise.
28201 (grub_normal_read_line): Likewise.
28202 (grub_env_write_pager): Likewise.
28203 (cmdline): New variable.
28204 (grub_normal_reader): Likewise.
28205 (GRUB_MOD_INIT): Register normal reader and set as current, register
28206 pager hook, register normal command with grub_register_command_prio,
28207 so that it won't show up in command.lst.
28208 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
28209 grub_fs_autoload_hook.
28210
28211 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
28212 (grub_menu_execute_entry): Replace grub_script_execute with
28213 grub_parser_execute, change parameter to grub_command_execute.
28214
28215 * normal/menu_text.c: Remove <grub/script.h>.
28216
28217 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
28218 and <grub/parser.h>.
28219 (run): Change editor_getline to use new parser interface. Change
28220 parameter to grub_command_execute.
28221
28222 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
28223 <grub/reader.h> and <grub/parser.h>.
28224 (grub_load_normal_mode): Execute normal command.
28225 (grub_main): Call grub_register_core_commands,
28226 grub_register_rescue_parser and grub_register_rescue_reader, use
28227 grub_reader_loop to enter input loop.
28228
7dd4a573 28229 * kern/parser.c (grub_parser_split_cmdline): Change type of
28230 getline parameter.
d558e6b5 28231 (grub_parser_class): New variable.
28232 (grub_parser_execute): New function.
28233
28234 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
28235 * loader/multiboot2.c: Likewise.
28236 * loader/sparc64/ieee1275/linux.c: Likewise.
28237
28238 * util/grub-emu.c (read_command_list): New dummy function.
28239
18db813d 282402009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28241
28242 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
28243 count to 16 for CCISS and IDA.
28244
6c67de15 282452009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28246
28247 * normal/menu_text.c (grub_wait_after_message): Print a newline
28248 after waiting for user input.
28249
28250 * loader/i386/linux.c: Include `<grub/normal.h>'.
28251 (grub_cmd_linux): Improve the error message about `ask' mode, by
28252 waiting for user input so it's not missed (we can do this, since
28253 user requested interaction).
28254
d9dc87b0 282552009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28256
28257 Added missing lst to grub-mkrescue
28258
28259 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
28260 and ${input_dir}/parttool.lst
28261
ac8a2baa 282622009-04-30 David S. Miller <davem@davemloft.net>
28263
ad22a610 28264 * util/hostdisk.c (device_is_wholedisk): New function.
28265 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
28266 zero only if device_is_wholedisk() returns true.
28267
6966215d 28268 * util/hostdisk.c (convert_system_partition_to_system_disk):
28269 Handle virtual disk devices named /dev/vdiskX as found on sparc
28270 and powerpc.
28271
ac8a2baa 28272 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
28273 lettered partition specifier is found, convert to numbered.
28274
979b4fb4 282752009-04-29 David S. Miller <davem@davemloft.net>
28276
e2bf39b2 28277 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28278 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28279
3c64e104 28280 * normal/command.c: Add missing newline at end of file.
28281
979b4fb4 28282 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28283 warnings.
28284 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28285 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28286 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28287 ihandles have a 32-bit type but need to be stored in a "void *".
28288
136d9f82 282892009-04-28 Pavel Roskin <proski@gnu.org>
28290
9459c306 28291 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28292 not disk. Adjust all dependencies.
2e08a26a 28293 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 28294 grub_disk_close().
28295
136d9f82 28296 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28297 parent's partition, don't copy it by reference, as it gets freed
28298 on close.
28299
7dd4a573 283002009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 28301
28302 Preboot hooks support
28303
28304 * commands/boot.c (struct grub_preboot_t): new declaration
28305 (preboots_head): new variable
28306 (preboots_tail): likewise
28307 (grub_loader_register_preboot_hook): new function
28308 (grub_loader_unregister_preboot_hook): likewise
28309 (grub_loader_set): launch preboot hooks
28310 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28311 (grub_loader_register_preboot_hook): new declaration
28312 (grub_loader_unregister_preboot_hook): likewise
28313
5af922b5 283142009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28315
28316 Warning fix
28317
7dd4a573 28318 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 28319 calling grub_dprintf
28320
a5562c30 283212009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28322
28323 Bug and warning fixes
28324
7dd4a573 28325 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 28326 declaration
28327 * commands/test.c (test_parse): fixed bug with file tests and corrected
28328 declaration of find_file
28329
4006f85c 283302009-04-26 Pavel Roskin <proski@gnu.org>
28331
28332 * Makefile.in: Don't install empty manual pages if help2man is
28333 missing. Use help2man option for output, not shell redirection.
28334
5c77c3de 283352009-04-26 David S. Miller <davem@davemloft.net>
28336
28337 * util/grub-mkdevicemap.c (make_device_map): Add missing
28338 NESTED_FUNC_ATTR to process_device().
28339
033b10a8 283402009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28341
28342 Test command
28343
28344 * commands/test.c: rewritten to use bash-like test
28345
e4343593 283462009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28347
28348 Parttool autoloading and improvements
28349
7dd4a573 28350 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 28351 (parttool.lst): new target
28352 * genmk.rb: generate parttool-*
28353 (CLEANFILES): add #{parttool}
28354 (PARTTOOLFILES): new variable
28355 * genparttoollist.sh: new file
7dd4a573 28356 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 28357 (grub_pcpart_type): likewise
28358 * commands/parttool.c (helpmsg): new variable
28359 (grub_cmd_parttool): output help if not enough arguments are supplied
28360 autoload modules
28361 (GRUB_MOD_INIT(parttool)): use helpmsg
28362
0d312500 283632009-04-24 David S. Miller <davem@davemloft.net>
28364
7dd4a573 28365 Avoiding opening same device multiple times in device iterator.
0d312500 28366
28367 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 28368 and use it to build a list of partitions in iterate_disk() and
0d312500 28369 iterate_partition().
28370
ac20caff 28371 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
28372 on disk->data.
28373
0dcf7495 28374 * disk/ieee1275/nand.c (grub_nand_iterate): Return
28375 grub_devalias_iterate() result instead of unconditional 0.
28376 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
28377 Also, capture hook return value, either directly or via
28378 grub_children_iterate(), and propagate to caller.
28379 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
28380 grub_children_iterate): Return value is now 'int' instead of
28381 'grub_err_t'.
28382 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
28383 like a proper iterator, stopping when hooks return non-zero.
28384 (grub_devalias_iterate): Likewise.
28385
c8c08833 283862009-04-23 David S. Miller <davem@davemloft.net>
28387
28388 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
28389
f01005a8 283902009-04-22 David S. Miller <davem@davemloft.net>
28391
28392 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
28393 is larger than address_cells, use that value for address_cells too.
28394
4e8269da 28395 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
28396 IEEE1275_MAX_PATH_LEN): Define.
28397 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
28398 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
28399 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
28400 'devtype'. Explicitly NULL terminate devalias expansion.
28401
a1447506 28402 * util/sparc64/ieee1275/misc.c: New file.
28403 * util/sparc64/ieee1275/grub-setup.c: New file.
28404 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
28405 * util/sparc64/ieee1275/grub-mkimage.c: New file.
28406 * util/sparc64/ieee1275/grub-install.in: New file.
28407 * util/ieee1275/ofpath.c: New file.
28408 * util/ieee1275/devicemap.c: New file.
28409 * util/devicemap.c: New file.
28410 * util/deviceiter.c: New file.
28411 * kern/sparc64/ieee1275/init.c: New file.
28412 * include/grub/util/ofpath.h: New file.
28413 * include/grub/util/deviceiter.h: New file.
28414 * util/grub-mkdevicemap.c: Include deviceiter.h.
28415 Implement using grub_util_emit_devicemap_entry and
28416 grub_util_iterate_devices.
28417 * conf/i386-corebook.rmk: Build util/deviceiter.c and
28418 util/devicemap.c into grub-mkdevicemap
28419 * conf/i386-efi.rmk: Likewise.
28420 * conf/i386-ieee1275.rmk: Likewise.
28421 * conf/i386-pc.rmk: Likewise.
28422 * conf/powerpc-ieee1275.rmk: Likewise.
28423 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
28424 images and installation utilities. Build kernel as image
28425 instead of as elf binary. Use common rules as much as possible.
28426
7dd4a573 284272009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 28428
28429 Correct GPT definition
28430
7dd4a573 28431 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 28432 of "attrib" member
28433
c6c5219f 284342009-04-19 Felix Zielcke <fzielcke@z-51.de>
28435
28436 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
28437
0552ff9f 284382009-04-19 David S. Miller <davem@davemloft.net>
28439
28440 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
28441 (grub_rescue_cmd_linux): Rename to...
28442 (grub_cmd_linux): and fix prototype.
28443 (grub_rescue_cmd_initrd): Rename to...
28444 (grub_cmd_initrd): and fix prototype.
28445 (cmd_linux, cmd_initrd): New.
28446 (GRUB_MOD_INIT(linux)): Use grub_register_command().
28447 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
28448
d1a282fc 284492009-04-17 Pavel Roskin <proski@gnu.org>
28450
07c5039f 28451 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
28452 format.
28453 (grub_ohci_transfer): Likewise.
28454
b012002d 28455 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
28456
1bc09c35 28457 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
28458 return without a value. Fix inconsistent indentation.
28459
e0ff9126 28460 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
28461 match struct grub_fs.
28462
d1a282fc 28463 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
28464 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
28465 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28466 * commands/lspci.c (grub_lspci_iter): Likewise.
28467
a96df3f2 284682009-04-16 Bean <bean123ch@gmail.com>
28469
28470 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
28471 value.
28472
41bb0fe9 284732009-04-15 Pavel Roskin <proski@gnu.org>
28474
28475 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
28476 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
28477 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
28478 definitions.
28479
596c6970 284802009-04-15 Felix Zielcke <fzielcke@z-51.de>
28481
28482 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 28483 that no multiple data or metadata areas are supported and `Unknown
596c6970 28484 metadata header'.
28485
7dd4a573 284862009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 28487
28488 Move loader out of the kernel
28489
28490 * kern/loader.c: moved to ...
28491 * commands/boot.c: ... moved here
28492 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
28493 * commands/boot.c (grub_cmd_boot): moved here. All users updated
28494 * include/grub/kernel.h (grub_machine_fini): export
28495 * include/grub/loader.h (grub_loader_is_loaded): update declaration
28496 (grub_loader_set): likewise
28497 (grub_loader_unset): likewise
28498 (grub_loader_boot): likewise
28499 * conf/common.rmk: new module boot.mod
28500 (pkglib_MODULES): add boot.mod
28501 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
28502 (grub_emu_SOURCES): likewise
28503 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
28504 (grub_emu_SOURCES): likewise
28505 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
28506 (grub_emu_SOURCES): likewise
28507 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
28508 (grub_emu_SOURCES): likewise
28509 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
28510 (grub_emu_SOURCES): likewise
7dd4a573 28511 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
28512 (grub_emu_SOURCES): likewise
0d5d5653 28513 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 28514 (grub_emu_SOURCES): likewise
0d5d5653 28515
7dd4a573 285162009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 28517
28518 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 28519
5999d619 28520 * kern/misc.c (grub_itoa): Removed function
28521 (grub_ltoa): likewise
28522 (grub_vsprintf): use grub_lltoa
28523
7dd4a573 285242009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 28525
28526 Restore grub-emu
28527
28528 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
28529 * conf/i386-coreboot.rmk: likewise
28530 * conf/i386-ieee1275.rmk: likewise
28531 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28532
20318222 285332009-04-15 Felix Zielcke <fzielcke@z-51.de>
28534
28535 * INSTALL: Add that `./autogen.sh' needs to be run before
28536 `./configure.'.
28537
d05f0df3 285382009-04-14 Bean <bean123ch@gmail.com>
28539
28540 * Makefile.in (pkglib_DATA): Add handler.lst.
28541 (handler.lst): New rule.
28542
28543 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
28544 * conf/i386-coreboot.rmk: Likewise.
28545 * conf/i386-ieee1275.rmk: Likewise.
28546 * conf/i386-efi.rmk: Likewise.
28547 * conf/x86_64-efi.rmk: Likewise.
28548 * conf/powerpc-ieee1275.rmk: Likewise.
28549 * conf/sparc64-ieee1275.rmk: Likewise.
28550
28551 * genhandlerlist.sh: New file.
28552
28553 * genmk.rb: Add rules to generate handler.lst.
28554
28555 * include/grub/normal.h (grub_file_getline): New function definition.
28556 (read_handler_list): Likewise.
28557 (free_handler_list): Likewise.
28558
28559 * include/grub/term.h (grub_term_register_input): Add name parameter
28560 for auto generation of handler.lst.
28561 (grub_term_register_output): Likewise.
28562
28563 * normal/handler.c: New file.
28564
28565 * normal/main.c (get_line): Renamed to grub_file_getline.
28566 (read_config_file): Use the newly renamed grub_file_getline.
28567 (read_command_list): Likewise.
28568 (read_fs_list): Likewise.
28569 (grub_normal_execute): Call read_handler_list to parse handler.lst.
28570 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
28571
28572 * term/efi/console.c (grub_console_init): Add name parameter for auto
28573 generation of handler.lst.
28574 * term/gfxterm.c: Likewise.
28575 * term/i386/pc/at_keyboard.c: Likewise.
28576 * term/i386/pc/console.c: Likewise.
28577 * term/i386/pc/serial.c: Likewise.
28578 * term/i386/pc/vesafb.c: Likewise.
28579 * term/i386/pc/vga.c: Likewise.
28580 * term/i386/pc/vga_text.c: Likewise.
28581 * term/ieee1275/ofconsole.c: Likewise.
28582 * term/usb_keyboard.c: Likewise.
28583
33c846be 285842009-04-14 Bean <bean123ch@gmail.com>
28585
28586 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
28587 properly with null character.
28588
4484e01e 285892009-04-14 Felix Zielcke <fzielcke@z-51.de>
28590
28591 * configure: Remove.
28592 * config.h.in: Likewise.
f93d668e 28593 * stamp-h.in: Likewise.
4484e01e 28594 * DISTLIST: Likewise.
28595 * conf/common.mk: Likewise.
28596 * conf/i386-coreboot.mk: Likewise.
28597 * conf/i386-efi.mk: Likewise.
28598 * conf/i386-ieee1275.mk: Likewise.
28599 * conf/i386.mk: Likewise.
28600 * conf/i386-pc.mk: Likewise.
28601 * conf/powerpc-ieee1275.mk: Likewise.
28602 * conf/sparc64-ieee1275.mk: Likewise.
28603 * conf/x86_64-efi.mk: Likewise.
28604
28605 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
28606 develop on GRUB.
28607
7dd4a573 286082009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 28609 David S. Miller <davem@davemloft.net>
28610
28611 * util/hostdisk.c (make_device_name): Fix buffer length
28612 calculations.
28613
e25b5a8c 286142009-04-14 Felix Zielcke <fzielcke@z-51.de>
28615
28616 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
28617 <sys/param.h> and <sys/sysctl.h>.
28618 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
28619 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
28620 opening the device and reset them afterwards.
28621
1f1f580c 286222009-04-13 Pavel Roskin <proski@gnu.org>
28623
28624 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
28625 Reported by John Stanley <jpsinthemix@verizon.net>
28626
7ebc2d6b 286272009-04-13 Robert Millan <rmh@aybabtu.com>
28628
28629 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 28630 that name for menuentries when appropriate.
7ebc2d6b 28631
d8ba3667 286322009-04-13 Felix Zielcke <fzielcke@z-51.de>
28633
28634 * util/grub.d/10_freebsd.in: Add a missing `fi'.
28635
cba416eb 286362009-04-13 Robert Millan <rmh@aybabtu.com>
28637
28638 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
28639 to Linux, simply abort telling the user it's no longer supported.
28640
a547a745 286412009-04-13 Felix Zielcke <fzielcke@z-51.de>
28642
28643 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 28644 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 28645 `freebsd_loadenv' only when devices.hints exist.
28646
232a769c 286472009-04-13 Pavel Roskin <proski@gnu.org>
28648
28649 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
28650
c3012039 286512009-04-13 Felix Zielcke <fzielcke@z-51.de>
28652
28653 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
28654 partition number.
28655 (grub_drive): Likewise.
28656
234022fe 286572009-04-13 David S. Miller <davem@davemloft.net>
28658
28659 * kern/sparc64/ieee1275/ieee1275.c: New file.
28660 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
28661 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
28662 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
28663 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
28664 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
28665 grub_ieee1275_alloc_physmem): Declare new exported functions.
28666
d8e1836c 28667 * include/grub/sparc64/ieee1275/loader.h: New file.
28668 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28669 * include/grub/sparc64/kernel.h: Likewise.
28670 * loader/sparc64/ieee1275/linux.c: Likewise.
28671
96bd81ec 28672 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
28673 (grub_fstest_SOURCES): Likewise.
28674
6a4737e5 28675 * util/hostdisk.c (make_device_name): Do not make any assumptions
28676 about the length of drive names.
28677
1d7a72fd 28678 * kern/dl.c (grub_dl_load_file): Close file immediately when
28679 we are done using it.
28680
56bc2471 286812009-04-12 David S. Miller <davem@davemloft.net>
28682
28683 * kern/misc.c (grub_ltoa): Fix cast when handling negative
28684 values. Noticed by Pavel Roskin.
28685
df38d0bb 28686 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
28687 target compiler.
7dd4a573 28688
e382e93a 28689 * genmk.rb: Add more flexible image type specification, also
28690 pass --strip-unneeded to objcopy.
28691 * conf/i386-pc.rmk: Use *_FORMAT.
28692 * conf/i386-pc.mk: Rebuilt.
28693
f5dbbca9 28694 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
28695 (OFDISK_HASH_SZ): Define.
28696 (ofdisk_hash): New hash table.
28697 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
28698 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
28699 instead of device phandle which is not unique.
28700
91c88b12 28701 * kern/sparc64/ieee1275/init.c: Delete, replace with...
28702 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
28703 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
28704 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
28705 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
28706 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
28707 GRUB_KERNEL_MACHINE_DATA_END): Define.
28708 (grub_kernel_image_size, grub_total_module_size): Declare.
28709
5b5d4aa5 287102009-04-12 Pavel Roskin <proski@gnu.org>
28711
7dd4a573 28712 * configure.ac: Change the logic when we check for target tools.
28713 Do it when the target is specified and it's different from the
28714 specified value of the host.
5b5d4aa5 28715
c91e1793 287162009-04-11 Felix Zielcke <fzielcke@z-51.de>
28717
28718 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
28719 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
28720 GNU/kFreeBSD. Check if a device is a character device. Use
28721 DIOCGMEDIASIZE to get the size.
28722 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
28723 support for GNU/kFreeBSD.
28724 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
28725 is a character device instead of a block device. Add support for
28726 FreeBSD device names.
28727
28728 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
28729 is a character device instead of a block device.
28730
28731 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
28732 is a character device instead of a block device.
28733
b1ac8644 287342009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
28735
28736 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
28737 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
28738 FreeBSD. Check if a device is a character device. Use
28739 DIOCGMEDIASIZE to get the size.
28740 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
28741 support for FreeBSD.
28742 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
28743 is a character device instead of a block device. Add support for
28744 FreeBSD device names.
28745
28746 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
28747 a character device instead of a block device.
28748 (grub_util_check_char_device): New function.
28749
28750 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
28751 a character device instead of a block device.
28752
28753 * include/grub/util/getroot.h (grub_util_check_char_device): New
28754 prototype.
28755
a3f7515a 287562009-04-11 David S. Miller <davem@davemloft.net>
28757
28758 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
28759 static libgcc.
28760 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
28761 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
28762 function, if present.
28763 (__bswapdi2): Likewise.
28764
0d44993d 28765 * include/grub/sparc64/ieee1275/boot.h: New file.
28766 * boot/sparc64/ieee1275/boot.S: Likewise.
28767 * boot/sparc64/ieee1275/diskboot.S: Likewise.
28768
ed3d2bc2 28769 * kern/misc.c (grub_ltoa): New function.
28770 (grub_vsprintf): Use it to format 'long' integers.
28771
d3bfb59c 287722009-04-10 David S. Miller <davem@davemloft.net>
28773
28774 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
28775 slots are of type grub_ieee1275_cell_t.
28776 (grub_nand_read): Likewise.
28777 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
28778 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
28779 macros are used to compare values in arg/ret block of the call.
28780 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28781 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
28782 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
28783 grub_ieee1275_instance_to_path, grub_ieee1275_write,
28784 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
28785 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
28786 grub_ieee1275_close, grub_ieee1275_set_property,
28787 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
28788 grub_ieee1275_cell_t.
28789 * kern/ieee1275/openfw.c (grub_map): Likewise.
28790 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
28791 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
28792
450e2238 28793 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
28794 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
28795 (grub_devalias_iterate): Likewise.
28796
7dd4a573 287972009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 28798
28799 UFS improvements
28800
28801 * fs/ufs.c (INODE_NBLOCKS): new definition
28802 (struct grub_ufs_dirent): added fields for non-BSD dirents
28803 (grub_ufs_get_file_block): fixed double indirect handling
28804 (grub_ufs_lookup_symlink): use more robust way to determine whether
28805 symlink is inline
28806 (grub_ufs_find_file): support for non-BSD dirents
28807 (grub_ufs_dir): support for non-BSD dirents
28808
e7e6862a 288092009-04-10 Bean <bean123ch@gnail.com>
28810
28811 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
28812 attribute, otherwise the size would be wrong for i386 platform.
28813
28814 * include/grub/pci.h (grub_pci_read_word): New inline function.
28815 (grub_pci_read_byte): Likewise.
28816 (grub_pci_write): Likewise.
28817 (grub_pci_write_word): Likewise.
28818 (grub_pci_write_byte): Likewise.
28819
28820 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
28821
28822 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
28823 (find_framebuf): Scan pci to locate the frame buffer address.
28824
28825 * commands/efi/fixvideo.c: New file.
28826
28827 * commands/efi/loadbios.c: Likewise.
28828
28829 * commands/memrw.c: Likewise.
28830
28831 * util/grub-dumpbios.in: Likewise.
28832
28833 * conf/common.rmk (grub-dumpbios): New utility.
28834 (pkglib_MODULES): New module memrw.mod.
28835 (memrw_mod_SOURCE): New macro.
28836 (memrw_mod_CFLAGS): Likewise.
28837 (memrw_mod_LDFLAGS): Likewise.
28838
7dd4a573 28839 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28840 fixvideo.mod.
28841 (loadbios_mod_SOURCE): New macro.
28842 (loadbios_mod_CFLAGS): Likewise.
28843 (loadbios_mod_LDFLAGS): Likewise.
28844 (fixvideo_mod_SOURCE): Likewise.
28845 (fixvideo_mod_CFLAGS): Likewise.
28846 (fixvideo_mod_LDFLAGS): Likewise.
28847
7dd4a573 28848 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28849 fixvideo.mod.
28850 (loadbios_mod_SOURCE): New macro.
28851 (loadbios_mod_CFLAGS): Likewise.
28852 (loadbios_mod_LDFLAGS): Likewise.
28853 (fixvideo_mod_SOURCE): Likewise.
28854 (fixvideo_mod_CFLAGS): Likewise.
28855 (fixvideo_mod_LDFLAGS): Likewise.
28856
af63ada2 288572009-04-08 Felix Zielcke <fzielcke@z-51.de>
28858
28859 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
28860
c2cdde70 288612009-04-07 David S. Miller <davem@davemloft.net>
28862
28863 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
28864 support for R_SPARC_OLO10 relocations. Fix compile warning for
28865 R_SPARC_WDISP30 case.
ea3f72cf 28866 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 28867
761319cf 288682009-04-06 Pavel Roskin <proski@gnu.org>
28869
1007d1f5 28870 * include/grub/misc.h (ARRAY_SIZE): New macro.
28871 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
28872 New macro.
28873 * loader/i386/linux.c (allocate_pages): Use free_pages().
28874 (grub_linux_unload): Don't use free_pages().
28875 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
28876 wrong index. Treat all other modes as text modes.
28877 (grub_cmd_linux): Initialize vid_mode unconditionally to
28878 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
28879
761319cf 28880 * commands/help.c (print_command_help): Use cmd->prio, not
28881 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
28882
ea761d40 288832009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 28884
ea761d40 28885 Parttool
28886
28887 * parttool/pcpart.c: new file
28888 * commands/parttool.c: likewise
28889 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
28890 (parttool_mod_SOURCES): new variable
28891 (parttool_mod_CFLAGS): likewise
28892 (parttool_mod_LDFLAGS): likewise
28893 (pcpart_mod_SOURCES): likewise
28894 (pcpart_mod_CFLAGS): likewise
28895 (pcpart_mod_LDFLAGS): likewise
7dd4a573 28896 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 28897 and parttool/pcpart.c
28898 * conf/i386-efi.rmk: likewise
28899 * conf/i386-ieee1275.rmk: likewise
28900 * conf/i386-pc.rmk: likewise
28901 * conf/powerpc-ieee1275.rmk: likewise
28902 * conf/sparc64-ieee1275.rmk: likewise
28903 * conf/x86_64-ieee1275.rmk: likewise
28904
05aaebfb 289052009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28906
28907 Support for mtime and further expandability of dir command
28908
28909 * include/grub/lib/datetime.h: moved to ...
7dd4a573 28910 * include/grub/datetime.h: ... moved here and added
05aaebfb 28911 declaration of grub_unixtime2datetime. All users updated
7dd4a573 28912 * include/grub/fs.h: new syntax for dir and mtime functions in
28913 struct grub_fs
05aaebfb 28914 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
28915 and GRUB_FSHELP_FLAGS_MASK
28916 * commands/ls.c (grub_ls_list_files): Write mtime in long format
28917 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
28918 (grub_ext2_mtime): new function
28919 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
28920 (grub_hfsplus_mtime): new function
28921 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
28922 (GRUB_UFS_ATTR_FILE): likewise
28923 (GRUB_UFS_ATTR_LNK): likewise
28924 (struct grub_ufs_sblock): new fields mtime
28925 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
28926 all users updated
28927 (grub_ufs_dir): mtime support
28928 (grub_ufs_mtime): new function
28929 * fs/affs.c (grub_affs_dir): use new dir syntax
28930 * fs/afs.c (grub_afs_dir): likewise
28931 * fs/cpio.c (grub_cpio_dir): likewise
28932 * fs/fat.c (grub_fat_find_dir): likewise
28933 * fs/hfs.c (grub_hfs_dir): likewise
28934 * fs/iso9660.c (grub_iso9660_dir): likewise
28935 * fs/jfs.c (grub_jfs_dir): likewise
28936 * fs/minix.c (grub_minix_dir): likewise
28937 * fs/ntfs.c (grub_ntfs_dir): likewise
28938 * fs/reiserfs.c (grub_reiserfs_dir): likewise
28939 * fs/sfs.c (grub_sfs_dir): likewise
28940 * fs/xfs.c (grub_xfs_dir): likewise
28941 * util/hostfs.c (grub_hostfs_dir): likewise
28942 * lib/datetime.c: moved to ...
28943 * normal/datetime.c: ... moved here
28944 (grub_unixtime2datetime): new function
28945 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 28946 * normal/completion.c (iterate_dir): use new dir syntax
28947 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 28948 last modification time of a volume
7dd4a573 28949 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 28950 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 28951 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 28952 (normal_mod_SOURCES): likewise
28953 (datetime_mod_SOURCES): Removed lib/datetime.c
28954 * conf/i386-efi.rmk: likewise
7dd4a573 28955 * conf/i386-ieee1275.rmk: likewise
05aaebfb 28956 * conf/i386-pc.rmk: likewise
28957 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28958 * conf/sparc64-ieee1275.rmk: likewise
28959 * conf/x86_64-efi.rmk: likewise
05aaebfb 28960
8a7e1a14 289612009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28962
28963 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 28964
28965 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 28966 on grub_fat_find_dir
28967 (grub_fat_find_dir): use grub_fat_iterate_dir
28968 (grub_fat_label): likewise
28969
04186a9c 289702009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28971
7dd4a573 28972 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 28973 and command.h
28974 remove extraneous kernel_elf_HEADERS
28975
da4c0bb6 289762009-04-04 Bean <bean123ch@gnail.com>
28977
28978 * include/grub/util/misc.h: Add dummy function fsync for mingw.
28979
28980 * util/misc.c: Likewise.
28981
54ad9555 289822009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28983
28984 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
28985 instead of grub_printf.
28986
7a6bf9f2 289872009-04-03 Robert Millan <rmh@aybabtu.com>
28988
28989 * loader/i386/linux.c (grub_linux_setup_video): Fill
28990 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
28991 values from `mode info' structure instead of hardcoded
28992 values.
28993
3fcc2083 289942009-04-01 Pavel Roskin <proski@gnu.org>
28995
28996 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
28997 unused now.
28998 * genmk.rb: Likewise.
28999 * configure.ac: Likewise.
29000
5ec9740b 290012009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
29002
29003 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
29004 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
29005
5270cec8 290062009-04-01 David S. Miller <davem@davemloft.net>
29007
29008 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 29009 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 29010 (grub_setjmp): Mark with 'returns_twice' attribute.
29011 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
29012 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
29013 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
29014
9c3dd854 290152009-04-01 Robert Millan <rmh@aybabtu.com>
29016
29017 Reapply fix from 2008-07-28 which was accidentally reverted; also
29018 perform the same fix to a similar check in same function.
29019
29020 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29021 with the same number are found, just use issue a warning with
29022 grub_dprintf(), as this error has been reported to be non-fatal.
29023
0d818b7e 290242009-03-31 Pavel Roskin <proski@gnu.org>
29025
29026 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
29027 for cross-compilation.
29028
95646d92 290292009-03-30 Robert Millan <rmh@aybabtu.com>
29030
29031 Fix i386-ieee1275 build.
29032
29033 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
29034 Remove declaration.
29035
6a003ed1 290362009-03-30 Pavel Roskin <proski@gnu.org>
29037
29038 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
29039 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
29040 zero-terminated, rely only on the strlen value. Fix comparison
29041 of strings differing in length.
29042
92f33540 290432009-03-30 Robert Millan <rmh@aybabtu.com>
29044
29045 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
29046 checking for abi version. Improve error messages on BIOS to notify
29047 user about `linux16' command.
29048
a8c48fd5 290492009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
29050
f968172e 29051 Leak fixes
a8c48fd5 29052
f968172e 29053 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
29054 in case of collision
29055 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 29056
9c323f09 290572009-03-29 Robert Millan <rmh@aybabtu.com>
29058
29059 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
29060 set `vid_mode' accordingly.
29061 (grub_linux_boot): Process `vid_mode' and set video mode.
29062
ae68f423 290632009-03-29 Robert Millan <rmh@aybabtu.com>
29064
29065 * util/grub.d/10_linux.in (linux_entry): New function.
29066 Factorize generation of Linux boot entries.
29067
5709cfc4 290682009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
29069
29070 Make the format of Environment Block plain text. The boot loader
29071 part is not tested well yet.
7dd4a573 29072
5709cfc4 29073 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
29074 (buffer): Removed.
29075 (envblk): Likewise.
29076 (usage): Remove "info" and "clear". Add "unset". Update the
29077 description of "set", as this does not delete variables any
29078 longer.
29079 (create_envblk_file): Complete rewrite.
29080 (open_envblk_file): Likewise.
29081 (cmd_info): Removed.
29082 (cmd_list): Likewise.
29083 (cmd_set): Likewise.
29084 (cmd_clear): Likewise.
29085 (list_variables): New function.
29086 (write_envblk): Likewise.
29087 (set_variables): Likewise.
29088 (unset_variables): Likewise.
29089 (main): Complete rewrite.
29090
29091 * commands/loadenv.c (buffer): Removed.
29092 (envblk): Likewise.
29093 (open_envblk_file): New function.
29094 (read_envblk_file): Complete rewrite.
29095 (grub_cmd_load_env): Likewise.
29096 (grub_cmd_list_env): Likewise.
29097 (struct blocklist): New struct.
29098 (free_blocklists): New function.
29099 (check_blocklists): Likewise.
29100 (write_blocklists): Likewise.
29101 (grub_cmd_save_env): Complete rewrite.
29102
29103 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
29104 a plain text signature.
29105 (GRUB_ENVBLK_MAXLEN): Removed.
29106 (struct grub_envblk): Complete rewrite.
29107 (grub_envblk_find): Removed.
29108 (grub_envblk_insert): Likewise.
29109 (grub_envblk_open): New prototype.
29110 (grub_envblk_set): Likewise.
29111 (grub_envblk_delete): Put const to VALUE.
29112 (grub_envblk_iterate): Put const to NAME and VALUE.
29113 (grub_envblk_close): New prototype.
29114 (grub_envblk_buffer): New inline function.
29115 (grub_envblk_size): Likewise.
29116
29117 * lib/envblk.c: Include grub/mm.h.
29118 (grub_env_find): Removed.
29119 (grub_envblk_open): New function.
29120 (grub_envblk_close): Likewise.
29121 (escaped_value_len): Likewise.
29122 (find_next_line): Likewise.
29123 (grub_envblk_insert): Removed.
29124 (grub_envblk_set): New function.
29125 (grub_envblk_delete): Complete rewrite.
29126 (grub_envblk_iterate): Likewise.
29127
a9368fd3 291282009-03-28 Robert Millan <rmh@aybabtu.com>
29129
29130 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
29131 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
29132 variables. Use 16-bit loader.
29133 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
29134 loader.
29135 * kern/i386/loader.S (grub_linux_boot): Rename to ...
29136 (grub_linux16_boot): ... this. Update all users.
29137 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
29138 (grub_linux_boot): ... this. Update all users.
29139
29140 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
29141 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
29142 commands to `linux16' and `initrd16'.
29143 (GRUB_MOD_FINI(linux)): Rename to ...
29144 (GRUB_MOD_FINI(linux16)): ... this.
29145
e4dd5a7e 291462009-03-24 Pavel Roskin <proski@gnu.org>
29147
29148 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
29149 not just for compilation.
29150
c04d6e05 291512009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
29152
29153 Move multiboot helper out of kernel
29154
29155 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
29156 `loader/i386/multiboot_helper.S'.
29157 * conf/i386-coreboot.rmk: Likewise
29158 * conf/i386-ieee1275.rmk: Likewise
29159
29160 * kern/i386/loader.S: Move multiboot helpers from here...
29161 * loader/i386/multiboot_helper.S: ...moved here
29162 * include/grub/i386/loader.h: Move declarations of multiboot
29163 helpers from here...
29164 * include/grub/i386/multiboot.h: ...moved here
29165 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
29166
42a5b3fc 291672009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29168
29169 * kern/env.c (grub_env_context_open): Added an argument to specify
29170 whether a new context inherits exported variables from current
29171 one. This is useful when making a sandbox to interpret a config
29172 file.
29173 All callers updated.
29174
29175 * include/grub/env.h (grub_env_context_open): Updated the prototype.
29176
b28bbc4e 291772009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29178
29179 * kern/env.c (grub_env_context_close): Fix memory leaks.
29180
f04f02e4 291812009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29182
29183 * normal/main.c (grub_normal_execute): Added an argument
29184 BATCH to specify if an interactive interface should be provided
29185 after reading a config file.
29186 All callers updated.
29187 (read_command_list): Prevent being executed twice.
29188 (read_fs_list): Likewise.
29189
42a5b3fc 29190 * include/grub/normal.h (grub_normal_execute): Updated the
29191 prototype.
f04f02e4 29192
41473ac2 291932009-03-22 Pavel Roskin <proski@gno.org>
29194
fbc00b0c 29195 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
29196 _start.
29197 * kern/i386/pc/startup.S: Likewise.
29198 * kern/i386/efi/startup.S: Likewise.
29199 * kern/i386/ieee1275/startup.S: Likewise.
29200 * kern/i386/coreboot/startup.S: Likewise.
29201 * kern/x86_64/efi/startup.S: Likewise.
29202
41473ac2 29203 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
29204 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
29205 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
29206
2274cc8f 292072009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
29208
29209 Bugfixes in multiboot for bugs uncovered by solaris kernel.
29210
29211 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
29212 limit detection.
29213 Use vaddr of correct segment for entry_point.
29214
b1b797cb 292152009-03-21 Bean <bean123ch@gmail.com>
29216
29217 * commands/blocklist.c: Add include file <grub/command.h>, remove
29218 <grub/normal.h> and <grub/arg.h>.
29219 (grub_cmd_blocklist): Use the new command interface.
29220 (GRUB_MOD_INIT): Likewise.
29221 (GRUB_MOD_FINI): Likewise.
29222 * commands/boot.c: Likewise.
29223 * commands/cat.c: Likewise.
29224 * commands/cmp.c: Likewise.
29225 * commands/configfile.c: Likewise.
29226 * commands/crc.c: Likewise.
29227 * commands/echo.c: Likewise.
29228 * commands/halt.c: Likewise.
29229 * commands/handler.c: Likewise.
29230 * commands/hdparm.c: Likewise.
29231 * commands/help.c: Likewise.
29232 * commands/hexdump.c: Likewise.
29233 * commands/loadenv.c: Likewise.
29234 * commands/ls.c: Likewise.
29235 * commands/lsmmap.c: Likewise.
29236 * commands/lspci.c: Likewise.
29237 * commands/loadenv.c: Likewise.
29238 * commands/read.c: Likewise.
29239 * commands/reboot.c: Likewise.
29240 * commands/search.c: Likewise.
29241 * commands/sleep.c: Likewise.
29242 * commands/test.c: Likewise.
29243 * commands/usbtest.c: Likewise.
29244 * commands/videotest.c: Likewise.
29245 * commands/i386/cpuid.c: Likewise.
29246 * commands/i386/pc/halt.c: Likewise.
29247 * commands/i386/pc/play.c: Likewise.
29248 * commands/i386/pc/pxecmd.c: Likewise.
29249 * commands/i386/pc/vbeinfo.c: Likewise.
29250 * commands/i386/pc/vbetest.c: Likewise.
29251 * commands/ieee1275/suspend.c: Likewise.
29252 * disk/loopback.c: Likewise.
29253 * font/font_cmd.c: Likewise.
29254 * hello/hello.c: Likewise.
29255 * loader/efi/appleloader.c: Likewise.
29256 * loader/efi/chainloader.c: Likewise.
29257 * loader/i386/bsd.c: Likewise.
29258 * loader/i386/efi/linux.c: Likewise.
29259 * loader/i386/ieee1275/linux.c: Likewise.
29260 * loader/i386/linux.c: Likewise.
29261 * loader/i386/pc/chainloader.c: Likewise.
29262 * loader/i386/pc/linux.c: Likewise.
29263 * loader/powerpc/ieee1275/linux.c: Likewise.
29264 * loader/multiboot_loader.c: Likewise.
29265 * term/gfxterm.c: Likewise.
29266 * term/i386/pc/serial.c: Likewise.
29267 * term/terminfo.c: Likewise.
29268
29269 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
29270 * term/i386/pc/vga.c: Likewise.
29271 * video/readers/jpeg.c: Likewise.
29272 * video/readers/png.c: Likewise.
29273 * video/readers/tga.c: Likewise.
29274
29275 * util/grub-fstest (cmd_loopback): Removed.
29276 (cmd_blocklist): Likewise.
29277 (cmd_ls): Likewise.
29278 (grub_register_command): Likewise.
29279 (grub_unregister_command): Likewise.
29280 (execute_command): Use grub_command_find to locate command and execute
29281 it.
29282
29283 * include/grub/efi/chainloader.h: Removed.
29284 * loader/efi/chainloader_normal.c: Likewise.
29285 * loader/i386/bsd_normal.c: Likewise.
29286 * loader/i386/pc/chainloader_normal.c: Likewise.
29287 * loader/i386/pc/multiboot_normal.c: Likewise.
29288 * loader/linux_normal.c: Likewise.
29289 * loader/multiboot_loader_normal.c: Likewise.
29290 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29291
29292 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29293 and grub_register_command_p1.
29294
29295 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29296 kern/command.c, lib/arg.c and commands/extcmd.c.
29297 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29298 (minicmd_mod_SOURCES): New variable.
29299 (minicmd_mod_CFLAGS): Likewise.
29300 (minicmd_mod_LDFLAGS): Likewise.
29301 (extcmd_mod_SOURCES): Likewise.
29302 (extcmd_mod_CFLAGS): Likewise.
29303 (extcmd_mod_LDFLAGS): Likewise.
29304 (boot_mod_SOURCES): Removed.
29305 (boot_mod_CFLAGS): Likewise.
29306 (boot_mod_LDFLAGS): Likewise.
29307
29308 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29309 kern/corecmd.c.
29310 (kernel_img_HEADERS): Add command.h.
29311 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29312 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29313 and lib/arg.c.
29314 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29315 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29316 remove the corresponding normal mode command.
29317 (normal_mod_SOURCES): Remove normal/arg.c.
29318 * conf/i386-coreboot.rmk: Likewise.
29319 * conf/i386-efi.rmk: Likewise.
29320 * conf/i386-ieee1275.rmk: Likewise.
29321 * conf/powerpc-ieee1275.rmk: Likewise.
29322 * conf/x86_64-efi.rmk: Likewise.
29323
29324 * include/grub/arg.h: Move from here ...
29325 * include/grub/lib/arg.h: ... to here.
29326
29327 * normal/arg.c: Move from here ...
29328 * lib/arg.c: ... to here.
29329
29330 * commands/extcmd.c: New file.
29331 * commands/minicmd.c: Likewise.
29332 * include/grub/command.h: Likewise.
29333 * include/grub/extcmd.h: Likewise.
29334 * kern/command.c: Likewise.
29335 * kern/corecmd.c: Likewise.
29336
29337 * kern/list.c (grub_list_iterate): Return int instead of void.
29338 (grub_list_insert): New function.
29339 (grub_prio_list_insert): Likewise.
29340
29341 * kern/rescue.c (grub_rescue_command): Removed.
29342 (grub_rescue_command_list): Likewise.
29343 (grub_rescue_register_command): Likewise.
29344 (grub_rescue_unregister_command): Likewise.
29345 (grub_rescue_cmd_boot): Move to minicmd.c
29346 (grub_rescue_cmd_help): Likewise.
29347 (grub_rescue_cmd_info): Likewise.
29348 (grub_rescue_cmd_boot): Likewise.
29349 (grub_rescue_cmd_testload): Likewise.
29350 (grub_rescue_cmd_dump): Likewise.
29351 (grub_rescue_cmd_rmmod): Likewise.
29352 (grub_rescue_cmd_lsmod): Likewise.
29353 (grub_rescue_cmd_exit): Likewise.
29354 (grub_rescue_print_devices): Moved to corecmd.c.
29355 (grub_rescue_print_files): Likewise.
29356 (grub_rescue_cmd_ls): Likewise.
29357 (grub_rescue_cmd_insmod): Likewise.
29358 (grub_rescue_cmd_set): Likewise.
29359 (grub_rescue_cmd_unset): Likewise.
7d074e3c 29360 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 29361 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 29362 commands, remove grub_rescue_register_command calls.
b1b797cb 29363
7d074e3c 29364 * normal/command.c (grub_register_command): Removed.
b1b797cb 29365 (grub_unregister_command): Likewise.
29366 (grub_command_find): Likewise.
29367 (grub_iterate_commands): Likewise.
29368 (rescue_command): Likewise.
29369 (export_command): Moved to corecmd.c.
29370 (set_command): Removed.
29371 (unset_command): Likewise.
29372 (insmod_command): Likewise.
29373 (rmmod_command): Likewise.
29374 (lsmod_command): Likewise.
29375 (grub_command_init): Likewise.
29376
29377 * normal/completion.c (iterate_command): Use cmd->prio to check for
29378 active command.
29379 (complete_arguments): Use grub_extcmd_t structure to find options.
29380 (grub_normal_do_completion): Change function grub_iterate_commands to
29381 grub_command_iterate.
29382
29383 * normal/execute.c (grub_script_execute_cmd): No need to parse
29384 argument here.
29385
29386 * normal/main.c (grub_dyncmd_dispatcher): New function.
29387 (read_command_list): Register unload commands as dyncmd.
29388 (grub_cmd_normal): Use new command interface, register rescue,
29389 unregister normal at entry, register normal, unregister rescue at exit.
29390
29391 * include/grub/list.h (grub_list_test_t): New type.
29392 (grub_list_iterate): Return int instead of void.
29393 (grub_list_insert): New function.
29394 (GRUB_AS_NAMED_LIST_P): New macro.
29395 (GRUB_AS_PRIO_LIST): Likewise.
29396 (GRUB_AS_PRIO_LIST_P): Likewise.
29397 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
29398 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
29399 (grub_prio_list): New structure.
29400 (grub_prio_list_insert): New function.
29401 (grub_prio_list_remove): New inline function.
29402
29403 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
29404 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
29405 (GRUB_COMMAND_FLAG_MENU): Likewise.
29406 (GRUB_COMMAND_FLAG_BOTH): Likewise.
29407 (GRUB_COMMAND_FLAG_TITLE): Likewise.
29408 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
29409 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
29410 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
29411 (grub_command): Likewise.
29412 (grub_register_command): Likewise.
29413 (grub_command_find): Likewise.
29414 (grub_iterate_commands): Likewise.
29415 (grub_command_init): Likewise.
29416 (grub_arg_parse): Likewise.
29417 (grub_arg_show_help): Likewise.
29418
29419 * include/grub/rescue.h (grub_rescue_register_command): Removed.
29420 (grub_rescue_unregister_command): Likewise.
29421
29422 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
29423 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
29424 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
29425
29426 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
29427 grub_rescue_cmd_initrd.
29428 * include/grub/i386/loader.h: Likewise.
29429 * include/grub/x86_64/loader.h: Likewise.
29430
29431 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
29432
1f4147aa 294332009-03-21 Bean <bean123ch@gmail.com>
29434
29435 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
29436 instead of stat in mingw environment.
29437
29438 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
29439
29440 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
29441
29442 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
29443 AC_CONFIG_LINKS.
29444
2156d5ba 294452009-03-21 Bean <bean123ch@gmail.com>
29446
29447 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
29448 out of range error.
29449
177b82ca 294502009-03-18 Michel Dänzer <michel@daenzer.net>
29451
29452 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
29453 checking inode flags for EXT4_EXTENTS_FLAG.
29454
14aad807 294552009-03-18 Robert Millan <rmh@aybabtu.com>
29456
29457 * loader/i386/linux.c: Include `<grub/video.h>' and
29458 `<grub/i386/pc/vbe.h>'..
29459 (grub_linux_setup_video): New function. Loosely based on the EFI one.
29460 (grub_linux32_boot): Attempt to configure video settings with
29461 grub_linux_setup_video().
29462 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
29463 to avoid grub_console_fini() which would step out of graphical mode
29464 unconditionally.
29465
8cf83a27 294662009-03-14 Robert Millan <rmh@aybabtu.com>
29467
29468 Fix build on powerpc.
29469 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
29470
40164e75 294712009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
29472
29473 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
29474 background image command.
29475
c58bc32a 294762009-03-12 Colin D Bennett <colin@gibibit.com>
29477
29478 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
29479 (grub_gfxterm_putchar): Extract pairs of identical calls to
29480 draw_cursor out of conditional blocks.
29481
5415144a 294822009-03-11 Pavel Roskin <proski@gnu.org>
29483
29484 * fs/hfs.c (grub_hfs_strncasecmp): New function.
29485 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
29486
6394042e 294872009-03-11 Robert Millan <rmh@aybabtu.com>
29488
29489 * loader/i386/multiboot_elfxx.c
29490 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
29491
b7b50e5f 294922009-03-11 Felix Zielcke <fzielcke@z-51.de>
29493
29494 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
29495 `kern/handler.c'.
29496
1ca7fc96 294972009-03-11 Robert Millan <rmh@aybabtu.com>
29498
29499 * loader/i386/multiboot.c (code_size): New variable.
29500 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 29501 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 29502 4-byte alignment to MBI and others by increasing
7d074e3c 29503 `boot_loader_name_length' appropriately.
1ca7fc96 29504
29505 * loader/i386/multiboot_elfxx.c
29506 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
29507
a83ea1d2 295082009-03-09 Felix Zielcke <fzielcke@z-51.de>
29509
29510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
29511 `fs/ext2.c'.
29512
aa9f3bff 295132009-03-08 Robert Millan <rmh@aybabtu.com>
29514
29515 Make loader/i386/linux.c usable on i386-pc again.
29516
29517 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
29518 memory to heap.
29519 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
29520 `#error' stanza.
29521
d8b3b60e 295222009-03-07 Bean <bean123ch@gmail.com>
29523
29524 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
29525 allocation.
29526
b362c9e9 295272009-03-06 Robert Millan <rmh@aybabtu.com>
29528
29529 Fix display issue on terminals with screen size other than 80x25
29530 (e.g. gfxterm with resolution higher than 640x480).
29531
29532 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 29533 position relative to the center of the terminal instead of relying
b362c9e9 29534 on a hardcoded offset.
29535
9304eef1 295362009-03-04 Robert Millan <rmh@aybabtu.com>
29537
29538 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
29539 installed.
29540
29541 * Makefile.in (host_kernel): New variable.
29542 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
29543 scripts instead of just the windows one.
29544 * configure.ac: Initialize and AC_SUBST `host_kernel'.
29545
eabc95fb 295462009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 29547
29548 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
29549 `kern/handler.c'.
29550 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29551 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29552 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29553 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29554 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29555 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29556
ceb1223c 295572009-03-04 Felix Zielcke <fzielcke@z-51.de>
29558
29559 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
29560 or if there's no space for the disk label and print the partition number on a
29561 invalid magic.
29562
4910684a 295632009-03-04 Felix Zielcke <fzielcke@z-51.de>
29564
29565 * util/misc.c: Include <time.h>.
29566 (grub_millisleep): New function.
29567
7e9ca17a 295682009-03-04 Bean <bean123ch@gmail.com>
29569
29570 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
29571 another option -mno-red-zone.
29572
29573 * commands/handler.c: Change module description.
29574
29575 * kern/handler.c: Add missing space at the end of description line.
29576
29577 * kern/list.c: Likewise.
29578
f501677c 295792009-03-03 Robert Millan <rmh@aybabtu.com>
29580
29581 Move more components to the relocation area, and fix mbi pointer
29582 handling to use the destination rather than the origin (thanks to
29583 Vladimir Serbinenko for spotting).
29584
29585 * loader/i386/multiboot.c (mbi_dest): New variable.
29586 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
29587 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
29588 relocation area.
29589
9902d047 295902009-03-01 Bean <bean123ch@gmail.com>
29591
50fb7002 29592 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 29593 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
29594 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
29595 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
29596
29597 * loader/i386/efi/linux.c (acpi_guid): New variable.
29598 (acpi_guid): Likewise.
29599 (EBDA_SEG_ADDR): New constant.
29600 (LOW_MEM_ADDR): Likewise.
29601 (FAKE_EBDA_SEG): Likewise.
29602 (fake_bios_data): New function.
29603 (grub_linux_boot): Call fake_bios_data.
29604
71b9f361 296052009-03-01 Bean <bean123ch@gmail.com>
29606
29607 * commands/terminal.c: Removed.
29608
29609 * commands/handler.c: New file.
29610
29611 * include/grub/list.h: Likewise.
29612
29613 * include/grub/handler.h: Likewise.
29614
29615 * kern/list.c: Likewise.
29616
29617 * kern/handler.c: Likewise.
29618
29619 * kern/term.h: Include header file <grub/handler.h>.
29620 (grub_term_input): Move next field to the beginning.
29621 (grub_term_output): Likewise.
29622 (grub_term_input_class): New variable.
29623 (grub_term_output_class): Likewise.
29624 (grub_term_register_input): Changed to inline function.
29625 (grub_term_register_output): Likewise.
29626 (grub_term_unregister_input): Likewise.
29627 (grub_term_unregister_output): Likewise.
29628 (grub_term_set_current_input): Likewise.
29629 (grub_term_set_current_output): Likewise.
29630 (grub_term_get_current_input): Likewise.
29631 (grub_term_get_current_output): Likewise.
29632 (grub_term_iterate_input): Removed.
29633 (grub_term_iterate_output): Likewise.
29634
29635 * kern/term.c (grub_term_list_input): Removed.
29636 (grub_term_list_output): Likewise.
29637 (grub_term_input_class): New variable.
29638 (grub_term_output_class): Likewise.
50fb7002 29639 (grub_cur_term_input): Change variable as macro.
71b9f361 29640 (grub_cur_term_output): Likewise.
29641 (grub_term_register_input): Removed.
29642 (grub_term_register_output): Likewise.
29643 (grub_term_unregister_input): Likewise.
29644 (grub_term_unregister_output): Likewise.
29645 (grub_term_set_current_input): Likewise.
29646 (grub_term_set_current_output): Likewise.
29647 (grub_term_iterate_input): Likewise.
29648 (grub_term_iterate_output): Likewise.
29649 (grub_term_get_current_input): Likewise.
29650 (grub_term_get_current_output): Likewise.
29651
29652 * util/grub-editenv.c: Include header file <grub/handler.h>.
29653 (grub_term_get_current_input): Removed.
29654 (grub_term_get_current_output): Likewise.
29655 (grub_term_input_class): New variable.
50fb7002 29656 (grub_term_output_class): Likewise.
71b9f361 29657
29658 * util/grub-fstest.c (grub_term_get_current_input): Removed.
29659 (grub_term_get_current_output): Likewise.
29660 (grub_term_input_class): New variable.
50fb7002 29661 (grub_term_output_class): Likewise.
71b9f361 29662
29663 * util/grub-probe.c (grub_term_get_current_input): Removed.
29664 (grub_term_get_current_output): Likewise.
29665 (grub_term_input_class): New variable.
50fb7002 29666 (grub_term_output_class): Likewise.
71b9f361 29667
29668 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
29669 (grub_term_get_current_output): Likewise.
29670 (grub_term_input_class): New variable.
50fb7002 29671 (grub_term_output_class): Likewise.
71b9f361 29672
29673 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
29674 (terminal_mod_SOURCES): Likewise.
29675 (terminal_mod_CFLAGS): Likewise.
29676 (terminal_mod_LDFLAGS): Likewise.
29677
29678 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
29679 handler.c.
29680 (kernel_img_SOURCES): Add list.c and handler.c.
29681 (kernel_img_HEADERS): Add list.h and handler.h.
29682
29683 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29684 handler.c.
29685 (kernel_mod_SOURCES): Add list.c and handler.c.
29686 (kernel_mod_HEADERS): Add list.h and handler.h.
29687
29688 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
29689 handler.c.
29690 (kernel_elf_SOURCES): Add list.c and handler.c.
29691 (kernel_elf_HEADERS): Add list.h and handler.h.
29692
29693 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29694 handler.c.
29695 (kernel_elf_SOURCES): Add list.c and handler.c.
29696 (kernel_elf_HEADERS): Add list.h and handler.h.
29697
29698 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29699 handler.c.
29700 (kernel_mod_SOURCES): Add list.c and handler.c.
29701 (kernel_mod_HEADERS): Add list.h and handler.h.
29702
29703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29704 handler.c.
29705 (kernel_elf_SOURCES): Add list.c and handler.c.
29706 (kernel_elf_HEADERS): Add list.h and handler.h.
29707
8a31787f 297082009-02-27 Robert Millan <rmh@aybabtu.com>
29709
29710 Factorize elf32 / elf64 code in Multiboot loader. This will
29711 prevent it from getting out of sync again.
29712
29713 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
29714 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
29715 grub_multiboot_load_elf64): Move from here ...
29716 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
29717 grub_multiboot_load_elf): ... to here (new file).
29718
51cd3dfc 297192009-02-27 Robert Millan <rmh@aybabtu.com>
29720
29721 * util/grub.d/10_linux.in: Rename "single-user mode" to
29722 "recovery mode".
29723
6e8c9c3a 297242009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
29725
29726 Don't leak in SCSI code.
29727 * disk/scsi.c (grub_scsi_close): free `scsi'.
29728
4b6bf4f9 297292009-02-27 Robert Millan <rmh@aybabtu.com>
29730
29731 * loader/i386/pc/multiboot.c: Move from here ...
29732 * loader/i386/multiboot.c: ... to here. Update all users.
29733
b9413424 297342009-02-27 Robert Millan <rmh@aybabtu.com>
29735
29736 Patch from Alexandre Bique <bique.alexandre@gmail.com>
29737 * util/i386/pc/grub-setup.c (setup): Fix directory path.
29738
50fb7002 297392009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 29740
29741 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
29742 b-tree.
29743
8cc50345 297442009-02-27 Robert Millan <rmh@aybabtu.com>
29745
29746 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
29747 `0x' qualifier as 0 when base is specified as parameter).
29748
6e09b8b7 297492009-02-24 Bean <bean123ch@gmail.com>
29750
29751 * configure.ac: Check for -mcmodel=large in x86_64 target.
29752
29753 * include/grub/efi/api.h (efi_call_10): New macro.
29754 (efi_wrap_10): New function.
29755
29756 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
29757 (GRUB_PE32_REL_BASED_HIGH): Likewise.
29758 (GRUB_PE32_REL_BASED_LOW): Likewise.
29759 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
29760 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
29761 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
29762 (GRUB_PE32_REL_BASED_SECTION): Likewise.
29763 (GRUB_PE32_REL_BASED_REL): Likewise.
29764 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
29765 (GRUB_PE32_REL_BASED_DIR64): Likewise.
29766 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
29767
29768 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
29769 issue.
29770
29771 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
29772 (efi_wrap_10): New function.
29773
29774 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
29775
29776 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
29777 MB/MBP model (NV chipset).
29778 (devdata_devs): Add devpath_5 to the list.
29779
29780 * load/i386/efi/linux.c (video_base): Remove variable.
29781 (RGB_MASK): New macro.
29782 (RGB_MAGIC): Likewise.
29783 (LINE_MIN): Likewise.
29784 (LINE_MAX): Likewise.
29785 (FBTEST_STEP): Likewise.
29786 (FBTEST_COUNT): Likewise.
29787 (fb_list): New variable.
29788 (grub_find_video_card): Remove function.
29789 (find_framebuf): New function.
29790 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
29791 line length.
29792
29793 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
29794 problem for x86_64.
29795
74b21bee 297962009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
29797
29798 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
29799
29800 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
29801 coding tool name.
29802
a455f472 298032009-02-22 Robert Millan <rmh@aybabtu.com>
29804
29805 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
29806 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
29807 in our relocation, instead of using it directly from heap. Also
29808 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
29809
6374daf3 298102009-02-21 Robert Millan <rmh@aybabtu.com>
29811
29812 Implement USB keyboard support (based on patch by Marco Gerards)
29813
29814 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
29815 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
29816 (usb_keyboard_mod_LDFLAGS): New variables.
29817
29818 * term/usb_keyboard.c: New file.
29819
8fa4ea70 298202009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29821
29822 Corrected wrong declaration
29823
29824 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
29825
353976ac 298262009-02-14 Christian Franke <franke@computer.org>
29827
29828 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
29829 (grub_lspci_iter): Print class code and programming interface byte.
29830
6aa1169b 298312009-02-14 Christian Franke <franke@computer.org>
29832
29833 * gendistlist.sh: Ignore `.svn' directories.
29834
265372ca 298352009-02-14 Felix Zielcke <fzielcke@z-51.de>
29836
29837 * fs/fat.c: Add 2009 to Copyright line.
29838
9ff516f3 298392009-02-14 Christian Franke <franke@computer.org>
29840
29841 * commands/hdparm.c: New file. Provides `hdparm' command
29842 which sends ATA commands via grub_disk_ata_pass_through ().
29843
29844 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
29845
29846 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
29847 and <grub/cpu/io.h> to include/grub/ata.h.
29848 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
29849 (GRUB_CDROM_SECTOR_SIZE): Remove.
29850 (GRUB_ATA_*): Move to include/grub/ata.h.
29851 (GRUB_ATAPI_*): Likewise.
29852 (enum grub_ata_commands): Likewise.
29853 (enum grub_ata_timeout_milliseconds): Likewise.
29854 (struct grub_ata_device): Likewise.
29855 (grub_ata_regset): Likewise.
29856 (grub_ata_regget): Likewise.
29857 (grub_ata_regset2): Likewise.
29858 (grub_ata_regget2): Likewise.
29859 (grub_ata_check_ready): Likewise.
29860 (grub_ata_wait_not_busy): Remove static, exported in
29861 include/grub/ata.h.
29862 (grub_ata_wait_drq): Likewise.
29863 (grub_ata_pio_read): Likewise.
29864
29865 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
29866 function for hdparm.mod.
29867
29868 * include/grub/ata.h: New file, contains declarations from
29869 disk/ata.c.
29870 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
29871
29872 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
29873 (grub_disk_ata_pass_through): New exported variable.
29874
29875 * kern/disk.c (grub_disk_ata_pass_through): New variable.
29876
772e23da 298772009-02-13 Colin D Bennett <colin@gibibit.com>
29878
29879 Support multiple fallback entries, and provide an API to support
29880 executing default+fallback menu entries. Renamed the `terminal' menu
29881 viewer to `text'.
29882
29883 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
29884 variable declaration.
29885 (grub_menu_execute_callback): New structure declaration.
29886 (grub_menu_execute_callback_t): New typedef.
29887 (grub_menu_execute_with_fallback): New function declaration.
29888 (grub_menu_get_entry): Likewise.
29889 (grub_menu_get_timeout): Likewise.
29890 (grub_menu_set_timeout): Likewise.
29891
29892 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
29893
29894 * normal/menu.c (grub_wait_after_message): Moved to
29895 `normal/menu_text.c'.
29896 (draw_border): Likewise.
29897 (print_message): Likewise.
29898 (print_entry): Likewise.
29899 (print_entries): Likewise.
29900 (grub_menu_init_page): Likewise.
29901 (get_entry_number): Likewise.
29902 (print_timeout): Likewise.
29903 (run_menu): Likewise.
29904 (grub_menu_execute_entry): Likewise.
29905 (show_text_menu): Likewise.
29906 (get_and_remove_first_entry_number): New function.
29907 (grub_menu_execute_with_fallback): Likewise.
29908 (get_entry): Renamed to ...
29909 (grub_menu_get_entry): .. this and made it global.
29910 (get_timeout): Renamed to ...
29911 (grub_menu_get_timeout): ... this and made it global.
29912 (set_timeout): Renamed to ...
29913 (grub_menu_set_timeout): ... this and made it global.
29914 (grub_normal_terminal_menu_viewer): Renamed to ...
29915 (grub_normal_text_menu_viewer): ... this.
29916
29917 * normal/menu_text.c: New file. Extracted text-menu-specific code
29918 from normal/menu.c.
29919
29920 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
29921 (normal_mod_SOURCES): Likewise.
29922
29923 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29924 (normal_mod_SOURCES): Likewise.
29925
29926 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29927 (normal_mod_SOURCES): Likewise.
29928
29929 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
29930 (normal_mod_SOURCES): Likewise.
29931
29932 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29933 (normal_mod_SOURCES): Likewise.
29934
29935 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29936 (normal_mod_SOURCES): Likewise.
29937
29938 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29939 (normal_mod_SOURCES): Likewise.
29940
16ac430e 299412009-02-11 Robert Millan <rmh@aybabtu.com>
29942
29943 * util/grub.d/00_header.in: Update old reference to `font' command.
29944
06ff20fc 299452009-02-10 Felix Zielcke <fzielcke@z-51.de>
29946
29947 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
29948
29949 Based on patch from Javier Martín.
29950
96da9407 299512009-02-09 Felix Zielcke <fzielcke@z-51.de>
29952
29953 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 29954 to avoid false positives with FAT.
96da9407 29955 (grub_fstest_SOURCES): Likewise.
29956 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29957 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29958 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29959 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29960 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29961 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29962
6dca6fe4 299632009-02-09 Felix Zielcke <fzielcke@z-51.de>
29964
06ff20fc 29965 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 29966 bpb.version_specific.fat12_or_fat16.fstype and
29967 bpb.version_specific.fat32.fstype.
29968
2550c62f 299692009-02-08 Robert Millan <rmh@aybabtu.com>
29970
be110b30 29971 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 29972
56978920 299732009-02-08 Robert Millan <rmh@aybabtu.com>
29974
29975 * Makefile.in (host_os, host_cpu): New variables.
29976 (target_os): Remove. Update all users.
29977
d64399b5 299782009-02-08 Marco Gerards <marco@gnu.org>
29979
29980 * Makefile.in (enable_grub_emu_usb): New variable.
29981 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
29982 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
29983 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
29984 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
29985 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
29986 `usbtest.mod' and `usbms.mod'.
29987 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
29988 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
29989 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
29990 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
29991 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
29992 variables.
29993
29994 * disk/usbms.c: New file.
29995
29996 * include/grub/usb.h: Likewise.
29997
29998 * include/grub/usbtrans.h: Likewise.
29999
30000 * include/grub/usbdesc.h: Likewise.
30001
30002 * bus/usb/usbtrans.c: Likewise.
30003
30004 * bus/usb/ohci.c: Likewise.
30005
30006 * bus/usb/uhci.c: Likewise.
30007
30008 * bus/usb/usbhub.c: Likewise.
30009
30010 * bus/usb/usb.c: Likewise.
30011
30012 * commands/usbtest.c: Likewise.
30013
30014 * util/usb.c: Likewise.
50fb7002 30015
d64399b5 30016 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
30017
30018 * configure.ac: Test for libusb presence.
50fb7002 30019
d64399b5 30020 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
30021
2b40d6bb 300222009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
30023
30024 * kern/mm.c: Add more comments.
30025
73a4ce81 300262009-02-08 Robert Millan <rmh@aybabtu.com>
30027
30028 Patch from Javier Martín.
30029 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
30030 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
30031
f821ce59 300322009-02-08 Robert Millan <rmh@aybabtu.com>
30033
30034 * fs/cpio.c: Split tar functionality to ...
30035 * fs/tar.c: ... here (new file). Update all users.
30036
aebfc4b0 300372009-02-07 Robert Millan <rmh@aybabtu.com>
30038
30039 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
30040 backward-incompatible features.
30041
30042 Based on patch from Javier Martín, with some adjustments.
30043
50fb7002 300442009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 30045
30046 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
30047
0bb5115e 300482009-02-07 Robert Millan <rmh@aybabtu.com>
30049
30050 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
30051 position of `disk/lvm.c' to ensure grub_init_all() always picks it
30052 after the RAID stuff.
30053
38a0f8e7 300542009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
30055
50fb7002 30056 Fixes problem when running vbetest command as reported by
38a0f8e7 30057 Vladimir Serbinenko <phcoder@gmail.com>.
30058
30059 * (grub_vbe_set_video_mode): Fixed problem with text modes.
30060
3143cc1c 300612009-02-04 Felix Zielcke <fzielcke@z-51.de>
30062
30063 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
30064 /dev/md/NpN style mdraid devices.
30065
9cba6fce 300662009-02-03 Felix Zielcke <fzielcke@z-51.de>
30067
30068 * util/unifont2pff.rb: Remove.
30069
e507a2c1 300702009-02-03 Felix Zielcke <fzielcke@z-51.de>
30071
30072 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
30073 `#'.
30074
d2c2b4cd 300752009-02-03 Felix Zielcke <fzielcke@z-51.de>
30076
30077 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
30078 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30079 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30080 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30081 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30082 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30083 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30084
b4315fb0 300852009-02-02 Christian Franke <franke@computer.org>
30086
30087 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
30088
de3aa260 300892009-02-01 Felix Zielcke <fzielcke@z-51.de>
30090
7c3ff286 30091 * INSTALL: Note that we now require at least autoconf 2.59 and
30092 that LZO is optional.
de3aa260 30093
825a182b 300942009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30095
30096 Base on patch on bug #24154 created by Tomas Tintera
30097 <trosos@seznam.cz>.
30098
30099 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
30100
a69ef770 301012009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30102
7c3ff286 30103 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 30104 <bero@arklinux.org>.
30105
30106 * normal/parser.y (script_init): Add missing semicolon.
30107
6fa42fa6 301082009-01-31 Colin D Bennett <colin@gibibit.com>
30109
7c3ff286 30110 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 30111 (free_menu_entry_classes): Added.
30112 (grub_normal_menu_addentry): Added class property handling.
30113 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
30114 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
30115
30116 * normal/menu_viewer.c: New file.
30117
30118 * normal/menu.c (run_menu_entry): Renamed to ...
30119 (grub_menu_execute_entry): ... this and made it as global.
30120 (grub_menu_run): Renamed to ...
30121 (show_text_menu): ... this and made it local.
30122 (show_text_menu): Adapt to new function names.
30123 (grub_normal_terminal_menu_viewer): New global variable.
30124
30125 * include/grub/menu.h: New file.
30126
30127 * include/grub/menu_viewer.h: New file.
30128
30129 * include/grub/normal.h: Added include to grub/menu.h.
30130 (grub_menu_entry): Moved to include/grub/menu.h.
30131 (grub_menu_entry_t): Likewise.
30132 (grub_menu): Likewise.
30133 (grub_menu_t): Likewise.
30134 (grub_normal_terminal_menu_viewer): Added.
30135 (grub_menu_execute_entry): Likewise.
30136 (grub_menu_run): Removed.
30137
30138 * DISTLIST: Added include/grub/menu.h.
30139 Added include/grub/menu_viewer.h.
30140 Added normal/menu_viewer.c.
30141
301422009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
30143
30144 * normal/execute.c (grub_script_execute_menuentry): Changed to use
30145 arglist for menutitle arguments.
30146
30147 * normal/main.c (grub_normal_menu_addentry): Likewise.
30148
30149 * normal/parser.y (menuentry): Likewise.
30150
30151 * normal/script.c (grub_script_create_cmdmenu): Likewise.
30152
30153 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
30154 (grub_script_create_cmdmenu): Likewise.
30155
30156 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
30157
30158 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
30159 changes.
30160
30161 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
30162
30163 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
30164
30165 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
30166
30167 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30168
30169 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30170
30171 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30172
56192c23 301732009-01-30 Christian Franke <franke@computer.org>
30174
30175 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
30176 in option help text.
30177
d72521b3 301782009-01-27 Pavel Roskin <proski@gnu.org>
30179
30180 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
30181
994b5e84 301822009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30183
30184 * commands/lsmmap.c: Add include to grub/machine/memory.h.
30185
30186 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
30187
30188 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
30189 unregister function.
30190
6a7eab2c 301912009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30192
30193 * disk/scsi.c (grub_scsi_read): Fix sign problem.
30194
30195 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
30196
30197 * util/grub-mkfont.c (usage): Fix typo.
30198
30199 * util/elf/grub-mkimage.c (load_modules): Fix warning.
30200
1806b56e 302012009-01-26 Daniel Mierswa <impulze@impulze.org>
30202
3fb18f09 30203 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
30204
336e1fb9 30205 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
30206
1806b56e 30207 * kern/misc.c (grub_strcasecmp): New function.
30208 (grub_strcasecmp): Use grub_size_t instead of int for length.
30209 Fix return value.
30210 * include/grub/misc.h: Update function prototypes.
30211
580b2a0f 302122009-01-26 Robert Millan <rmh@aybabtu.com>
30213
30214 * configure.ac: Fix cross-compilation check.
ef257b36 30215
d31c24f1 302162009-01-22 Christian Franke <franke@computer.org>
30217
30218 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
30219 (precision) digit string. Allow `.format2' without `format1' (width).
30220 Limit input chars for `%s' output to `format2' if specified. This is
30221 compatible with standard printf ().
30222
3138b44c 302232009-01-22 Christian Franke <franke@computer.org>
30224
30225 * disk/ata.c (grub_ata_wait_status): Replace by ...
30226 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
30227 other status bits may be invalid while BSY is asserted.
30228 (grub_ata_check_ready): New function.
30229 (grub_ata_cmd): Removed.
30230 (grub_ata_wait_drq): New function.
30231 (grub_ata_strncpy): Remove inline.
30232 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
30233 and error check now done by grub_ata_wait_drq ().
30234 (grub_ata_pio_write): Likewise.
30235 (grub_atapi_identify): Set DEV before check for !BSY. Use
30236 grub_ata_wait_drq () to wait for data.
30237 (grub_ata_device_initialize): Add status register check to
30238 detect missing SATA slave devices. Add debug messages.
30239 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
30240 (grub_atapi_packet): Set DEV before check for !BSY. Replace
30241 transfer loop by grub_ata_pio_write ().
30242 (grub_ata_identify): Set DEV before check for !BSY. Use
30243 grub_ata_wait_drq () to wait for data.
ef257b36 30244 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 30245 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
30246 read/write in one loop. Fix invalid command on write. Fix incomplete
30247 command on (size % batch) == 0. Add missing error check after write of
30248 last block. Add debug messages.
30249 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
30250
59a64ef6 302512009-01-19 Christian Franke <franke@computer.org>
30252
30253 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
30254 (GRUB_ATAPI_IREASON_*): Likewise.
30255 (grub_ata_pio_write): Fix timeout error return.
30256 (grub_atapi_identify): Add grub_ata_wait () after cmd.
30257 (grub_atapi_wait_drq): New function.
30258 (grub_atapi_packet): New parameter `size'.
30259 Use grub_atapi_wait_drq () and direct write instead of
30260 grub_ata_pio_write ().
30261 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
30262 reads the number of bytes requested by the device for each DRQ
30263 assertion.
30264 (grub_atapi_write): Remove old implementation, return not
30265 implemented instead.
30266
1cfe20b3 302672009-01-19 Christian Franke <franke@computer.org>
30268
30269 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
30270 of 512 to calculate data size.
30271 (grub_scsi_read12): Likewise.
30272 (grub_scsi_write10): Likewise.
30273 (grub_scsi_write12): Likewise.
30274 (grub_scsi_read): Adjust size according to blocksize.
30275 Add checks for invalid blocksize and unaligned transfer.
30276
bee5fe5d 302772009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30278
30279 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30280
ef257b36 30281 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 30282 width glyphs.
30283
3e643f8c 302842009-01-19 Robert Millan <rmh@aybabtu.com>
30285
30286 * config.guess: Update to latest version from config git.
30287 * config.sub: Likewise.
30288
4fa80998 302892009-01-17 Felix Zielcke <fzielcke@z-51.de>
30290
30291 * Makefile.in: Change font compilation to use new grub-mkfont instead
30292 of java version.
30293
30294 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30295 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30296 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30297 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30298 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30299 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30300 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30301 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30302 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30303
7086085b 303042009-01-16 Christian Franke <franke@computer.org>
30305
30306 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30307 (enum grub_ata_timeout_milliseconds): New enum.
30308 (grub_ata_wait_status): Add parameter milliseconds.
30309 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30310 recovery from timed-out commands.
30311 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30312 return grub_errno instead of REG_ERROR.
30313 (grub_ata_pio_write): Add parameter milliseconds.
30314 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30315 Pass milliseconds to grub_ata_wait_status () and
30316 grub_ata_pio_read ().
30317 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30318 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30319 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30320 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30321 It is not suitable for device detection, because DEV bit is ignored,
30322 the command may run too long, and not all devices set the signature
30323 properly.
30324 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30325 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30326 Fix device selection, DEV bit must be set first to address the registers
30327 of the correct device.
30328 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30329 grub_ata_pio_read/write ().
30330 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30331 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30332
4a412913 303332009-01-13 Carles Pina i Estany <carles@pina.cat>
30334
30335 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30336
7795c55e 303372009-01-13 Bean <bean123ch@gmail.com>
d913988c 30338
30339 * util/grub-mkfont.c (write_font): forget to remove some debug code.
30340
7795c55e 303412009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 30342
30343 * Makefile.in: (enable_grub_mkfont): New variable.
30344 (freetype_cflags): Likewise.
30345 (freetype_libs): Likewise.
30346
30347 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
30348 (grub_mkfont_SOURCES): New variable.
30349 (grub_mkfont_CFLAGS): Likewise.
30350 (grub_mkfont_LDFLAGS): Likewise.
30351
30352 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
30353 library if `--enable-grub-mkfont' is requested.
30354 (enable_grub_mkfont): New variable.
30355 (freetype_cflags): Likewise.
30356 (freetype_libs): Likewise.
30357
30358 * util/grub-mkfont.c: New file.
30359
093af1fe 303602009-01-12 Christian Franke <franke@computer.org>
30361
30362 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
30363 mode check. Fix setting of compat_use[].
30364
f36cc108 303652009-01-10 Robert Millan <rmh@aybabtu.com>
30366
30367 Update a few copyright years which we forgot to do in 2008 (only for
30368 files whose changes made in 2008 were copyright-significant)
30369
30370 * Makefile.in: Add 2008 to Copyright line.
30371 * disk/ieee1275/ofdisk.c: Likewise.
30372 * disk/efi/efidisk.c: Likewise.
30373 * kern/dl.c: Likewise.
30374 * kern/sparc64/ieee1275/init.c: Likewise.
30375 * kern/mm.c: Likewise.
30376 * kern/efi/mm.c: Likewise.
30377 * boot/i386/pc/boot.S: Likewise.
30378 * genfslist.sh: Likewise.
30379 * fs/iso9660.c: Likewise.
30380 * fs/hfs.c: Likewise.
30381 * fs/jfs.c: Likewise.
30382 * fs/minix.c: Likewise.
30383 * fs/ufs.c: Likewise.
30384 * gensymlist.sh.in: Likewise.
30385 * genkernsyms.sh.in: Likewise.
30386 * include/grub/misc.h: Likewise.
30387 * include/grub/types.h: Likewise.
30388 * include/grub/symbol.h: Likewise.
30389 * include/grub/elf.h: Likewise.
30390 * include/grub/kernel.h: Likewise.
30391 * include/grub/disk.h: Likewise.
30392 * include/grub/dl.h: Likewise.
30393 * include/grub/i386/linux.h: Likewise.
30394 * include/grub/i386/pc/biosdisk.h: Likewise.
30395 * include/grub/efi/api.h: Likewise.
30396 * include/grub/efi/pe32.h: Likewise.
30397 * include/grub/util/misc.h: Likewise.
30398 * normal/execute.c: Likewise.
30399 * normal/arg.c: Likewise.
30400 * normal/completion.c: Likewise.
30401 * normal/lexer.c: Likewise.
30402 * normal/parser.y: Likewise.
30403 * normal/misc.c: Likewise.
30404 * commands/i386/pc/vbeinfo.c: Likewise.
30405 * commands/hexdump.c: Likewise.
30406 * commands/terminal.c: Likewise.
30407 * commands/ls.c: Likewise.
30408 * commands/help.c: Likewise.
30409 * partmap/pc.c: Likewise.
30410 * loader/efi/chainloader.c: Likewise.
30411 * loader/multiboot_loader.c: Likewise.
30412 * loader/i386/pc/multiboot2.c: Likewise.
30413 * term/efi/console.c: Likewise.
30414 * term/i386/pc/serial.c: Likewise.
30415 * util/lvm.c: Likewise.
30416 * util/console.c: Likewise.
30417 * util/i386/efi/grub-mkimage.c: Likewise.
30418 * util/raid.c: Likewise.
30419
7f02114b 304202009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
30421
30422 * commands/videotest.c: Removed include to grub/machine/memory.h.
30423
30424 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
30425 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
30426 (video_mod_SOURCES): Removed.
30427 (video_mod_CFLAGS): Likewise.
30428 (video_mod_LDFLAGS): Likewise.
30429 (gfxterm_mod_SOURCES): Likewise.
30430 (gfxterm_mod_CFLAGS): Likewise.
30431 (gfxterm_mod_LDFLAGS): Likewise.
30432 (videotest_mod_SOURCES): Likewise.
30433 (videotest_mod_CFLAGS): Likewise.
30434 (videotest_mod_LDFLAGS): Likewise.
30435 (bitmap_mod_SOURCES): Likewise.
30436 (bitmap_mod_CFLAGS): Likewise.
30437 (bitmap_mod_LDFLAGS): Likewise.
30438 (tga_mod_SOURCES): Likewise.
30439 (tga_mod_CFLAGS): Likewise.
30440 (tga_mod_LDFLAGS): Likewise.
30441 (jpeg_mod_SOURCES): Likewise.
30442 (jpeg_mod_CFLAGS): Likewise.
30443 (jpeg_mod_LDFLAGS): Likewise.
30444 (png_mod_SOURCES): Likewise.
30445 (png_mod_CFLAGS): Likewise.
30446 (png_mod_LDFLAGS): Likewise.
30447
30448 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
30449 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
30450 (video_mod_SOURCES): Added.
30451 (video_mod_CFLAGS): Likewise.
30452 (video_mod_LDFLAGS): Likewise.
30453 (videotest_mod_SOURCES): Likewise.
30454 (videotest_mod_CFLAGS): Likewise.
30455 (videotest_mod_LDFLAGS): Likewise.
30456 (bitmap_mod_SOURCES): Likewise.
30457 (bitmap_mod_CFLAGS): Likewise.
30458 (bitmap_mod_LDFLAGS): Likewise.
30459 (tga_mod_SOURCES): Likewise.
30460 (tga_mod_CFLAGS): Likewise.
30461 (tga_mod_LDFLAGS): Likewise.
30462 (jpeg_mod_SOURCES): Likewise.
30463 (jpeg_mod_CFLAGS): Likewise.
30464 (jpeg_mod_LDFLAGS): Likewise.
30465 (png_mod_SOURCES): Likewise.
30466 (png_mod_CFLAGS): Likewise.
30467 (png_mod_LDFLAGS): Likewise.
30468 (gfxterm_mod_SOURCES): Likewise.
30469 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 30470 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 30471
30472 * term/gfxterm.c: Removed include to grub/machine/memory.h,
30473 grub/machine/console.h.
30474
644fff97 304752009-01-04 Jerone Young <jerone@gmail.com>
30476
30477 Make on screen instructions clearer
30478
30479 Based on patch created by Jidanni <jidanni@jidanni.org>
30480
30481 * normal/menu.c: print clearer instructions on the screen
30482
1e901a75 304832009-01-02 Colin D Bennett <colin@gibibit.com>
30484
30485 New font engine.
34c44600 30486
1e901a75 30487 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
30488 build system and fixed gfxterm.c to work with different sized fonts.
30489
30490 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 30491
1e901a75 30492 * configure: Re-generated.
34c44600 30493
1e901a75 30494 * DISTLIST: Removed font/manager.c.
30495 Added font/font.c.
30496 Added font/font_cmd.c.
34c44600 30497
1e901a75 30498 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
30499 compilation.
34c44600 30500
1e901a75 30501 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 30502
30503 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 30504
30505 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 30506
1e901a75 30507 * normal/menu.c: Likewise.
34c44600 30508
1e901a75 30509 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
30510 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 30511
1e901a75 30512 * include/grub/font.h: Replaced with new file.
34c44600 30513
1e901a75 30514 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
30515 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
30516 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
30517 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
30518 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 30519 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 30520 fg_red, fg_green, fg_blue, fg_alpha.
30521 (grub_video_adapter): Removed blit_glyph.
34c44600 30522 (grub_video_blit_glyph): Removed.
30523
1e901a75 30524 * font/manager.c: Removed file.
34c44600 30525
30526 * font/font.c: New file.
30527
1e901a75 30528 * font/font_cmd.c: Likewise.
34c44600 30529
1e901a75 30530 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 30531
1e901a75 30532 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
30533 (grub_video_vbe_map_rgba): Likewise.
30534 (grub_video_vbe_unmap_color_int): Likewise.
30535 (grub_video_vbe_blit_glyph): Removed.
30536 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 30537
1e901a75 30538 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
30539 (get_pixel): Likewise.
34c44600 30540 (set_pixel): Likewise.
30541
1e901a75 30542 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 30543
1e901a75 30544 * term/gfxterm.c: Adapted to new font engine.
34c44600 30545
1e901a75 30546 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 30547
1e901a75 30548 * term/i386/pc/vga.c: Likewise.
34c44600 30549
1e901a75 30550 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 30551
1e901a75 30552 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 30553
1e901a75 30554 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30555
1e901a75 30556 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30557
1e901a75 30558 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 30559
1e901a75 30560 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 30561
1e901a75 30562 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 30563
1e901a75 30564 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 30565
1e901a75 30566 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30567
30568 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 30569
1e901a75 30570 * util/grub-mkconfig_lib.in: Changed font extension.
30571
278922e8 305722008-12-28 Felix Zielcke <fzielcke@z-51.de>
30573
30574 * util/getroot.c (grub_util_get_grub_dev): Add support for
30575 /dev/md/dNNpNN style partitionable mdraid devices.
30576
3ced05cf 305772008-12-12 Alex Smith <alex@alex-smith.me.uk>
30578
30579 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
30580 at a time limit of the PXE TFTP API correctly.
30581 (grub_pxefs_close): Likewise.
30582
7fd0ee30 305832008-11-29 Robert Millan <rmh@aybabtu.com>
30584
34c44600 30585 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 30586 grub_ata_device_initialize() calls.
30587
34c44600 305882008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 30589
30590 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
30591 iteration failed.
30592 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
30593
89313780 305942008-11-28 Robert Millan <rmh@aybabtu.com>
30595
30596 Fix build on powerpc-ieee1275. Based on patch created by
30597 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
30598 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30599 `kern/ieee1275/mmap.c'.
30600 * include/grub/powerpc/ieee1275/memory.h: New file.
30601
15257703 30602 Provide grub-install on coreboot.
30603 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
30604 (grub_install_SOURCES): New variable.
30605 * util/i386/pc/grub-install.in: Add a few condition checks to make it
30606 usable on coreboot.
30607
9fc5388a 306082008-11-25 Felix Zielcke <fzielcke@z-51.de>
30609
30610 * util/grub-fstest.c (grub_term_get_current_input): Change return type
30611 to `grub_term_input_t'.
30612 (grub_term_get_current_output): Change return type to
30613 `grub_term_output_t'.
30614
bc3a2f31 306152008-11-22 Robert Millan <rmh@aybabtu.com>
30616
34c44600 30617 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 30618 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
30619 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
30620 grub_vga_text_cls().
30621
80fc88f2 30622 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 30623 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 30624
cbf36fd3 30625 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
30626 to 0x200000 (avoids trouble with some OFW implementations, and matches
30627 with the one in Yaboot).
30628 Reported by Manoel Abranches
30629
73e8e268 306302008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 30631
30632 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
30633 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
30634
73e8e268 30635 * util/grub-mkconfig_lib.in (grub_warn): New function.
30636 (convert_system_path_to_grub_path): Use grub_warn() when issuing
30637 warnings, to obtain consistent formatting.
30638 * util/grub.d/00_header.in: Likewise.
30639 * util/update-grub_lib.in: Likewise.
30640
e94045a1 30641 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 30642 Move comment text to `#error' stanza.
e94045a1 30643
79d29fd7 30644 Harmonize ieee1275's grub_available_iterate() with the generic
30645 grub_machine_mmap_iterate() interface (fixes a recently-introduced
30646 build problem on i386-ieee1275):
30647 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
30648 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
30649 parameter `type'. Update all users of this function.
30650 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30651 `kern/ieee1275/mmap.c'.
30652 * kern/ieee1275/init.c
30653 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
30654 with ...
30655 (grub_machine_mmap_iterate): ... this.
30656 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
30657 return type to `grub_err_t'. Update all implementations of this
30658 function prototype.
30659 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
30660 Likewise.
30661
60d6b16e 30662 Add `lsmmap' command (lists firmware-provided memory map):
30663 * commands/lsmmap.c: New file.
30664 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
30665 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
30666 variables.
30667 * conf/powerpc-ieee1275.rmk: Likewise.
30668 * conf/i386-coreboot.rmk: Likewise.
30669 * conf/i386-ieee1275.rmk: Likewise.
30670
ebaaf49b 306712008-11-19 Robert Millan <rmh@aybabtu.com>
30672
30673 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 30674 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
30675 constraints to initrd allocation (based on code from
30676 loader/i386/pc/linux.c). Without them, initrd was allocated too high
30677 for Linux to find it.
ebaaf49b 30678
dfab719f 306792008-11-14 Robert Millan <rmh@aybabtu.com>
30680
30681 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
30682 order to cope with duplicate slashes.
30683
10fc3eb9 306842008-11-14 Robert Millan <rmh@aybabtu.com>
30685
30686 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
30687 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
30688 don't want to mess with lower memory, because it is used in the Linux
30689 loader.
30690
30691 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 30692 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 30693 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
30694 is in our heap (probably as a result of it being corrupted during
2f2a3442 30695 decompression). Add #error instance with comment to explain why this
30696 loader isn't currently usable on PC/BIOS.
10fc3eb9 30697
e2e07847 306982008-11-14 Robert Millan <rmh@aybabtu.com>
30699
30700 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 30701 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 30702
fe8e8d69 307032008-11-12 Robert Millan <rmh@aybabtu.com>
30704
30705 Make loader/i386/linux.c buildable on i386-pc (although disabled).
30706
30707 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
30708 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
30709 from here ...
30710 * include/grub/i386/pc/memory.h: ... to here.
30711
976b07d0 307122008-11-12 Robert Millan <rmh@aybabtu.com>
30713
30714 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
30715 split).
30716
30717 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
30718 (grub_console_cur_color, grub_console_real_putchar)
30719 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30720 (grub_console_setcolorstate, grub_console_setcolor)
30721 (grub_console_getcolor): Move from here ...
30722 * include/grub/i386/vga_common.h: ... to here (new file).
30723
30724 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
30725 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
30726 `<grub/i386/io.h>'.
30727 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
30728 `<grub/i386/vga_common.h>'.
30729
76679cd3 307302008-11-12 Robert Millan <rmh@aybabtu.com>
30731
30732 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
30733 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
30734 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
30735 variables.
30736 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30737 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
30738
30739 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
30740 grub_console_init() with call to grub_vga_text_init().
30741 (grub_machine_fini): Replace call to
30742 grub_console_fini() with call to grub_vga_text_fini() and
30743 grub_at_keyboard_fini().
30744
30745 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
30746 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30747 (grub_console_setcolorstate, grub_console_setcolor)
30748 (grub_console_getcolor): New function prototypes.
30749
30750 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
30751 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
30752 (grub_vga_text_setcursor): Static-ize.
30753 (grub_vga_text_term): New structure.
30754 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
30755
30756 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
30757 (grub_console_cur_color, grub_console_standard_color)
30758 (grub_console_normal_color, grub_console_highlight_color)
30759 (map_char, grub_console_putchar, grub_console_getcharwidth)
30760 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
30761 (grub_console_getcolor): Move from here ...
30762 * term/i386/vga_common.c: ... to here (same function names).
30763
95b841d3 307642008-11-12 Robert Millan <rmh@aybabtu.com>
30765
30766 Use newly-added Multiboot support in coreboot.
30767
30768 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30769 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
30770
30771 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
30772 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
30773 (codestart): Store the MBI in `startup_multiboot_info' when we're
30774 being loaded using Multiboot.
30775
30776 * kern/i386/coreboot/init.c (grub_machine_init): Move
30777 grub_at_keyboard_init() call to beginning of function (useful for
30778 debugging). Call grub_machine_mmap_init() before attempting to use
30779 grub_machine_mmap_iterate().
30780 (grub_lower_mem, grub_upper_mem): Move from here ...
30781 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
30782 here (new file).
30783
30784 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
30785 function prototype.
30786
761ca975 307872008-11-12 Robert Millan <rmh@aybabtu.com>
30788
30789 Fix a regression introduced by the at_keyboard.mod split. Because
30790 some terminals are default on some platforms and non-default on
30791 others, the first terminal being registered determines which is
30792 going to be default.
30793
30794 * kern/term.c (grub_term_register_input): If this is the first
30795 terminal being registered, set it as the current one.
30796 (grub_term_register_output): Likewise.
30797
30798 * term/efi/console.c (grub_console_init): Do not call
30799 grub_term_set_current_output() or grub_term_set_current_input().
30800 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
30801 * term/i386/pc/console.c (grub_console_init): Likewise.
30802 (grub_console_fini): Do not call grub_term_set_current_input()
30803 (but leave grub_term_set_current_output() to restore text mode).
30804
6c529df7 308052008-11-10 Robert Millan <rmh@aybabtu.com>
30806
30807 * util/grub.d/00_header.in: Add backward compatibility check for
30808 versions of terminal.mod that don't understand `terminal_input' or
30809 `terminal_output'.
30810
132e4113 308112008-11-09 Robert Millan <rmh@aybabtu.com>
30812
30813 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
30814 `terminal_input' / `terminal_output', not `terminal'.
30815
ac293d50 308162008-11-08 Robert Millan <rmh@aybabtu.com>
30817
30818 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 30819 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 30820
0025933a 308212008-11-08 Robert Millan <rmh@aybabtu.com>
30822
30823 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 30824 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 30825 members. Update all users.
30826 * util/console.c (grub_ncurses_term): Split in ...
30827 (grub_ncurses_term_input): ... this, and ...
30828 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 30829 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 30830
37c86336 308312008-11-08 Robert Millan <rmh@aybabtu.com>
30832
30833 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
30834 (PKGDATA): Add $(pkgdata_SRCDIR).
30835 (pkglib_BUILDDIR): New variable.
30836 (pkgdata_SRCDIR): New variable.
30837 (build_env.mk): New target.
30838 (include_DATA): New variable.
30839 (install-local): Install $(include_DATA) files in $(includedir).
30840
b6c15a2d 308412008-11-07 Pavel Roskin <proski@gnu.org>
30842
d99d46f1 30843 * gendistlist.sh: Use C locale for sorting to ensure consistent
30844 output on all systems.
30845
b6c15a2d 30846 * util/grub.d/00_header.in: Remove incorrect space before
30847 "serial".
30848
c32ee8c9 308492008-11-07 Robert Millan <rmh@aybabtu.com>
30850
30851 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
30852 per specification.
30853 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
30854 * loader/multiboot_loader.c (find_multi_boot2_header): New function
30855 (based on find_multi_boot1_header).
30856 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
30857 using find_multi_boot2_header(), and abort if neither Multiboot or
30858 Multiboot headers were found.
30859
651c29b7 308602008-11-07 Robert Millan <rmh@aybabtu.com>
30861
30862 Modularize at_keyboard.mod:
30863
30864 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
30865 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30866 (at_keyboard_mod_LDFLAGS): New variables.
30867
30868 Actual terminal split:
30869
30870 * include/grub/term.h (struct grub_term): Split in ...
30871 (struct grub_term_input): ... this, and ...
30872 (struct grub_term_output): ... this. Update all users.
30873 (grub_term_set_current): Split in ...
30874 (grub_term_set_current_input): ... this, and ...
30875 (grub_term_set_current_output): ... this.
30876 (grub_term_get_current): Split in ...
30877 (grub_term_get_current_input): ... this, and ...
30878 (grub_term_get_current_output): ... this.
30879 (grub_term_register): Split in ...
30880 (grub_term_register_input): ... this, and ...
30881 (grub_term_register_output): ... this.
30882 (grub_term_unregister): Split in ...
30883 (grub_term_unregister_input): ... this, and ...
30884 (grub_term_unregister_output): ... this.
30885 (grub_term_iterate): Split in ...
30886 (grub_term_iterate_input): ... this, and ...
30887 (grub_term_iterate_output): ... this.
30888
30889 * kern/term.c (grub_term_list): Split in ...
30890 (grub_term_list_input): ... this, and ...
30891 (grub_term_list_output): ... this. Update all users.
30892 (grub_cur_term): Split in ...
30893 (grub_cur_term_input): ... this, and ...
30894 (grub_cur_term_output): ... this. Update all users.
30895 (grub_term_set_current): Split in ...
30896 (grub_term_set_current_input): ... this, and ...
30897 (grub_term_set_current_output): ... this.
30898 (grub_term_get_current): Split in ...
30899 (grub_term_get_current_input): ... this, and ...
30900 (grub_term_get_current_output): ... this.
30901 (grub_term_register): Split in ...
30902 (grub_term_register_input): ... this, and ...
30903 (grub_term_register_output): ... this.
30904 (grub_term_unregister): Split in ...
30905 (grub_term_unregister_input): ... this, and ...
30906 (grub_term_unregister_output): ... this.
30907 (grub_term_iterate): Split in ...
30908 (grub_term_iterate_input): ... this, and ...
30909 (grub_term_iterate_output): ... this.
30910
30911 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
30912 a check for input and one for output (and only attempt to get keys
30913 from user when input works).
30914
30915 * util/grub-probe.c (grub_term_get_current): Split in ...
30916 (grub_term_get_current_input): ... this, and ...
30917 (grub_term_get_current_output): ... this.
30918 * util/grub-fstest.c: Likewise.
30919 * util/i386/pc/grub-setup.c: Likewise.
30920 * util/grub-editenv.c: Likewise.
30921
30922 Portability adjustments:
30923
30924 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
30925 `term/i386/pc/at_keyboard.c'.
30926 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
30927 grub_keyboard_controller_init() (now handled by terminal .init).
30928 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
30929 grub_at_keyboard_init().
30930 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
30931 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
30932 at_keyboard.mod via input terminal interface).
30933 * include/grub/i386/coreboot/console.h: Convert into a stub for
30934 `<grub/i386/pc/console.h>'.
30935
30936 Migrate full terminals to new API:
30937
30938 * term/efi/console.c (grub_console_term): Split into ...
30939 (grub_console_term_input): ... this, and ...
30940 (grub_console_term_output): ... this. Update all users.
30941 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
30942 (grub_ofconsole_init): Split into ...
30943 (grub_ofconsole_init_input): ... this, and ...
30944 (grub_ofconsole_init_output): ... this.
30945 (grub_ofconsole_term): Split into ...
30946 (grub_ofconsole_term_input): ... this, and ...
30947 (grub_ofconsole_term_output): ... this. Update all users.
30948 * term/i386/pc/serial.c (grub_serial_term): Split into ...
30949 (grub_serial_term_input): ... this, and ...
30950 (grub_serial_term_output): ... this. Update all users.
30951 * term/i386/pc/console.c (grub_console_term): Split into ...
30952 (grub_console_term_input): ... this, and ...
30953 (grub_console_term_output): ... this. Update all users.
30954 (grub_console_term_input): Only enable it on PC/BIOS platform.
30955 (grub_console_init): Remove grub_keyboard_controller_init() call.
30956
30957 Migrate input terminals to new API:
30958
30959 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
30960 `i386' and `i386/pc' to enable build on x86_64 (this driver is
30961 i386-specific anyway).
30962 (grub_console_checkkey): Rename to ...
30963 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
30964 users.
30965 (grub_keyboard_controller_orig): New variable.
30966 (grub_console_getkey): Rename to ...
30967 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
30968 users.
30969 (grub_keyboard_controller_init): Static-ize. Save original
30970 controller value so that it can be restored ...
30971 (grub_keyboard_controller_fini): ... here (new function).
30972 (grub_at_keyboard_term): New structure.
30973 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
30974 functions.
30975
30976 Migrate output terminals to new API:
30977
30978 * term/i386/pc/vga.c (grub_vga_term): Change type to
30979 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30980 members. Update all users.
30981 * term/gfxterm.c (grub_video_term): Change type to
30982 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30983 members. Update all users.
30984 * include/grub/i386/pc/console.h (grub_console_checkkey)
30985 (grub_console_getkey): Do not export (no longer needed by gfxterm,
30986 etc).
30987
30988 Migrate `terminal' command and userland tools to new API:
30989
30990 * commands/terminal.c (grub_cmd_terminal): Split into ...
30991 (grub_cmd_terminal_input): ... this, and ...
30992 (grub_cmd_terminal_output): ... this.
30993 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
30994 `terminal_input' and `terminal_output'.
30995 * util/grub.d/00_header.in: Adjust `terminal' calls to new
30996 `terminal_input' / `terminal_output' API.
30997 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
30998 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
30999 provided ${GRUB_TERMINAL}, convert it).
31000
96e5d876 310012008-11-04 Robert Millan <rmh@aybabtu.com>
31002
31003 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
31004 for FreeBSD.
31005 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
31006
556f3775 310072008-11-03 Bean <bean123ch@gmail.com>
31008
31009 * kern/elf.c (grub_elf32_load): Revert to previous code.
31010 (grub_elf64_load): Likewise.
31011
31012 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
31013
926b9823 310142008-11-01 Robert Millan <rmh@aybabtu.com>
31015
31016 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
31017 (TARGET_CPPFLAGS): Likewise.
31018 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
31019
1432e958 310202008-11-01 Carles Pina i Estany <carles@pina.cat>
31021
31022 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
31023
dba3f844 310242008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 31025
31026 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
31027 addition of objects until the code is not going to be able to fail.
31028
dba3f844 310292008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 31030
31031 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
31032 (add a missing NULL check, and correct them by moving the pointer
31033 operations after the actual check).
31034
7ab28c21 310352008-10-29 Robert Millan <rmh@aybabtu.com>
31036
31037 * util/i386/pc/grub-install.in: Handle empty string as output from
31038 make_system_path_relative_to_its_root().
31039
1b7748eb 310402008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
31041
31042 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
31043 circular metadata worst case scenario. If the metadata is circular
31044 then copy the wrap in place.
31045 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
31046 project lib/format_text/layout.h
31047 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
31048
c9618ab2 310492008-10-03 Felix Zielcke <fzielcke@z-51.de>
31050
7a36edca 31051 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 31052
bf981c62 310532008-10-03 Felix Zielcke <fzielcke@z-51.de>
31054
31055 * util/update-grub_lib.in: Mention filename in warning message.
31056
6d994591 310572008-09-29 Felix Zielcke <fzielcke@z-51.de>
31058
31059 * NEWS: Update for rename of update-grub to grub-mkconfig.
31060
18ade780 310612008-09-29 Felix Zielcke <fzielcke@z-51.de>
31062
31063 * util/update-grub_lib.in: Copy to ...
31064 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 31065 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 31066 * util/update-grub.in: Rename to ...
31067 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
31068 option. Add `--output' option to allow users to specify the generated
31069 configuration file. Default to stdout.
31070 (update_grub_dir): Rename to ...
31071 (grub_mkconfig_dir): ... this.
31072 (grub_cfg): Default to an empty string.
31073 * conf/common.rmk (update-grub): Rename to ...
31074 (grub-mkconfig): ... this.
31075 (update-grub_lib): Copy to ...
31076 (grub-mkconfig_lib): ... this.
31077 (update-grub_SCRIPTS): Copy to ...
31078 (grub-mkconfig_SCRIPTS): ... this. Update all users.
31079 (update-grub_DATA): Rename to ...
31080 (grub-mkconfig_DATA): ... this.
31081
556ce6ac 310822008-09-28 Robert Millan <rmh@aybabtu.com>
31083
31084 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
31085 to `modified'. Add the real `created' field.
31086 (grub_iso9660_uuid): Use `modified' rather than `created' for
31087 constructing the UUID.
31088
310892008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 31090
31091 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
31092 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
31093
92274e85 310942008-09-28 Bean <bean123ch@gmail.com>
31095
31096 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
31097 Thanks to Christian Franke for finding this bug.
31098
add6f17a 310992008-09-25 Robert Millan <rmh@aybabtu.com>
31100
31101 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
31102 instances of grub_util_get_disk_name() (see previous commit).
31103
d2a367b8 311042008-09-25 Robert Millan <rmh@aybabtu.com>
31105
31106 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
31107 `util/i386/get_disk_name.c'.
31108 * conf/i386-efi.rmk: Likewise.
31109 * conf/x86_64-efi.rmk: Likewise.
31110 * conf/i386-coreboot.rmk: Likewise.
31111 * conf/i386-ieee1275.rmk: Likewise.
31112 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
31113 `util/ieee1275/get_disk_name.c'.
31114 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
31115 * util/ieee1275/get_disk_name.c: Remove file.
31116 * util/i386/get_disk_name.c: Remove file.
31117 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
31118 "hd%d" for device.map entries, rather than using
31119 grub_util_get_disk_name().
31120
81a06771 311212008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 31122
31123 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
31124 warning.
31125 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
31126
5a004279 311272008-09-24 Carles Pina i Estany <carles@pina.cat>
31128
31129 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
31130 Changed to 0x5100.
31131 (GRUB_TERM_PPAGE): Changed to 0x4900.
31132
397093d3 311332008-09-24 Robert Millan <rmh@aybabtu.com>
31134
31135 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
31136 macros (they were i386-pc specific).
31137 * include/grub/sparc64/ieee1275/console.h: Likewise.
31138 * include/grub/efi/console.h: Likewise.
31139
a91b6c7c 311402008-09-22 Bean <bean123ch@gmail.com>
31141
31142 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
31143 resident and in attribute list.
31144
31145 * include/grub/ntfs.h (BMP_LEN): Removed.
31146
c40fd116 311472008-09-22 Bean <bean123ch@gmail.com>
31148
81a06771 31149 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 31150 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
31151
31152 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
31153 error occurs, as grub_disk_open will call grub_disk_close, which will
31154 call p->close (scsi).
31155
81a06771 311562008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 31157
31158 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
31159 (AC_PREREQ): Bumped to 2.59.
31160 (AC_TRY_COMPILE): Replace obsolete macro with ...
31161 (AC_COMPILE_IFELSE): ... this.
31162 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
31163 (AC_LINK_IFELSE): ... this.
31164
5dc43410 311652008-09-21 Felix Zielcke <fzielcke@z-51.de>
31166
31167 * autogen.sh: Add a call to `gendistlist.sh'.
31168
9035dce4 311692008-09-19 Christian Franke <franke@computer.org>
31170
31171 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
31172 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
31173 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
31174 Export __enable_execute_stack() to modules.
31175 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
31176 New function.
31177
7fd75377 311782008-09-09 Felix Zielcke <fzielcke@z-51.de>
31179
040030b3 31180 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
31181 Sort the list.
31182
311832008-09-09 Felix Zielcke <fzielcke@z-51.de>
31184
31185 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 31186 #include <grub/util/hostdisk.h>.
31187
89d5ffcf 311882008-09-08 Robert Millan <rmh@aybabtu.com>
31189
31190 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
31191 segments when their filesz is zero (grub_file_read() interprets
81a06771 31192 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 31193 Use `lowest_segment' rather than 0 for calculating the current
31194 segment load address.
31195
40da438f 311962008-09-08 Robert Millan <rmh@aybabtu.com>
31197
31198 * util/hostdisk.c (open_device): Replace a grub_util_info() call
31199 with grub_dprintf("hostdisk", ...), as it was so verbose that it
31200 clobbered useful information.
31201
ddbf5556 312022008-09-08 Robert Millan <rmh@aybabtu.com>
31203
31204 * include/grub/util/biosdisk.h: Move to ...
31205 * include/grub/util/hostdisk.h: ... here. Update all users.
31206 * util/biosdisk.c: Move to ...
31207 * util/hostdisk.c: ... here. Update all users.
31208
783d0f48 312092008-09-07 Robert Millan <rmh@aybabtu.com>
31210
31211 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
31212 variables.
31213 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
31214 and length can be stored directly in the `mbi->mmap_addr' and
31215 `mbi->mmap_length' struct fields.
31216
548e2ea5 312172008-09-07 Robert Millan <rmh@aybabtu.com>
31218
31219 * conf/i386.rmk: New file. Provides declaration for building
31220 `cpuid.mod'.
31221 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
31222 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
31223 variables.
31224 Include `conf/i386.mk'.
31225 * conf/i386-efi.rmk: Likewise.
31226 * conf/x86_64-efi.rmk: Likewise.
31227 * conf/i386-coreboot.rmk: Likewise.
31228 * conf/i386-ieee1275.rmk: Likewise.
31229
0ea85a37 312302008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
31231
31232 Based on patch created by Colin D Bennett <colin@gibibit.com>.
31233 Adds optimization support for BGR based modes.
31234
31235 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
31236 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31237 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31238 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31239 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31240 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31241 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31242 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31243 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31244 (grub_video_i386_vbeblit_index_index): Likewise.
31245 (grub_video_i386_vbeblit_replace_directN): Added.
31246 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31247 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31248 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31249 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31250 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31251 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 31252 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 31253 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31254 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31255 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31256 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31257 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31258 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31259
31260 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
31261 (grub_video_i386_vbefill_R8G8B8): Likewise.
31262 (grub_video_i386_vbefill_index): Likewise.
31263 (grub_video_i386_vbefill_direct32): Added.
31264 (grub_video_i386_vbefill_direct24): Likewise.
31265 (grub_video_i386_vbefill_direct16): Likewise.
31266 (grub_video_i386_vbefill_direct8): Likewise.
31267
81a06771 31268 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 31269 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
31270 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
31271 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
31272 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
31273 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 31274
0ea85a37 31275 * video/video.c (grub_video_get_blit_format): Updated to use new
31276 blit formats. Added handling for 16 bit color modes.
81a06771 31277
31278 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 31279 fillers.
31280 (common_blitter): Updated to use new blitters.
31281
31282 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31283 Removed.
31284 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31285 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31286 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31287 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31288 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31289 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31290 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31291 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31292 (grub_video_i386_vbeblit_index_index): Likewise.
31293 (grub_video_i386_vbeblit_replace_directN): Added.
31294 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31295 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31296 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31297 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31298 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31299 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31300 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31301 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31302 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31303 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31304 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31305 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31306 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 31307
0ea85a37 31308 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31309 (grub_video_i386_vbefill_R8G8B8): Likewise.
31310 (grub_video_i386_vbefill_index): Likewise.
31311 (grub_video_i386_vbefill_direct32): Added.
31312 (grub_video_i386_vbefill_direct24): Likewise.
31313 (grub_video_i386_vbefill_direct16): Likewise.
31314 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 31315
0ea85a37 31316 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31317 types.
81a06771 31318
0ea85a37 31319 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31320 types.
81a06771 31321
0ea85a37 31322 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31323 blitter types.
81a06771 31324
0ea85a37 31325 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31326 types.
31327
e8a83df6 313282008-09-06 Felix Zielcke <fzielcke@z-51.de>
31329
31330 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31331 RAID level 1.
31332
6bcd8ee5 313332008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 31334
6bcd8ee5 31335 * fs/iso9660.c (grub_iso9660_date): New structure.
31336 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31337 (grub_iso9660_uuid): New function.
c375ae58 31338
59261157 313392008-09-05 Bean <bean123ch@gmail.com>
31340
31341 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
31342
31343 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
31344 insensitive bit for names in Win32 and Win32 & DOS namespace.
31345
31346 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
31347
31348 * include/grub/types.h (LONG_MAX): Likewise.
31349
58b6645a 313502008-09-04 Felix Zielcke <fzielcke@z-51.de>
31351
4ee55921 31352 * util/getroot.c: Include <config.h>.
31353 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
31354 add support for /dev/md/N devices and handle LVM double dash escaping.
31355
313562008-09-04 Felix Zielcke <fzielcke@z-51.de>
31357
31358 * config.guess: Update to latest version from config git.
31359 * config.sub: Likewise.
58b6645a 31360
9124f65d 313612008-09-03 Robert Millan <rmh@aybabtu.com>
31362
31363 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
31364 `disk->total_sectors'.
31365
81a06771 313662008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 31367
31368 * include/grub/normal.h: Fixed incorrect comment for
31369 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
31370
81a06771 313712008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 31372
31373 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
31374 values with defines.
31375
31376 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
31377 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
31378 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
31379 (GRUB_VBE_MODEATTR_COLOR): Likewise.
31380 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
31381 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
31382 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
31383 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
31384 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
31385 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
31386 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
31387 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
31388 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
31389 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
31390 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
31391 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
31392 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
31393 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
31394 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
31395
93d5cbf8 313962008-08-31 Robert Millan <rmh@aybabtu.com>
31397
31398 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
31399 declaration.
31400 (grub_multiboot): Fix a few warnings.
31401
21751d50 314022008-08-31 Robert Millan <rmh@aybabtu.com>
31403
31404 * loader/i386/pc/multiboot.c: Update comment not to say that
31405 boot_device support is unimplemented.
31406
e27a75c5 314072008-08-31 Robert Millan <rmh@aybabtu.com>
31408
31409 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
31410 or memory map support are unimplemented.
31411
81a06771 314122008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 31413
31414 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
31415
81a06771 314162008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 31417
31418 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
31419 total video memory in 'vbeinfo' output; show color format details for
31420 each video mode.
31421
7c5d8d95 314222008-08-30 Pavel Roskin <proski@gnu.org>
31423
31424 * util/genmoddep.c: Remove for real this time.
31425 * DISTLIST: Remove util/genmoddep.c.
31426
4cebd25a 314272008-08-30 Robert Millan <rmh@aybabtu.com>
31428
31429 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
31430 as required by Multiboot spec (it was already 4-byte aligned, but
31431 only by chance).
31432
b497a269 314332008-08-29 Pavel Roskin <proski@gnu.org>
31434
e3925185 31435 * kern/powerpc/ieee1275/crt0.S: Rename to ...
31436 * kern/powerpc/ieee1275/startup.S: ... this.
31437 * conf/powerpc-ieee1275.rmk: Adjust for the above.
31438 * DISTLIST: Likewise.
31439
b497a269 31440 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
31441 grub/cpu/kernel.h. Add start label for consistency with other
31442 platforms. Add grub_prefix immediately after start. Add jump
31443 to the code after grub_prefix.
31444 * include/grub/powerpc/kernel.h: Provide valid values for
31445 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
31446
6e5a42fe 314472008-08-29 Bean <bean123ch@gmail.com>
31448
31449 * configure.ac: Change host_os to cygwin for mingw.
31450 (asprintf): New check for function.
31451
31452 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
31453 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
31454
31455 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 31456 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 31457 sync, sleep and grub_util_get_disk_size for mingw.
31458
31459 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
31460 to get size in mingw.
31461 (open_device): Use flag O_BINARY if it's defined.
31462 (find_root_device): Add dummy code for mingw.
31463
31464 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
31465 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
31466 (get_scsi_disk_name): Return 0 for mingw.
31467
31468 * util/hostfs.c: #include <grub/util/misc.h>.
31469 (grub_hostfs_open): Use "rb" flag to open file, use
31470 grub_util_get_disk_size to get disk size for mingw.
31471
31472 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
31473 (asprintf): New function if HAVE_ASPRINTF is not set.
31474 (sync): New function for mingw.
31475 (sleep): Likewise.
31476 (grub_util_get_disk_size): Likewise.
31477
ab3f2673 314782008-08-28 Pavel Roskin <proski@gnu.org>
31479
31480 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31481 kern/time.c.
31482
1c282483 314832008-08-28 Robert Millan <rmh@aybabtu.com>
31484
31485 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
31486
678e849c 314872008-08-28 Robert Millan <rmh@aybabtu.com>
31488
31489 Change find_grub_drive() syntax so it doesn't prevent it from
31490 detecting NULL names as errors.
31491
31492 * util/biosdisk.c (find_grub_drive): Move free slot search code
31493 from here ...
31494 (find_free_slot): ... to here.
31495 (read_device_map): Use find_free_slot() to search for free slots.
31496
965c75ca 314972008-08-27 Marco Gerards <marco@gnu.org>
31498
31499 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
31500 (scsi_mod_SOURCES): New variable.
31501 (scsi_mod_CFLAGS): Likewise
31502 (scsi_mod_LDFLAGS): Likewise.
31503
31504 * disk/scsi.c: New file.
31505
31506 * include/grub/scsi.h: Likewise.
31507
31508 * include/grub/scsicmd.h: Likewise.
31509
31510 * disk/ata.c: Include <grub/scsi.h>.
31511 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
31512 instead.
31513 (grub_ata_iterate): Skip ATAPI devices.
31514 (grub_ata_open): Only handle ATAPI devices.
31515 (struct grub_atapi_read): Removed.
31516 (grub_atapi_readsector): Likewise.
31517 (grub_ata_read): No longer handle ATAPI devices.
31518 (grub_ata_write): Likewise.
31519 (grub_atapi_iterate): New function.
31520 (grub_atapi_read): Likewise.
31521 (grub_atapi_write): Likewise.
31522 (grub_atapi_open): Likewise.
31523 (grub_atapi_close): Likewise.
31524 (grub_atapi_dev): New variable.
31525 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
31526 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
31527
31528 * include/grub/disk.h (enum grub_disk_dev_id): Add
31529 `GRUB_DISK_DEVICE_SCSI_ID'.
31530
c07ae501 315312008-08-26 Robert Millan <rmh@aybabtu.com>
31532
31533 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
31534 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
31535 descriptive.
31536
5ed20adc 315372008-08-23 Bean <bean123ch@gmail.com>
31538
31539 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
31540 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31541 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
31542 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
31543 dm_nv.mod.
31544 (raid5rec_mod_SOURCES): New macro.
31545 (raid5rec_mod_CFLAGS): Likewise.
31546 (raid5rec_mod_LDFLAGS): Likewise.
31547 (raid6rec_mod_SOURCES): Likewise.
31548 (raid6rec_mod_CFLAGS): Likewise.
31549 (raid6rec_mod_LDFLAGS): Likewise.
31550 (mdraid_mod_SOURCES): Likewise.
31551 (mdraid_mod_CFLAGS): Likewise.
31552 (mdraid_mod_LDFLAGS): Likewise.
31553 (dm_nv_mod_SOURCES): Likewise.
31554 (dm_nv_mod_CFLAGS): Likewise.
31555 (dm_nv_mod_LDFLAGS): Likewise.
31556
31557 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
31558 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31559 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31560
31561 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
31562 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31563
31564 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31565
31566 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31567
31568 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31569
31570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31571
31572 * disk/raid5_recover.c: New file.
31573
31574 * disk/raid6_recover.c: Likewise.
31575
31576 * disk/mdraid_linux.c: Likewise.
31577
31578 * disk/dmraid_nvidia.c: Likewise.
31579
31580 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
31581 ULONG_MAX.
31582
31583 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
31584 calculate the size of raid device.
31585 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
31586 different layout of raid5.
31587 (grub_raid_scan_device): Remove code specific to mdraid.
31588 (grub_raid_list): New variable.
31589 (free_array): New function.
31590 (grub_raid_register): Likewise.
31591 (grub_raid_unregister): Likewise.
31592 (grub_raid_rescan): Likewise.
31593 (GRUB_MOD_INIT): Don't iterate device here.
31594 (GRUB_MOD_FINI): Use free_array to release resource.
31595
31596 * include/grub/raid.h: Remove macro and structure specific to mdraid.
31597 (grub_raid5_recover_func_t): New function variable type.
31598 (grub_raid6_recover_func_t): Likewise.
31599 (grub_raid5_recover_func): New variable.
31600 (grub_raid6_recover_func): Likewise.
31601 (grub_raid_register): New function.
31602 (grub_raid_unregister): Likewise.
31603 (grub_raid_rescan): Likewise.
31604 (grub_raid_block_xor): Likewise.
31605
31606 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
31607 (CMD_CRC): New macro.
31608 (part): Removed.
31609 (read_file): Handle device as well as file.
31610 (cmd_crc): New function.
31611 (fstest): Handle multiple disks.
31612 (options): Remove part, raw and long, add root and diskcount.
31613 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 31614 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 31615 add handling for the new options, support multiple disks.
31616
31617 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
31618
29c18915 316192008-08-23 Bean <bean123ch@gmail.com>
31620
31621 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
31622
31623 * genfslist.sh: Ignore kernel.mod.
31624
31625 * genpartmaplist.sh: Likewise.
31626
8415f261 316272008-08-23 Robert Millan <rmh@aybabtu.com>
31628
31629 * util/getroot.c (find_root_device): Skip anything that starts with
31630 a dot, not just directories. This avoids things like /dev/.tmp.md0.
31631
d5a7dc5b 316322008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 31633
d5a7dc5b 31634 * util/update-grub.in (GRUB_GFXMODE): Export variable.
31635 * util/grub.d/00_header.in: Allow the administrator to change default
31636 gfxmode via ${GRUB_GFXMODE}.
31637
380cfbb4 316382008-08-21 Felix Zielcke <fzielcke@z-51.de>
31639
31640 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
31641
c9baafe7 316422008-08-21 Robert Millan <rmh@aybabtu.com>
31643
31644 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
31645 loader.
31646 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
31647 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
31648
e290bef2 316492008-08-20 Carles Pina i Estany <carles@pina.cat>
31650
31651 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
31652 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
31653
f9dbfc96 316542008-08-19 Robert Millan <rmh@aybabtu.com>
31655
31656 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
31657 (struct grub_virtual_screen): Remove `cursor_color'.
31658 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
31659 initialization.
31660 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
31661
dd6bd6ab 316622008-08-18 Robert Millan <rmh@aybabtu.com>
31663
31664 Unify (identical) linux_normal.c files.
31665 * loader/i386/efi/linux_normal.c: Move from here ...
31666 * loader/linux_normal.c: ... to here. Update all users.
31667 * loader/i386/pc/linux_normal.c: Delete. Update all users.
31668 * loader/i386/ieee1275/linux_normal.c: Likewise.
31669
7f42f83e 316702008-08-18 Robert Millan <rmh@aybabtu.com>
31671
31672 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
31673 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
31674 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
31675 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
31676 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
31677 New macros.
31678 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
31679 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
31680 (GRUB_LINUX_CL_END_OFFSET): ... to here.
31681 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
31682 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
31683 (GRUB_EFI_CL_END_OFFSET): Rename to ...
31684 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
31685 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
31686 Initialize `params->video_cursor_x' and `params->video_cursor_y'
31687 portably using grub_getxy().
31688 Replace `-EFI' with `-bzImage' in boot message.
31689
38487ddb 316902008-08-17 Robert Millan <rmh@aybabtu.com>
31691
31692 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
31693
deceb3ec 316942008-08-17 Robert Millan <rmh@aybabtu.com>
31695
31696 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
31697
31698 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
31699 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
31700 (grub_machine_mmap_iterate): New function declaration.
31701 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
31702 structure.
31703 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
31704 macros.
31705
31706 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
31707 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
31708 Move e820 parsing from here ...
31709 * kern/i386/pc/mmap.c: New file.
31710 (grub_machine_mmap_iterate): ... to here.
31711
31712 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
31713 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
31714 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
31715 (grub_available_iterate): Redeclare to return `void', and redeclare
31716 its hook to use grub_uint64_t as addr and size parameters, and rename
31717 to ...
31718 (grub_machine_mmap_iterate): ... this. Update all users.
31719
31720 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
31721 to make it more readable. Rename to ...
31722 (grub_machine_mmap_iterate): ... this.
31723
31724 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
31725 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
31726 (grub_multiboot): Allocate an extra region after the payload, and fill
31727 it with a Multiboot memory map. Adjust a.out loader to calculate size
31728 with the extra space.
31729 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
31730 with the extra space.
31731
f8aa0f43 317322008-08-17 Carles Pina i Estany <carles@pina.cat>
31733
9807deb9 31734 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 31735
605f5bb6 317362008-08-17 Felix Zielcke <fzielcke@z-51.de>
31737
31738 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
31739 mdate-sh to the list `find' searches for.
31740 * DISTLIST: Regenerated.
31741
210db6c6 317422008-08-16 Felix Zielcke <fzielcke@z-51.de>
31743
31744 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
31745 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 31746 genmoddep.awk, gensymlist.sh.in.
31747 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 31748 * DISTLIST: Regenerated.
48cdbfd4 31749 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 31750
1082b929 317512008-08-16 Robert Millan <rmh@aybabtu.com>
31752
31753 * disk/raid.c (grub_raid_init): Handle/report errors set by
31754 grub_device_iterate().
31755 * disk/lvm.c (grub_lvm_init): Likewise.
31756
42ce5170 317572008-08-15 Bean <bean123ch@gmail.com>
31758
31759 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31760 and datehook.mod.
31761 (datetime_mod_SOURCES): New macro.
31762 (datetime_mod_CFLAGS): Likewise.
31763 (datetime_mod_LDFLAGS): Likewise.
31764 (date_mod_SOURCES): Likewise.
31765 (date_mod_CFLAGS): Likewise.
31766 (date_mod_LDFLAGS): Likewise.
31767 (datehook_mod_SOURCES): Likewise.
31768 (datehook_mod_CFLAGS): Likewise.
31769 (datehook_mod_LDFLAGS): Likewise.
31770
31771 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31772 and datehook.mod.
31773 (datetime_mod_SOURCES): New macro.
31774 (datetime_mod_CFLAGS): Likewise.
31775 (datetime_mod_LDFLAGS): Likewise.
31776 (date_mod_SOURCES): Likewise.
31777 (date_mod_CFLAGS): Likewise.
31778 (date_mod_LDFLAGS): Likewise.
31779 (datehook_mod_SOURCES): Likewise.
31780 (datehook_mod_CFLAGS): Likewise.
31781 (datehook_mod_LDFLAGS): Likewise.
31782
31783 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31784 and datehook.mod.
31785 (datetime_mod_SOURCES): New macro.
31786 (datetime_mod_CFLAGS): Likewise.
31787 (datetime_mod_LDFLAGS): Likewise.
31788 (date_mod_SOURCES): Likewise.
31789 (date_mod_CFLAGS): Likewise.
31790 (date_mod_LDFLAGS): Likewise.
31791 (datehook_mod_SOURCES): Likewise.
31792 (datehook_mod_CFLAGS): Likewise.
31793 (datehook_mod_LDFLAGS): Likewise.
31794
31795 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31796 and datehook.mod.
31797 (datetime_mod_SOURCES): New macro.
31798 (datetime_mod_CFLAGS): Likewise.
31799 (datetime_mod_LDFLAGS): Likewise.
31800 (date_mod_SOURCES): Likewise.
31801 (date_mod_CFLAGS): Likewise.
31802 (date_mod_LDFLAGS): Likewise.
31803 (datehook_mod_SOURCES): Likewise.
31804 (datehook_mod_CFLAGS): Likewise.
31805 (datehook_mod_LDFLAGS): Likewise.
31806
31807 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31808 and datehook.mod.
31809 (datetime_mod_SOURCES): New macro.
31810 (datetime_mod_CFLAGS): Likewise.
31811 (datetime_mod_LDFLAGS): Likewise.
31812 (date_mod_SOURCES): Likewise.
31813 (date_mod_CFLAGS): Likewise.
31814 (date_mod_LDFLAGS): Likewise.
31815 (datehook_mod_SOURCES): Likewise.
31816 (datehook_mod_CFLAGS): Likewise.
31817 (datehook_mod_LDFLAGS): Likewise.
31818
31819 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
31820
31821 * commands/date.c: New file.
31822
31823 * hook/datehook.c: Likewise.
31824
31825 * include/grub/lib/datetime.h: Likewise.
31826
31827 * include/grub/i386/cmos.h: Likewise.
31828
31829 * lib/datetime.c: Likewise.
31830
31831 * lib/i386/datetime.c: Likewise.
31832
31833 * lib/efi/datetime.c: Likewise.
31834
0e9242da 318352008-08-14 Robert Millan <rmh@aybabtu.com>
31836
31837 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
31838 (grub_mkelfimage_SOURCES): New variable.
31839 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
31840
31841 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
31842 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
31843 * conf/powerpc-ieee1275.rmk: Likewise.
31844 * conf/i386-ieee1275.rmk: Likewise.
31845
31846 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
31847 * kern/i386/coreboot/init.c: Likewise.
31848
31849 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
31850 with `<grub/cpu/kernel.h>'.
31851 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
31852 to ...
31853 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
31854 * kern/i386/coreboot/startup.S: Likewise.
31855
31856 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
31857 (GRUB_MOD_GAP): Remove.
31858 * include/grub/powerpc/kernel.h: New file.
31859 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
31860 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31861 * include/grub/i386/kernel.h: New file.
31862 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
31863 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
31864 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31865
31866 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
31867 `grub-mkelfimage'.
31868 Use --directory when invoking grub_mkimage.
31869
31870 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
31871 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
31872 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
31873 and GRUB_KERNEL_CPU_PREFIX.
31874
b86408f8 318752008-08-14 Felix Zielcke <fzielcke@z-51.de>
31876
d5e619ca 31877 * include/grub/err.h (grub_err_printf): New function prototype.
31878 * util/misc.c (grub_err_printf): New function.
31879 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
31880 grub_printf.
31881 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 31882
7161f0e0 318832008-08-13 Robert Millan <rmh@aybabtu.com>
31884
31885 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
31886
a1967522 318872008-08-13 Robert Millan <rmh@aybabtu.com>
31888
31889 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
31890 boot entry.
31891
371458b5 318922008-08-12 Robert Millan <rmh@aybabtu.com>
31893
31894 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
31895 of the relocation code from here ...
31896 (grub_multiboot): ... to here.
31897 (forward_relocator, backward_relocator): Move from here ...
31898 * kern/i386/loader.S (grub_multiboot_forward_relocator)
31899 (grub_multiboot_backward_relocator): ... to here.
31900 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
31901 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
31902 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
31903 (grub_multiboot_forward_relocator_end)
31904 (grub_multiboot_backward_relocator)
31905 (grub_multiboot_backward_relocator_end): New variables.
31906
05f9452b 319072008-08-12 Bean <bean123ch@gmail.com>
31908
31909 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
31910
20024ab0 319112008-08-11 Robert Millan <rmh@aybabtu.com>
31912
31913 * kern/i386/linuxbios/startup.S: Move from here ...
31914 * kern/i386/coreboot/startup.S: ... to here.
31915
31916 * kern/i386/linuxbios/init.c: Move from here ...
31917 * kern/i386/coreboot/init.c: ... to here.
31918
31919 * kern/i386/linuxbios/table.c: Move from here ...
31920 * kern/i386/coreboot/mmap.c: ... to here.
31921
31922 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
31923
e352e9cd 319242008-08-11 Robert Millan <rmh@aybabtu.com>
31925
31926 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
31927 errors. Leave it to the upper layer to handle them.
31928
2d05bc6a 319292008-08-09 Christian Franke <franke@computer.org>
31930
31931 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
31932 * conf/common.rmk: Install `grub-pe2elf' only if requested.
31933 Install `grub.d/10_windows' only on Cygwin.
31934 * configure.ac: Add subst of `target_os'.
31935 Check `target_os' also before setting TARGET_OBJ2ELF.
31936 Add `--enable-grub-pe2elf'.
31937
042bd419 319382008-08-08 Robert Millan <rmh@aybabtu.com>
31939
31940 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31941 (grub_last_time): Change type to grub_uint64_t.
31942 (grub_disk_open): Migrate code from to using grub_get_time_ms().
31943 (grub_disk_close): Likewise.
31944
31945 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31946 (run_menu): Migrate code from to using grub_get_time_ms().
31947
31948 * util/misc.c (grub_get_time_ms): New function.
31949
7f280db5 319502008-08-08 Marco Gerards <marco@gnu.org>
31951
31952 * disk/ata.c (grub_ata_regget): Change return type to
31953 `grub_uint8_t'.
31954 (grub_ata_regget2): Likewise.
31955 (grub_ata_wait_status): New function.
31956 (grub_ata_wait_busy): Removed function, updated all users to use
31957 `grub_ata_wait_status'.
31958 (grub_ata_wait_drq): Likewise.
31959 (grub_ata_cmd): New function.
31960 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
31961 error handling.
31962 (grub_ata_pio_write): Add error handling.
31963 (grub_atapi_identify): Likewise.
31964 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
31965 handling.
31966 (grub_ata_identify): Use `grub_ata_cmd' and improve error
31967 handling. Actually use the detected registers. Reorder the
31968 detection logic such that it is easier to read.
31969 (grub_ata_pciinit): Do not assign the same ID to each controller.
31970 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
31971 handling.
31972 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
31973
31974 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
31975
1fbc5e66 319762008-08-08 Marco Gerards <marco@gnu.org>
31977
31978 * NEWS: Update.
31979
819ce6c0 319802008-08-07 Bean <bean123ch@gmail.com>
31981
31982 * include/grub/x86_64/pci.h: New file.
31983
5c41d44d 319842008-08-07 Christian Franke <franke@computer.org>
31985
31986 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
31987 (TIMER2_GATE): Likewise.
31988 (grub_pit_wait): Add enable/disable of the timer2 gate
31989 bit of port 0x61. This fixes a possible infinite loop.
31990
5ebc275d 319912008-08-07 Bean <bean123ch@gmail.com>
31992
31993 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
31994 kern/i386/tsc.c and kern/i386/pit.c.
31995
31996 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
31997 x86_64 platform.
31998
31999 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
32000 <grub/i386/tsc.h>.
32001
32002 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
32003
e383b3d0 320042008-08-07 Bean <bean123ch@gmail.com>
32005
32006 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
32007
32008 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
32009
32010 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
32011 multiple inclusion. Add #include <grub/types.h>.
32012
1cbb58ac 320132008-08-06 Christian Franke <franke@computer.org>
32014
32015 * conf/common.rmk: Build and install `10_windows'.
32016 * util/grub.d/10_windows.in: New script.
32017
337f5a1e 320182008-08-06 Pavel Roskin <proski@gnu.org>
32019
32020 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
32021
057bc4ac 320222008-08-06 Robert Millan <rmh@aybabtu.com>
32023
32024 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
32025 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
32026
2b99f123 320272008-08-06 Bean <bean123ch@gmail.com>
32028
32029 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
32030 (grub_pxefs_fs_int): Remove dummy definition.
32031 (grub_pxefs_open): Use data->block_size to store the current block
32032 size setting.
32033 (grub_pxefs_read): Use block size stored in data->block_size. As the
32034 value of grub_pxe_blksize can be changed after the file is opened.
32035
9f0234cb 320362008-08-06 Bean <bean123ch@gmail.com>
32037
32038 * fs/i386/pc/pxe.c (curr_file): new variable.
32039 (grub_pxefs_open): Simply the handling of pxe file system. Don't
32040 require the dummy internal file system anymore.
32041 (grub_pxefs_read): Removed.
32042 (grub_pxefs_close): Likewise.
32043 (grub_pxefs_fs_int): Likewise.
32044 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
32045 connection when we switch file.
32046 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
32047
a55d42e0 320482008-08-06 Robert Millan <rmh@aybabtu.com>
32049
32050 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
32051 `halt.mod'.
32052 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
32053 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
32054
32055 * kern/i386/halt.c: New file.
32056 * kern/i386/reboot.c: Likewise.
32057 * include/grub/i386/reboot.h: Likewise.
32058 * include/grub/i386/halt.h: Likewise.
32059
32060 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
32061 Include `<grub/cpu/halt.h>'.
32062 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
32063 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
32064
32065 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
32066 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
32067 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
32068 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
32069 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
32070 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
32071 from here ...
32072 * include/grub/i386/at_keyboard.h: ... to here.
32073
24371d26 320742008-08-05 Robert Millan <rmh@aybabtu.com>
32075
32076 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
32077 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
32078 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
32079 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32080 `kern/generic/millisleep.c'.
32081
32082 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
32083 instead of grub_get_rtc().
32084 (grub_tsc_init): Initialize `tsc_boot_time'.
32085
32086 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
32087 (grub_machine_init): Use grub_tsc_init() rather than
32088 installing an RTC-based handler via grub_install_get_time_ms().
32089
32090 * kern/i386/pit.c: New file.
32091 * include/grub/i386/pit.h: Likewise.
32092
9e7007b3 320932008-08-05 Bean <bean123ch@gmail.com>
32094
32095 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
32096
32097 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
32098 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
32099 (pxe_mod_SOURCES): New macro.
32100 (pxe_mod_CFLAGS): Likewise.
32101 (pxe_mod_LDFLAGS): Likewise.
32102 (pxecmd_mod_SOURCES): Likewise.
32103 (pxecmd_mod_CFLAGS): Likewise.
32104 (pxecmd_mod_LDFLAGS): Likewise.
32105
32106 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
32107 (grub_pxe_call): Likewise.
32108
32109 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
32110
32111 * commands/i386/pc/pxecmd.c: New file.
32112
9f0234cb 32113 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 32114
32115 * include/grub/i386/pc/pxe.h: Likewise.
32116
6977d49f 321172008-08-05 Bean <bean123ch@gmail.com>
32118
32119 * util/console.c (grub_console_cur_color): New variable.
32120 (grub_console_standard_color): Likewise.
32121 (grub_console_normal_color): Likewise.
32122 (grub_console_highlight_color): Likewise.
32123 (color_map): Likewise.
32124 (use_color): Likewise.
32125 (NUM_COLORS): New macro.
32126 (grub_ncurses_setcolorstate): Handle color properly.
32127 (grub_ncurses_setcolor): Don't change color here, just remember the
32128 settings, color will be set in grub_ncurses_setcolorstate.
32129 (grub_ncurses_getcolor): New function.
32130 (grub_ncurses_init): Initialize color pairs.
32131 (grub_ncurses_term): New member grub_ncurses_getcolor.
32132
9c2ff3ee 321332008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 32134
9c2ff3ee 32135 High resolution timer support. Implemented for x86 CPUs using TSC.
32136 Extracted generic grub_millisleep() so it's linked in only as needed.
32137 This requires a Pentium compatible CPU; if the RDTSC instruction is
32138 not supported, then it falls back on the generic grub_get_time_ms()
32139 implementation that uses the machine's RTC.
32140
32141 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
32142 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32143 `kern/generic/millisleep.c'.
32144
32145 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
32146 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
32147
32148 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
32149 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
32150
32151 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32152
32153 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32154 `kern/generic/millisleep.c'.
32155
32156 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32157
32158 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
32159
32160 * kern/generic/rtc_get_time_ms.c: New file.
32161
32162 * kern/generic/millisleep.c: New file.
337f5a1e 32163
9c2ff3ee 32164 * kern/misc.c: Don't include
32165 <kern/time.h> anymore.
32166 (grub_millisleep_generic): Removed.
32167
32168 * commands/sleep.c (grub_interruptible_millisleep): Uses
32169 grub_get_time_ms() instead of grub_get_rtc().
32170
32171 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
32172 function.
32173 (grub_cpu_is_cpuid_supported): New inline function.
32174 (grub_cpu_is_tsc_supported): New inline function.
32175 (grub_tsc_init): New function prototype.
32176 (grub_tsc_get_time_ms): New function prototype.
32177
32178 * kern/i386/tsc.c (grub_get_time_ms): New file.
32179
32180 * include/grub/time.h: Include <grub/types.h.
32181 (grub_millisleep_generic): Removed.
32182 (grub_get_time_ms): New prototype.
32183 (grub_install_get_time_ms): New prototype.
32184 (grub_rtc_get_time_ms): New prototype.
32185
32186 * kern/time.c (grub_get_time_ms): New function.
32187 (grub_install_get_time_ms): New function.
32188
32189 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
32190 <grub/time.h> anymore.
32191 (grub_millisleep): Removed.
32192 (grub_machine_init): Call grub_tsc_init.
32193
32194 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
32195 get_time_ms() implementation.
32196
32197 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
32198 (ieee1275_get_time_ms): New function.
32199 (grub_machine_init): Install get_time_ms() implementation.
32200
32201 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
32202 (grub_machine_init): Call grub_tsc_init().
32203 (grub_millisleep): Removed.
bf06a93f 32204
9c2ff3ee 32205 * kern/ieee1275/init.c (grub_millisleep): Removed.
32206 (grub_machine_init): Install ieee1275_get_time_ms()
32207 implementation.
32208 (ieee1275_get_time_ms): New function.
32209 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
32210 real work.
32211
9ec92aaf 322122008-08-05 Marco Gerards <marco@gnu.org>
32213
32214 * disk/ata.c: Include <grub/pci.h>.
32215 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
32216 (grub_ata_initialize): Rewritten.
32217 (grub_ata_device_initialize): New function.
32218
8d23f507 322192008-08-04 Pavel Roskin <proski@gnu.org>
32220
32221 * kern/main.c: Include grub/mm.h.
32222
5e15ee3d 322232008-08-04 Robert Millan <rmh@aybabtu.com>
32224
32225 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
32226 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
32227 corruption problem).
32228
a9053f8f 322292008-08-04 Robert Millan <rmh@aybabtu.com>
32230
32231 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
32232 warnings introduced in my last commit.
32233
dd19c7d7 322342008-08-03 Robert Millan <rmh@aybabtu.com>
32235
32236 Make PCI available on all i386 architectures.
32237
32238 * include/grub/i386/pc/pci.h: Move from here ...
32239 * include/grub/i386/pci.h: ... to here.
32240
32241 * include/grub/i386/pc/pci.h: Remove.
32242 * include/grub/i386/efi/pci.h: Remove.
32243 * include/grub/x86_64/efi/pci.h: Remove.
32244
32245 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
32246 `<grub/cpu/pci.h>'.
32247
32248 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
32249 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
32250 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
32251
32252 * conf/i386-ieee1275.rmk: Likewise.
32253
e14a6184 322542008-08-03 Robert Millan <rmh@aybabtu.com>
32255
32256 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
32257 (grub_console_setcursor): Make it possible to set cursor off.
32258
52768e37 322592008-08-03 Robert Millan <rmh@aybabtu.com>
32260
32261 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
32262 of modules instead of assuming which platform provides what.
32263 * util/update-grub.in: Likewise.
32264
2d52f57f 322652008-08-03 Robert Millan <rmh@aybabtu.com>
32266
32267 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
32268 instead of `grub_install_dos_part' to determine whether a drive needs
32269 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 32270 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 32271
2a5cd121 322722008-08-02 Robert Millan <rmh@aybabtu.com>
32273
32274 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32275
93808428 322762008-08-02 Robert Millan <rmh@aybabtu.com>
32277
32278 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32279 of informational grub_dprintf() calls.
32280
3bd0a12a 322812008-08-02 Robert Millan <rmh@aybabtu.com>
32282
32283 * disk/memdisk.c (memdisk_size): Don't initialize.
32284 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32285
32286 * include/grub/i386/pc/kernel.h
32287 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32288 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32289 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32290 (grub_arch_memdisk_size): Remove.
32291
32292 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32293 field (was only used to transfer a constant). Add `type' field to
32294 support multiple module types.
32295 (grub_module_iterate): New function.
32296
32297 * kern/device.c (grub_device_open): Do not hide error messages
32298 when grub_disk_open() fails. Use grub_print_error() instead.
32299
32300 * kern/i386/pc/init.c (grub_arch_modules_addr)
32301 (grub_arch_memdisk_size): Remove functions.
32302 (grub_arch_modules_addr): Return the module address in high memory
32303 (now that it isn't copied anymore).
32304
32305 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32306 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32307 decompression routine (grub_total_module_size already includes that
32308 now). Don't copy modules back to low memory.
32309
32310 * kern/main.c: Include `<grub/mm.h>'.
32311 (grub_load_modules): Split out (and use) ...
32312 (grub_module_iterate): ... this function, which iterates through
32313 module objects and runs a hook.
32314 Comment out grub_mm_init_region() call, as it would cause non-ELF
32315 modules to be overwritten.
32316
32317 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32318 the memdisk image in its own region, make it part of the module list.
32319 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32320 (main): Parse --memdisk|-m option, and pass user-provided path as
32321 parameter to generate_image().
32322 (add_segments): Pass `memdisk_path' down to load_modules().
32323 (load_modules): Embed memdisk image in module section when requested.
32324 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32325 `header.type' instead of `header.offset'.
32326
32327 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32328 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32329 (memdisk_mod_LDFLAGS): New variables.
32330 * conf/i386-coreboot.rmk: Likewise.
32331 * conf/i386-ieee1275.rmk: Likewise.
32332
a927cc73 323332008-08-02 Robert Millan <rmh@aybabtu.com>
32334
32335 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32336 (backward_relocator): New variables. Used to allocate and relocate
32337 the payload, respectively.
32338 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 32339 address, install the appropriate relocator code in each bound of
a927cc73 32340 the payload, and set the entry point such that
32341 grub_multiboot_real_boot() will jump to one of them.
32342
32343 * kern/i386/loader.S (grub_multiboot_payload_size)
32344 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32345 (grub_multiboot_payload_entry_offset): New variables.
32346 (grub_multiboot_real_boot): Set cpu context to what the relocator
32347 expects, and jump to the relocator instead of the payload.
32348
32349 * include/grub/i386/loader.h (grub_multiboot_payload_size)
32350 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32351 (grub_multiboot_payload_entry_offset): Export.
32352
b15d8a0c 323532008-08-01 Bean <bean123ch@gmail.com>
32354
32355 * normal/menu_entry.c (editor_getline): Don't return the original
32356 string as result, as it will be released by lexer once it has done
32357 using it.
32358
cdfb3d22 323592008-08-01 Robert Millan <rmh@aybabtu.com>
32360
32361 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
32362 within menuentries, not before them.
32363 util/grub.d/10_hurd.in: Likewise.
32364
9175e93d 323652008-08-01 Bean <bean123ch@gmail.com>
32366
32367 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
32368 (bufio_mod_SOURCES): New macro.
32369 (bufio_mod_CFLAGS): Likewise.
32370 (bufio_mod_LDFLAGS): Likewise.
32371
32372 * include/grub/bufio.h: New file.
32373
32374 * io/bufio.c: Likewise.
32375
32376 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
32377 (grub_video_reader_png): Use grub_buffile_open to open file.
32378
32379 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
32380 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
32381
32382 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
32383 (grub_video_reader_tga): Use grub_buffile_open to open file.
32384
32385 * font/manager.c: Include <grub/bufio.h>.
32386 (add_font): Use grub_buffile_open to open file.
32387
3d8383e7 323882008-07-31 Robert Millan <rmh@aybabtu.com>
32389
32390 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
32391 ELF segments, use a macro for arbitrarily accessing any of them instead
32392 of preparing a pointer that allows access to one at a time.
32393 (grub_multiboot_load_elf64): Likewise.
32394
16e641b6 323952008-07-31 Bean <bean123ch@gmail.com>
32396
32397 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
32398 GRUB_KERNEL_MACHINE_DATA_END.
32399
59198b72 324002008-07-30 Robert Millan <rmh@aybabtu.com>
32401
32402 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
32403 Increase from 0x50 to 0x60.
32404 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
32405 use UUIDs to identify the root drive for them. If that's not
32406 possible, abort.
32407 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
32408 check, for cross-disk installs.
32409
ae88bca3 324102008-07-30 Robert Millan <rmh@aybabtu.com>
32411
32412 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
32413 is non-empty, use it to set the `prefix' environment variable instead
32414 of the usual approach.
32415 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
32416 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
32417 environment variable instead of dummy make_install_device().
32418
32419 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
32420 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 32421 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 32422
32423 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
32424 New variable reference.
32425 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
32426 New macro. Defines offset of `grub_prefix' within startup.S (relative
32427 to `start').
32428 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
32429 section within startup.S (relative to `start').
32430 * include/grub/i386/coreboot/kernel.h: Likewise.
32431
32432 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
32433 Overwrite grub_prefix with its contents, at the beginning of the
32434 first segment.
32435 (main): Understand -p|--prefix.
32436
14f41dd1 324372008-07-30 Robert Millan <rmh@aybabtu.com>
32438
32439 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
32440
4ca049a3 324412008-07-30 Robert Millan <rmh@aybabtu.com>
32442
32443 * term/i386/pc/vga_text.c (grub_console_cls): Use
32444 grub_console_gotoxy() to go back to beginning of the screen.
32445 Found by Patrick Georgi <patrick.georgi@coresystems.de>
32446
2921d337 324472008-07-29 Christian Franke <franke@computer.org>
32448
32449 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32450 Add conversion of emulated mount points on Cygwin.
32451
b609876d 324522008-07-29 Christian Franke <franke@computer.org>
32453
32454 * util/update-grub.in: Add a check for admin
32455 group on Cygwin.
32456 Remove old `grub.cfg.new' before creation.
32457 Add `-f' to `mv' to handle the different filesystem
32458 semantics of Windows.
32459
e93e4679 324602008-07-29 Bean <bean123ch@gmail.com>
32461
32462 * normal/main.c (get_line): Fix buffer overflow bug.
32463
41694fd0 324642008-07-28 Robert Millan <rmh@aybabtu.com>
32465
32466 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
32467 (struct grub_apple_header): New struct. Describes the layout of
32468 the partmap header.
32469 (apple_partition_map_iterate): Check the header magic as well as the
32470 partition magic (which was already being checked).
32471
cfd0b4e6 324722008-07-28 Pavel Roskin <proski@gnu.org>
32473
32474 * genmk.rb: Add a warning to the beginning of the output that
32475 it's a generated file and should not be edited.
32476
93cce016 324772008-07-28 Robert Millan <rmh@aybabtu.com>
32478
32479 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32480 with the same number are found, just use issue a warning with
32481 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 32482
cd1df915 324832008-07-27 Robert Millan <rmh@aybabtu.com>
32484
32485 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
32486 information.
32487
b70a8427 324882008-07-27 Bean <bean123ch@gmail.com>
32489
32490 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
32491 (grub_fat_find_dir): Ignore case when comparing filename.
32492
8f5e379f 324932008-07-27 Bean <bean123ch@gmail.com>
32494
32495 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
32496 smallino, as it's more descriptive, and i8count can be confused with
32497 the other field count.
32498 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
32499 inode type.
32500
a85cd5a0 325012008-07-27 Bean <bean123ch@gmail.com>
32502
32503 * commands/crc.c: New file.
32504
32505 * lib/crc.c: Likewise.
32506
32507 * include/grub/lib/crc.h: Likewise.
32508
32509 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
32510
32511 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
32512 (hexdump): Move this function to ...
32513
32514 * lib/hexdump.c: ... here.
32515
32516 * include/grub/hexdump.h: Renamed to ...
32517
32518 * include/grub/lib/hexdump.h: ... this.
32519
32520 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
32521
32522 * util/grub-editenv.c: Likewise.
32523
32524 * include/envblk.h: Renamed to ...
32525
32526 * include/lib/envblk.h: ... this.
32527
32528 * util/envblk.c: Renamed to ...
32529
32530 * lib/envblk.c: ... this.
32531
32532 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
32533 lib/hexdump.c.
32534 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
32535 (pkglib_MODULES): Add crc.mod.
32536 (hexdump_mod_SOURCES): Add lib/hexdump.c.
32537 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
32538 (crc_mod_SOURCES): New macro.
32539 (crc_mod_CFLAGS): Likewise.
32540 (crc_mod_LDFLAGS): Likewise.
32541
32542 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
32543
32544 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32545
32546 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32547
32548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32549
32550 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32551
c298def0 325522008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 32553
32554 * commands/help.c: Include <grub/term.h>.
32555 (TERM_WIDTH): Removed. Updated all users.
32556
cc349fb3 325572008-07-27 Pavel Roskin <proski@gnu.org>
32558
32559 * util/getroot.c (find_root_device): Rephrase a comment to avoid
32560 spurious warnings about a comment within a comment.
32561
9051607e 325622008-07-25 Robert Millan <rmh@aybabtu.com>
32563
32564 * util/getroot.c (find_root_device): Skip devices that match
32565 /dev/dm-[0-9]. This lets the real device be found for any type of
32566 abstraction (LVM, EVMS, RAID..).
32567 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
32568 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
32569 device is found first, find_root_device() will now skip it.
32570
01453bfc 325712008-07-24 Pavel Roskin <proski@gnu.org>
32572
32573 * include/grub/types.h: Use __builtin_bswap32() and
32574 __builtin_bswap64() with gcc 4.3 and newer.
32575
6af9849f 325762008-07-24 Christian Franke <franke@computer.org>
32577
3a0fa256 32578 * util/i386/pc/grub-install.in: If `--debug' is specified,
32579 pass `--verbose' to grub-setup.
32580 Abort script if make_system_path_relative_to_its_root() fails.
32581
7810e747 325822008-07-24 Bean <bean123ch@gmail.com>
32583
32584 * configure.ac: Fixed a bug caused by the previous cygwin patch,
32585 variable `target_platform' should be `platform'.
32586
42290e17 325872008-07-24 Bean <bean123ch@gmail.com>
32588
51cc5193 32589 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 32590 (grub_png_init_fixed_block): New function.
32591 (grub_png_decode_image_data): Handle fixed huffman code compression.
32592
2a8a80e4 325932008-07-24 Bean <bean123ch@gmail.com>
32594
32595 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
32596 (grub_pe2elf_SOURCES): New macro.
32597 (CLEANFILES): Add grub-pe2elf.
32598
32599 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
32600 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
32601 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
32602 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
32603 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
32604 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
32605 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
32606 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
32607 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
32608 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
32609 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
32610 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
32611 (GRUB_PE32_DT_FUNCTION): Likewise.
32612 (GRUB_PE32_REL_I386_DIR32): Likewise.
32613 (GRUB_PE32_REL_I386_REL32): Likewise.
32614 (grub_pe32_symbol): New structure.
32615 (grub_pe32_reloc): Likewise.
32616
32617 * util/grub-pe2elf.c: New file.
32618
32619 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
32620 start symbol in non pc platform.
32621
32622 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
32623
32624 The following patches are from Christian Franke.
32625
32626 * include/grub/dl.h: Remove .previous, gas supports this only
32627 for ELF format.
32628
32629 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
32630 Remove .type, gas supports this only for ELF format.
32631
32632 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
32633 nullbytes in symbol table. This fixes an infinite loop if table is
32634 zero filled.
32635
32636 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
32637 TARGET_IMG_LDFLAGS and EXEEXT.
32638
32639 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
32640 TARGET_IMG_LDFLAGS_AC.
32641 (grub_CHECK_STACK_ARG_PROBE): New function.
32642
32643 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
32644
32645 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
32646
32647 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
32648 to set TARGET_IMG_LD* accordingly.
32649 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
32650 Add call to grub_CHECK_STACK_ARG_PROBE.
32651 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
32652
32653 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
32654
32655 * genmk.rb: Add EXEEXT to CLEANFILES.
32656
12ccdb75 326572008-07-23 Robert Millan <rmh@aybabtu.com>
32658
32659 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
32660 define the codes for arrows and lines used for the menu).
32661 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
32662 as well.
32663
32664 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
32665 fonts, because the latter are too slow.
32666
18eeaf04 326672008-07-21 Bean <bean123ch@gmail.com>
32668
32669 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
32670 a20. Run keyboard test last, as it will cause macbook to halt.
32671
b095e2ad 326722008-07-18 Pavel Roskin <proski@gnu.org>
32673
32674 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
32675 load foreign architecture modules correctly anyway. Keep
32676 support for loading host architecture modules, whether we
32677 compile them or not.
32678
737feb35 326792008-07-17 Pavel Roskin <proski@gnu.org>
32680
3f4ce737 32681 * configure.ac: Use -m32 or -m64 regardless of whether we had to
32682 change target_cpu. The compiler default can mismatch target_cpu
32683 in any case.
32684
4ad2d049 32685 * disk/efi/efidisk.c: Fix format warnings on x86_64.
32686 * kern/efi/efi.c: Likewise.
32687
f6130a12 32688 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
32689 target compiler is functional.
32690 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
32691 are set up.
32692
58393a2d 32693 * configure.ac: Default to efi platform for x86_64-apple. Allow
32694 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
32695 adjustments from the rest, only do them if target is not
32696 explicitly given. Merge other adjustments with the final sanity
32697 check. Remove an extraneous check for supported CPU. Be
32698 specific which CPU and which platform is not supported.
32699
737feb35 32700 * configure.ac: Default to pc platform for x86_64.
32701
546f966a 327022008-07-17 Robert Millan <rmh@aybabtu.com>
32703
32704 Partial LinuxBIOS -> Coreboot rename.
32705
32706 * conf/i386-linuxbios.rmk: Renamed to ...
32707 * conf/i386-coreboot.rmk: ... this.
32708 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
32709 * configure.ac: Accept "coreboot" as input platform (but maintain
32710 compatibility with "linuxbios").
32711 * include/grub/i386/linuxbios: Renamed to ...
32712 * include/grub/i386/coreboot: ... this.
32713
20011694 327142008-07-17 Bean <bean123ch@gmail.com>
32715
32716 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 32717 (appleldr_mod_SOURCE): New variable.
20011694 32718 (appleldr_mod_CFLAGS): Likewise.
32719 (appleldr_mod_LDFLAGS): Likewise.
32720 (pci_mod_SOURCES): Likewise.
32721 (pci_mod_CFLAGS): Likewise.
32722 (pci_mod_LDFLAGS): Likewise.
32723 (lspci_mod_SOURCES): Likewise.
32724 (lspci_mod_CFLAGS): Likewise.
32725 (lspci_mod_LDFLAGS): Likewise.
32726
32727 * conf/x86_64-efi.rmk: New file.
32728
32729 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
32730 macro.
32731 (grub_efidisk_write): Likewise.
32732
32733 * include/efi/api.h (efi_call_0): New macro.
32734 (efi_call_1): Likewise.
32735 (efi_call_2): Likewise.
32736 (efi_call_3): Likewise.
32737 (efi_call_4): Likewise.
32738 (efi_call_5): Likewise.
32739 (efi_call_6): Likewise.
32740
32741 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
32742 grub_rescue_cmd_chainloader.
32743
32744 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
32745 (grub_pe32_optional_header): Change some fields based on i386 or
32746 x86_64 platform.
32747 (GRUB_PE32_PE32_MAGIC): Likewise.
32748
32749 * include/grub/efi/uga_draw.h: New file.
32750
32751 * include/grub/elf.h (STN_ABS): New constant.
32752 (R_X86_64_NONE): Relocation constant for x86_64.
32753 (R_X86_64_64): Likewise.
32754 (R_X86_64_PC32): Likewise.
32755 (R_X86_64_GOT32): Likewise.
32756 (R_X86_64_PLT32): Likewise.
32757 (R_X86_64_COPY): Likewise.
32758 (R_X86_64_GLOB_DAT): Likewise.
32759 (R_X86_64_JUMP_SLOT): Likewise.
32760 (R_X86_64_RELATIVE): Likewise.
32761 (R_X86_64_GOTPCREL): Likewise.
32762 (R_X86_64_32): Likewise.
32763 (R_X86_64_32S): Likewise.
32764 (R_X86_64_16): Likewise.
32765 (R_X86_64_PC16): Likewise.
32766 (R_X86_64_8): Likewise.
32767 (R_X86_64_PC8): Likewise.
32768
32769 * include/grub/i386/efi/pci.h: New file.
32770
32771 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
32772 Change it value based on platform.
32773 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
32774 (GRUB_E820_RAM): Likewise.
32775 (GRUB_E820_RESERVED): Likewise.
32776 (GRUB_E820_ACPI): Likewise.
32777 (GRUB_E820_NVS): Likewise.
32778 (GRUB_E820_EXEC_CODE): Likewise.
32779 (GRUB_E820_MAX_ENTRY): Likewise.
32780 (grub_e820_mmap): New structure.
32781 (linux_kernel_header): Change the efi field according to different
32782 kernel version, also field from linux_kernel_header.
32783
32784 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
32785
32786 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
32787 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
32788 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
32789 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
32790 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
32791 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
32792 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
32793 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
32794 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
32795 (GRUB_PCI_ADDR_IO_MASK): Likewise.
32796
32797 * include/grub/x86_64/efi/kernel.h: New file.
32798
32799 * include/grub/x86_64/efi/loader.h: Likewise.
32800
32801 * include/grub/x86_64/efi/machine.h: Likewise.
32802
32803 * include/grub/x86_64/efi/pci.h: Likewise.
32804
32805 * include/grub/x86_64/efi/time.h: Likewise.
32806
32807 * include/grub/x86_64/linux.h: Likewise.
32808
32809 * include/grub/x86_64/setjmp.h: Likewise.
32810
32811 * include/grub/x86_64/time.h: Likewise.
32812
32813 * include/grub/x86_64/types.h: Likewise.
32814
32815 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
32816 GRUB_TARGET_SIZEOF_VOID_P.
32817
32818 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
32819 (grub_efi_locate_handle): Likewise.
32820 (grub_efi_open_protocol): Likewise.
32821 (grub_efi_set_text_mode): Likewise.
32822 (grub_efi_stall): Likewise.
32823 (grub_exit): Likewise.
32824 (grub_reboot): Likewise.
32825 (grub_halt): Likewise.
32826 (grub_efi_exit_boot_services): Likewise.
32827 (grub_get_rtc): Likewise.
32828
32829 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
32830 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
32831 (grub_efi_allocate_pages): Wrap efi calls.
32832 (grub_efi_free_pages): Wrap efi calls.
32833 (grub_efi_get_memory_map): Wrap efi calls.
32834
32835 * kern/x86_64/dl.c: New file.
32836
32837 * kern/x86_64/efi/callwrap.S: Likewise.
32838
32839 * kern/x86_64/efi/startup.S: Likewise.
32840
32841 * loader/efi/appleloader.c: Likewise.
32842
32843 * loader/efi/chainloader.c (cmdline): New variable.
32844 (grub_chainloader_unload): Wrap efi calls.
32845 (grub_chainloader_boot): Likewise.
32846 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
32847 command line.
32848
32849 * loader/efi/chainloader_normal.c (chainloader_command):
32850 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
32851 command line.
32852
32853 * loader/i386/efi/linux.c (allocate_pages): Change allocation
32854 method.
32855 (grub_e820_add_region): New function.
32856 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
32857 booting.
32858 (grub_find_video_card): New function.
32859 (grub_linux_setup_video): New function.
32860 (grub_rescue_cmd_linux): Probe for video information.
32861
32862 * normal/x86_64/setjmp.S: New file.
32863
32864 * term/efi/console.c (map_char): New function.
32865 (grub_console_putchar): Map unicode char.
32866 (grub_console_checkkey): Wrap efi calls.
32867 (grub_console_getkey): Likewise.
32868 (grub_console_getwh): Likewise.
32869 (grub_console_gotoxy): Likewise.
32870 (grub_console_cls): Likewise.
32871 (grub_console_setcolorstate): Likewise.
32872 (grub_console_setcursor): Likewise.
32873
32874 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
32875
59652a20 328762008-07-16 Pavel Roskin <proski@gnu.org>
32877
ef294055 32878 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
32879 format strings.
32880
59652a20 32881 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
32882 pointer, not an integer. This fixes a warning and prevents
32883 precision loss on 64-bit systems.
32884 (relocate_addresses): Remove unneeded cast.
32885
afc3b5d7 328862008-07-15 Pavel Roskin <proski@gnu.org>
32887
506b2b3e 32888 * kern/i386/ieee1275/init.c: Include grub/cache.h.
32889
62ead89c 32890 * term/ieee1275/ofconsole.c: Disable code unused on i386.
32891
c4cd51d7 32892 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
32893 Fix comparison between signed and unsigned.
32894
0d3d8f28 32895 * include/grub/i386/ieee1275/console.h: Declare
32896 grub_console_init() and grub_console_fini().
32897
8804b286 32898 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
32899 It's empty and unused.
32900
ee01cf35 32901 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
32902 beginning to avoid warnings with some compilers.
32903
afc3b5d7 32904 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
32905 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
32906
e4e8eaa5 329072008-07-14 Pavel Roskin <proski@gnu.org>
32908
407aceb4 32909 * kern/env.c (grub_register_variable_hook): Don't copy empty
32910 string, it leaks memory. Pass "" to grub_env_set(), it should
32911 handle constant strings.
32912
e4e8eaa5 32913 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
32914 * commands/cmp.c (grub_cmd_cmp): Likewise.
32915 * kern/dl.c (grub_dl_flush_cache): Likewise.
32916 (grub_dl_load_core): Likewise.
32917 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
32918 (grub_elf64_load_phdrs): Likewise.
32919
d4e2dad3 329202008-07-13 Pavel Roskin <proski@gnu.org>
32921
32922 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
32923 between signed and unsigned.
32924 (LzmaEnc_Finish): Fix warning about an unused parameter.
32925
aa24b516 329262008-07-13 Bean <bean123ch@gmail.com>
32927
32928 * Makefile.in (enable_lzo): New rule.
32929
32930 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
32931
32932 * configure.ac (ENABLE_LZO): New option --enable-lzo.
32933
32934 * boot/i386/pc/lnxboot.S: #include <config.h>.
32935
32936 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 32937 its value according to the compression algorithm used, lzo or lzma.
aa24b516 32938
32939 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
32940 compression algorithm according to configure macro.
32941
32942 * kern/i386/pc/startup.S (codestart): Likewise.
32943
32944 * kern/i386/pc/lzma_decode.S: New file.
32945
32946 * include/grub/lib/LzFind.h: Likewise.
32947
32948 * include/grub/lib/LzHash.h: Likewise.
32949
32950 * include/grub/lib/LzmaDec.h: Likewise.
32951
32952 * include/grub/lib/LzmaEnc.h: Likewise.
32953
32954 * include/grub/lib/LzmaTypes.h: Likewise.
32955
32956 * lib/LzFind.c: Likewise.
32957
32958 * lib/LzmaDec.c: Likewise.
32959
32960 * lib/LzmaEnc.c: Likewise.
32961
4ae821ac 329622008-07-13 Bean <bean123ch@gmail.com>
32963
32964 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
32965 (grub_ext4_extent_header): New structure.
32966 (grub_ext4_extent): Likewise.
32967 (grub_ext4_extent_idx): Likewise.
32968 (grub_ext4_find_leaf): New function.
32969 (grub_ext2_read_block): Handle extents.
32970
9a745147 329712008-07-12 Robert Millan <rmh@aybabtu.com>
32972
32973 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
32974
d49a4cf6 329752008-07-11 Robert Millan <rmh@aybabtu.com>
32976
32977 * util/grub.d/40_custom.in: New file. Example on how to add custom
32978 entries to /etc/grub.d.
32979 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
32980 40_custom (implicitly, by merging all the grub.d rules).
32981
947414b4 329822008-07-11 Pavel Roskin <proski@gnu.org>
32983
0059cf6f 32984 * commands/read.c (grub_getline): Fix invalid memory access.
32985 Don't add newline to the variable value.
32986
947414b4 32987 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
32988 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
32989 (serial_hw_get_port): Check validity of the port number.
32990 (grub_cmd_serial): Check return value of serial_hw_get_port().
32991
62a02d00 329922008-07-07 Pavel Roskin <proski@gnu.org>
32993
32994 * boot/i386/pc/diskboot.S (notification_string): Replace
32995 "Loading kernel" with just "loading". This is shorter, less
32996 confusing and saves a few bytes for possible future changes.
32997
3e5581b0 329982008-07-05 Pavel Roskin <proski@gnu.org>
32999
ea387a48 33000 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
33001 size for ATAPI devices, they are undefined. Output sector
33002 number in decimal form.
33003
3e5581b0 33004 * disk/ata.c: Use named constants for status bits.
33005
fdecb8fd 330062008-07-04 Pavel Roskin <proski@gnu.org>
33007
bcd35b90 33008 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
33009 grub_addr_t before casting it to the void pointer to fix a
33010 warning. Non-addressable regions are discarded earlier.
33011 (grub_arch_modules_addr): Cast _end to grub_addr_t.
33012 * kern/i386/linuxbios/table.c: Include grub/misc.h.
33013 (check_signature): Don't shadow table_header.
33014 (grub_linuxbios_table_iterate): Cast numeric constants to
33015 grub_linuxbios_table_header_t.
33016 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
33017 grub_stop().
33018
af58ab3d 33019 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
33020 prevent warnings.
33021
1759aa57 33022 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
33023 pointer, which can cause warnings. Support 64-bit addresses.
33024
fdecb8fd 33025 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
33026 of sizeof(long). This fixes PowerPC image generation on x86_64.
33027
8516d2a8 330282008-07-04 Robert Millan <rmh@aybabtu.com>
33029
33030 This fixes a performance issue when pc & gpt partmap iterators
33031 didn't abort iteration even after our hook found what it was
fe987087 33032 looking for (often causing expensive probes of non-existent drives).
8516d2a8 33033
33034 Some callers relied on previous buggy behaviour, since they would
34c44600 33035 raise an error when their own hooks caused early abortion of its
8516d2a8 33036 iteration.
33037
33038 * kern/device.c (grub_device_open): Improve error message.
33039 * disk/lvm.c (grub_lvm_open): Likewise.
33040 * disk/raid.c (grub_raid_open): Likewise.
33041
33042 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
33043 when hook requests it, independently of grub_errno.
33044 (pc_partition_map_probe): Do not fail when find_func() caused
33045 early abortion of pc_partition_map_iterate().
33046
33047 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
33048 when hook requests it, independently of grub_errno.
33049 (gpt_partition_map_probe): Do not fail when find_func() caused
33050 early abortion of gpt_partition_map_iterate().
33051
33052 * kern/partition.c (grub_partition_iterate): Abort parent iteration
33053 when hook requests it, independently of grub_errno. Do not fail when
33054 part_map_iterate_hook() caused early abortion of p->iterate().
33055
33056 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
33057 when grub_partition_iterate() returned with non-zero.
33058
277d0de9 330592008-07-03 Pavel Roskin <proski@gnu.org>
33060
33061 * disk/ata.c (grub_ata_pio_write): Check status before writing,
33062 like we do in grub_ata_pio_read().
33063 (grub_ata_readwrite): Always write individual sectors. Fix the
33064 sector count for the remainder.
33065 (grub_ata_write): Enable writing to ATA devices. Correctly
33066 report error for ATAPI devices.
33067
d4c9b428 330682008-07-02 Pavel Roskin <proski@gnu.org>
33069
e43fc690 33070 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
33071 warning.
33072
f707af42 33073 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
33074 for every read sector, we already increment it for the whole
33075 batch. This fixes reading more than 256 sectors at once.
33076
11e16b15 33077 * util/grub-editenv.c (cmd_info): Cast argument to long
33078 explicitly. ptrdiff_t reduces to int on i386.
33079
cbabfdd4 33080 * util/grub-editenv.c (main): Be specific which parameter is
33081 missing.
33082
b8fbce0a 33083 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
33084 (memdisk): Make memdisk_orig_addr a pointer.
33085
c9c8e606 33086 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
33087 for file offsets, use grub_off_t instead. Fix printf format
33088 warnings.
33089
ca62e598 33090 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
33091 there. Real unexpected warnings should not drown in the noise
33092 about known problems.
33093
ce8d1766 33094 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
33095 grub_disk_addr_t for memory addresses.
33096
00c7a56a 33097 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
33098 explicitly to fix a warning.
33099
08d3ef09 33100 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
33101
cb71ba20 33102 * Makefile.in (MODULE_LDFLAGS): New variable.
33103 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
33104 the linker accepts --build-id=none.
33105 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
33106 MODULE_LDFLAGS.
33107 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
33108
d4c9b428 33109 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
33110 those in Linux XFS code. Provide a way to access 64-bit parent
33111 inode.
33112 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
33113 the end of struct grub_xfs_dir_header.
33114
d4156eee 331152008-07-02 Bean <bean123ch@gmail.com>
33116
33117 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
33118 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33119 and GRUB_IEEE1275_FLAG_NO_ANSI.
33120
33121 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
33122 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33123 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
33124
33125 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
33126 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
33127
33128 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
33129 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
33130
33131 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
33132 esc sequence on non ANSI terminal.
33133 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
33134
33135 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
33136 beginning of file.
33137
2270f77b 331382008-07-02 Bean <bean123ch@gmail.com>
33139
33140 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
33141 (grub_editenv_SOURCES): New variable.
33142 (pkglib_MODULES): Add loadenv.mod.
33143 (loadenv_mod_SOURCES): New variable.
33144 (loadenv_mod_CFLAGS): Likewise.
33145 (loadenv_mod_LDFLAGS): Likewise.
33146
33147 * include/grub/envblk.h: New file.
33148
33149 * util/envblk.c: New file.
33150
33151 * util/grub-editenv.c: New file.
33152
33153 * commands/loadenv.c: New file.
33154
0e9e51ec 331552008-07-01 Pavel Roskin <proski@gnu.org>
33156
d89b7634 33157 * include/multiboot2.h (struct multiboot_tag_module): Use char,
33158 not unsigned char. This fixes warnings and is consistent with
33159 other tags.
33160
bf1835b1 33161 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
33162
8222a04b 33163 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
33164
6a42d99d 33165 * term/tparm.c (analyze): Always set *popcount.
33166
10b159d1 33167 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
33168 cast to fix a warning.
33169
b8789f6c 33170 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
33171 cast to suppress a warning.
33172
29d7e38a 33173 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
33174 grub_fshelp_read_file() expects.
33175
f341f669 33176 * fs/fat.c: Fix UUID calculation on big-endian systems. We
33177 write uuid as a 32-bit value in CPU byte order, so declare and
33178 use it as such.
33179
0e9e51ec 33180 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
33181 long if the format specifier expects it.
33182 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
33183 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33184 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
33185 long to fix a warning.
33186 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
33187 grub_dprintf() arguments to fix warnings.
33188
3aefa857 331892008-06-30 Pavel Roskin <proski@gnu.org>
33190
56c7668b 33191 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
33192 install_bsd_part immediately before core.img is embedded or
33193 modified on disk. This fixes core.img verification if core.img
33194 cannot be embedded.
33195
3aefa857 33196 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
33197 core_path to calculate the blocklist.
33198 Patch from Javier Martín <lordhabbit@gmail.com>
33199
5444088d 332002008-06-29 Robert Millan <rmh@aybabtu.com>
33201
33202 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
33203 block to disk block.
33204 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
33205 Patch from Niels Böhm <bitbucket@arcor.de>
33206
674835c8 332072008-06-29 Robert Millan <rmh@aybabtu.com>
33208
33209 * util/update-grub_lib.in (font_path): Search for fonts in
33210 /boot/grub first, which is more likely to be readable (we aren't
33211 deciding where fonts live, just looking for them).
33212
f527dbc8 332132008-06-26 Pavel Roskin <proski@gnu.org>
33214
6c2d8df6 33215 * util/biosdisk.c (read_device_map): Don't leave dead map
33216 entries for devices failing stat() check.
33217
f527dbc8 33218 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
33219 core_path_dev for the core.img path on the target device.
33220
aebe3d13 332212008-06-26 Robert Millan <rmh@aybabtu.com>
33222
33223 * disk/fs_uuid.c: New file.
33224 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
33225 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
33226 (fs_uuid_mod_LDFLAGS): New variables.
33227 * include/grub/disk.h (grub_disk_dev_id): Add
33228 `GRUB_DISK_DEVICE_UUID_ID'.
33229 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
33230 implement iterate().
33231
37aaf354 332322008-06-26 Robert Millan <rmh@aybabtu.com>
33233
33234 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
33235 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
33236 Linux image includes no initrd.
33237
25ff262a 332382008-06-21 Javier Martín <lordhabbit@gmail.com>
33239
33240 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
33241 call to resolve the core image location that effectively appended the
33242 name twice.
33243
76a2bd44 332442008-06-21 Robert Millan <rmh@aybabtu.com>
33245
33246 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
33247 call from here ...
33248
33249 * util/grub.d/10_hurd.in: ... to here ...
33250 * util/grub.d/10_linux.in: ... and here.
33251
650e1c79 332522008-06-19 Robert Millan <rmh@aybabtu.com>
33253
fe987087 33254 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 33255 after it has been set by grub_machine_set_prefix().
33256
6ce63911 332572008-06-19 Robert Millan <rmh@aybabtu.com>
33258
33259 * commands/search.c (search_label, search_fs_uuid, search_file): Print
33260 search result when not saving to variable, not the other way around.
33261 When saving to variable, abort iteration as soon as a match is found.
33262
73940cec 332632008-06-19 Robert Millan <rmh@aybabtu.com>
33264
33265 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
33266 check for partition that provides /boot/grub. Its logic is flawed,
33267 as it prevents prepare_grub_to_access_device() from being called
33268 multiple times.
33269
3c62a39d 332702008-06-19 Robert Millan <rmh@aybabtu.com>
33271
33272 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
33273 "insmod" command directly when abstraction modules are needed,
fe987087 33274 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 33275 since it had already been processed).
33276
47395a42 332772008-06-19 Pavel Roskin <proski@gnu.org>
33278
33279 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33280 changed. This is needed in case GRUB_LIBDIR changes.
33281 * conf/i386-ieee1275.rmk: Likewise.
33282 * conf/i386-linuxbios.rmk: Likewise.
33283 * conf/i386-pc.rmk: Likewise.
33284 * conf/powerpc-ieee1275.rmk: Likewise.
33285
a145ac2d 332862008-06-18 Pavel Roskin <proski@gnu.org>
33287
33288 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33289 kernel_elf_symlist.c to symlist.c for consistency with other
33290 architectures. Update all users.
33291 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33292
7847c51e 332932008-06-18 Robert Millan <rmh@aybabtu.com>
33294
33295 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33296 it in prefix.
33297
33298 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33299 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33300 a RAID device, run setup() for all members independently on whether
33301 LVM abstraction is being used.
33302 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33303 If grub-mkimage has set `*install_dos_part == -2', don't override this
33304 value.
33305 Perform *install_dos_part adjustments independently on whether
33306 we're embedding or not.
33307 Clarify error message when image is too big for embedding.
33308 Remove duplicate *install_dos_part stanza.
33309
b23e5644 333102008-06-17 Robert Millan <rmh@aybabtu.com>
33311
33312 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33313 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33314 variables.
33315 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33316 values in grub_ofconsole_normal_color and
33317 grub_ofconsole_highlight_color (they're not directly related to
33318 background and foreground).
33319 (grub_ofconsole_setcolorstate): Extract background and foreground
33320 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33321
0aac2f79 333222008-06-17 Robert Millan <rmh@aybabtu.com>
33323
33324 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33325 /boot/grub for the check in last commit, not /boot (they could be
33326 different partitions).
33327
3cca7ef3 333282008-06-16 Robert Millan <rmh@aybabtu.com>
33329
33330 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33331 asked to setup access for the same partition that provides /boot,
33332 don't bother using UUIDs since our root already has the value we
33333 want.
33334
347396d8 333352008-06-16 Robert Millan <rmh@aybabtu.com>
33336
33337 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33338 I2O devices.
33339 Patch from Sven Mueller <sven@debian.org>.
33340
991477f8 333412008-06-16 Robert Millan <rmh@aybabtu.com>
33342
33343 * util/update-grub.in: Check for $EUID instead of $UID.
33344 Reported by Vincent Zweije.
33345
d31a32a1 333462008-06-16 Bean <bean123ch@gmail.com>
33347
fe987087 33348 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 33349 (grub_ext2_read_block): Likewise.
33350 (grub_ext2_read_inode): Likewise.
33351 (grub_ext2_mount): Likewise.
33352 (grub_ext2_close): Likewise.
33353 (grub_ext3_get_journal): Removed.
33354
fe987087 33355 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 33356 (grub_reiserfs_read_symlink): Likewise.
33357 (grub_reiserfs_mount): Likewise.
33358 (grub_reiserfs_open): Likewise.
33359 (grub_reiserfs_read): Likewise.
33360 (grub_reiserfs_close): Likewise.
33361 (grub_reiserfs_get_journal): Removed.
33362
33363 * fs/fshelp.c (grub_fshelp_read): Removed.
33364 (grub_fshelp_map_block): Likewise.
33365
33366 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
33367 (grub_fshelp_journal): Likewise.
33368 (grub_fshelp_read): Likewise.
33369 (grub_fshelp_map_block): Likewise.
33370
3540a760 333712008-06-16 Pavel Roskin <proski@gnu.org>
33372
33373 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
33374 floating point anymore.
33375 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
33376
95614c84 333772008-06-15 Pavel Roskin <proski@gnu.org>
33378
33379 * commands/ls.c (grub_ls_list_files): Use integer calculations
33380 for human readable format, avoid floating point use.
33381 * kern/misc.c (grub_ftoa): Remove.
33382 (grub_vsprintf): Remove floating point support.
33383
50465dd6 333842008-06-15 Robert Millan <rmh@aybabtu.com>
33385
fe6b695a 33386 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 33387 devices.
33388 Reported by Max Vozeler.
33389
a9207284 333902008-06-15 Robert Millan <rmh@aybabtu.com>
33391
33392 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
33393 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
33394 skipped later.
33395 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
33396 the beginning of the prefix.
33397
33398 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
33399 It is assumed that if we have a memdisk, grub-mkimage has set
33400 grub_prefix to include the "(memdisk)" drive in it.
33401
a7cbd45a 334022008-06-15 Robert Millan <rmh@aybabtu.com>
33403
33404 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
33405 Initialize keyboard controller after registering the terminal, so that
33406 grub_printf() can be called from grub_keyboard_controller_init().
33407
21cf716a 334082008-06-15 Robert Millan <rmh@aybabtu.com>
33409
33410 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
33411 extent-btree which is written as big endian on disk.
33412 Reported by Alain Greppin <al@chilibi.org>.
33413
23a64d8e 334142008-06-14 Robert Millan <rmh@aybabtu.com>
33415
33416 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
33417 * util/i386/pc/grub-install.in (modules): Likewise.
33418
d687651c 334192008-06-13 Pavel Roskin <proski@gnu.org>
33420
33421 * commands/ls.c (grub_ls_list_files): Fix format warnings.
33422
dfe9ddd4 334232008-06-13 Bean <bean123ch@gmail.com>
33424
33425 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
33426
33427 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
33428
33429 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
33430 to indicate sparse block.
33431
16ae7781 334322008-06-12 Pavel Roskin <proski@gnu.org>
33433
e6d1a308 33434 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
33435 number, grub_fshelp_read() does it for us.
33436
16ae7781 33437 * fs/fshelp.c (grub_fshelp_read): New function. Implement
33438 linear disk read with journal translation.
33439 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
33440 * include/grub/fshelp.h: Declare grub_fshelp_read().
33441
40fd3a2b 334422008-06-09 Pavel Roskin <proski@gnu.org>
33443
33444 * fs/minix.c (grub_minix_mount): Handle error reading
33445 superblock.
33446
f5679726 334472008-06-08 Robert Millan <rmh@aybabtu.com>
33448
33449 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
33450 don't append the RAID prefix afterwards.
33451 Reported by Clint Adams.
33452
ce525529 334532008-06-08 Robert Millan <rmh@aybabtu.com>
33454
33455 Based on description from Pavel:
33456 * kern/disk.c (grub_disk_check_range): Rename to ...
33457 (grub_disk_adjust_range): ... this. Add a comment explaining the
33458 tasks performed by this function.
33459
ad4936a0 334602008-06-08 Robert Millan <rmh@aybabtu.com>
33461
33462 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
33463 `num_serial' (for consistency with other variables).
33464 (struct grub_ntfs_data): Add `uuid' member.
33465 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
33466 (grub_ntfs_uuid): New function.
33467 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
33468
dc20b0f9 334692008-06-07 Pavel Roskin <proski@gnu.org>
33470
33471 * util/biosdisk.c (open_device): Revert last change to the
33472 function, it broke installation. The sector needs to be
33473 different dependent on which device is opened.
33474
c5e3cfba 334752008-06-06 Robert Millan <rmh@aybabtu.com>
33476
33477 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
33478 rest of GRUB, and breakage doesn't happen if its value were modified.
33479
33480 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33481 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
33482 a constant (same value).
33483 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
33484 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
33485
26a1f8c4 334862008-06-06 Robert Millan <rmh@aybabtu.com>
33487
33488 * util/biosdisk.c (open_device): Do not modify sector offset when
33489 accessing a partition. kern/disk.c already handles this for us.
33490
25d6b327 334912008-06-06 Robert Millan <rmh@aybabtu.com>
33492
33493 * util/grub-emu.c (grub_machine_init): Move code in this function from
33494 here ...
33495 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
33496 segfault in case grub_printf() is called).
33497
33498 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
33499 grub_probe. Update all users not to explicitly add it again.
33500 (grub_device): New variable; contains corresponding device for grubdir.
33501 (fs_module, partmap_module, devabstraction_module): Pass
33502 `--device ${grub_device}' to grub_probe to avoid traversing /dev
33503 every time.
33504
9ece62fb 335052008-06-05 Robert Millan <rmh@aybabtu.com>
33506
33507 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
33508 is found, print it (same layout as with labels).
33509
1ad36d37 335102008-06-04 Robert Millan <rmh@aybabtu.com>
33511
33512 * util/biosdisk.c (get_drive): Rename to ...
33513 (find_grub_drive): ... this. Update all users.
33514
33515 (get_os_disk): Rename to ...
33516 (convert_system_partition_to_system_disk): ... this. Update all users.
33517
33518 (find_drive): Rename to ...
33519 (find_system_device): ... this. Update all users.
33520
e6a30859 335212008-06-04 Robert Millan <rmh@aybabtu.com>
33522
33523 * util/biosdisk.c (get_os_disk): Handle IDA devices.
33524 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33525 (make_device_map): Likewise.
33526
00c108a4 335272008-06-01 Robert Millan <rmh@aybabtu.com>
33528
33529 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
33530 before dereferencing it.
33531
33532 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
33533 union with fat12/fat16-specific ones. Add some new fields, including
33534 `num_serial' for both versions.
33535 (struct grub_fat_data): Add `uuid' member.
33536 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
33537 names. Initialize `data->uuid' using `num_serial'.
33538 (grub_fat_uuid): New function.
33539 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
33540
33541 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
33542 (grub_reiserfs_uuid): New function.
33543 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
33544 member.
33545
33546 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
33547 (grub_xfs_uuid): New function.
33548 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
33549
1385c5bb 335502008-06-01 Robert Millan <rmh@aybabtu.com>
33551
33552 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
33553 code that is backward compatible with pre-uuid search command.
33554
c682dfd7 335552008-05-31 Robert Millan <rmh@aybabtu.com>
33556
33557 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
33558 floppies after everything else, to ensure floppy drive isn't accessed
33559 unnecessarily (patch from Bean).
33560
b7db5d47 335612008-05-31 Robert Millan <rmh@aybabtu.com>
33562
33563 * commands/search.c (search_label, search_fs_uuid, search_file): Do
33564 not print device names when we were asked to set a variable.
33565
6e037aa9 335662008-05-31 Robert Millan <rmh@aybabtu.com>
33567
33568 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
33569 using "cursor-on" and "cursor-off" commands (understood at least by
33570 the Open Firmware flavour on OLPC).
33571
41305bc8 335722008-05-31 Michael Gorven <michael@gorven.za.net>
33573
33574 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
33575 on and off sequences.
33576
69ba137e 335772008-05-31 Robert Millan <rmh@aybabtu.com>
33578
33579 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
33580 * util/update-grub.in: Likewise.
33581
520ae21b 335822008-05-30 Pavel Roskin <proski@gnu.org>
33583
33584 * util/biosdisk.c (linux_find_partition): Simplify logic and
33585 make the code more universal. Keep special processing for
33586 devfs, but use a simple rule for all other devices. If the
33587 device ends with a number, append 'p' and the partition number.
33588 Otherwise, append only the partition number.
33589
5786569b 335902008-05-30 Robert Millan <rmh@aybabtu.com>
33591
33592 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
33593 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
33594 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
33595 the `root' parameter to Linux.
33596
51500452 335972008-05-30 Robert Millan <rmh@aybabtu.com>
33598
33599 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
33600 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
33601 --fs_uuid with --fs-uuid.
33602 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
33603 all filesystems support them).
33604
811d3878 336052008-05-30 Robert Millan <rmh@aybabtu.com>
33606
33607 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 33608 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 33609
cab63c95 336102008-05-30 Robert Millan <rmh@aybabtu.com>
33611
33612 * util/grub.d/00_header.in: Remove obsolete comment referencing
33613 convert_system_path_to_grub_path().
33614 * util/update-grub.in: Likewise.
33615 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
33616 (convert_system_path_to_grub_path): Add a warning message explaining
33617 that this function is deprecated. Rely on is_path_readable_by_grub()
33618 for the readability checks.
33619 (font_path): Use is_path_readable_by_grub() for the readability
33620 check rather than convert_system_path_to_grub_path().
33621
972e2f7a 336222008-05-30 Robert Millan <rmh@aybabtu.com>
33623
33624 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
33625 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
33626 converting it first.
33627 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
33628 grub.cfg for access to font file, and afterwards call it again to set
33629 the root device.
33630
62191274 336312008-05-30 Robert Millan <rmh@aybabtu.com>
33632
33633 * commands/search.c (options): Add --fs_uuid option.
33634 (search_fs_uuid): New function.
33635 (grub_cmd_search): Fix --set argument passing.
33636 Use search_fs_uuid() when requested via --fs_uuid.
33637 (grub_search_init): Update help message.
33638 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
33639 and redeclare it as an array of 16-bit words.
33640 (grub_ext2_uuid): New function.
33641 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
33642 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
33643 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
33644 (GRUB_DEVICE_BOOT_UUID): New variables.
33645 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
33646 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
33647 whenever possible.
33648 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
33649 just assume `root' variable has the right value.
33650 * util/grub.d/10_linux.in: Likewise.
33651 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
33652 via PRINT_FS_UUID.
33653 (main): Recognise `-t fs_uuid' argument.
33654
01b73ec8 336552008-05-30 Robert Millan <rmh@aybabtu.com>
33656
33657 * util/biosdisk.c (map): Redefine structure to hold information
33658 about GRUB drive name.
fe6b695a 33659 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 33660 drive names.
33661 (call_hook): Remove.
33662 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
33663 member. Assume drive has partitions.
33664 (grub_util_biosdisk_open): Access device names via `.device' struct
33665 member.
33666 (open_device): Likewise.
33667 (find_drive): Likewise.
33668 (read_device_map): Adjust map[] usage to match the new struct
33669 definition. Don't check for duplicates (still possible, but not cheap
33670 anymore).
33671 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
33672 (make_device_name): Remove assumption of BIOS-like drive names.
33673
22f16596 336742008-05-30 Pavel Roskin <proski@gnu.org>
33675
33676 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
33677 compiling execute.c doesn't need grub_script.tab.h anymore.
33678 (normal/command.c_DEPENDENCIES): Likewise.
33679 (normal/function.c_DEPENDENCIES): Likewise.
33680 * conf/i386-ieee1275.rmk: Likewise.
33681 * conf/i386-linuxbios.rmk: Likewise.
33682 * conf/i386-pc.rmk: Likewise.
33683 * conf/powerpc-ieee1275.rmk: Likewise.
33684 * conf/sparc64-ieee1275.rmk: Likewise.
33685
528ad8f2 336862008-05-29 Pavel Roskin <proski@gnu.org>
33687
d1dff95d 33688 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
33689 when scanning metadata for volume group name.
33690
528ad8f2 33691 * include/grub/script.h: Don't include grub_script.tab.h. It's
33692 a generated file, which may only be included from the files with
33693 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
33694 use union YYSTYPE, as the later allows forward declaration.
33695 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
33696
47248e08 336972008-05-29 Robert Millan <rmh@aybabtu.com>
33698
33699 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
33700 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
33701 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
33702 (grub_console_checkkey): Add grub_dprintf() call to report unknown
33703 scan codes.
33704
ee632529 337052008-05-29 Robert Millan <rmh@aybabtu.com>
33706
33707 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
33708 control key combinations.
33709
eee96e08 337102008-05-29 Robert Millan <rmh@aybabtu.com>
33711
33712 * util/powerpc/ieee1275/grub-install.in: Move from here ...
33713 * util/ieee1275/grub-install.in: ... to here.
33714 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
33715 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
33716 (grub_install_SOURCES): Likewise.
33717
da9a6a94 337182008-05-29 Robert Millan <rmh@aybabtu.com>
33719
33720 * fs/affs.c: Update copyright year.
33721 * fs/ext2.c: Likewise.
33722 * fs/fshelp.c: Likewise.
33723 * fs/hfsplus.c: Likewise.
33724 * fs/ntfs.c: Likewise.
33725 * fs/xfs.c: Likewise.
33726 * include/grub/fshelp.h: Likewise.
33727 * util/grub-mkdevicemap.c: Likewise.
33728
12e65f3a 337292008-05-28 Robert Millan <rmh@aybabtu.com>
33730
33731 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
33732 might need to be fatfs to support some firmware implementations
33733 (e.g. OFW or EFI).
33734
23023641 337352008-05-28 Robert Millan <rmh@aybabtu.com>
33736
33737 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
33738 devices.
33739 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33740 (make_device_map): Likewise.
33741
887d2619 337422008-05-20 Bean <bean123ch@gmail.com>
33743
33744 * fs/fshelp.c (grub_fshelp_map_block): New function.
33745 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
33746 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
33747
33748 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
33749 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
33750 (grub_fshelp_journal): New structure.
33751 (grub_fshelp_map_block): New function prototype.
33752 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
33753 (grub_fshelp_map_block): Likewise.
33754
33755 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
33756 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
33757 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
33758 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
33759 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
33760 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
33761 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
33762 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
33763 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
33764 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
33765 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
33766 (grub_ext2_sblock): New members for journal support.
33767 (grub_ext3_journal_header): New structure.
33768 (grub_ext3_journal_revoke_header): Likewise.
33769 (grub_ext3_journal_block_tag): Likewise.
33770 (grub_ext3_journal_sblock): Likewise.
33771 (grub_fshelp_node): New members logfile and journal.
33772 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
33773 grub_fshelp_map_block to get real block number.
33774 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
33775 number.
33776 (grub_ext2_read_inode): Likewise.
33777 (grub_ext3_get_journal): New function.
33778 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
33779 (grub_ext2_close): Release memory used by journal.
33780
33781 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
33782 (REISERFS_MAGIC_DESC_BLOCK): New macro.
33783 (grub_reiserfs_transaction_header): Renamed to
33784 grub_reiserfs_description_block, replace field data with real_blocks.
33785 (grub_reiserfs_commit_block): New structure.
33786 (grub_reiserfs_data): New member journal.
33787 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
33788 number.
33789 (grub_reiserfs_read_symlink): Likewise.
33790 (grub_reiserfs_iterate_dir): Likewise.
33791 (grub_reiserfs_open): Likewise.
33792 (grub_reiserfs_read): Likewise.
33793 (grub_reiserfs_get_journal): New function.
33794 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
33795 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
33796 using grub_reiserfs_get_journal.
33797 (grub_reiserfs_close): Release memory used by journal.
33798
33799 * fs/affs.c (grub_affs_read_block): Change block type to
33800 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
33801
33802 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
33803
33804 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
33805
33806 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
33807
33808 * fs/udf.c (grub_udf_read_block): Change block type to
33809 grub_disk_addr_t. Use type cast to avoid warning.
33810
33811 * fs/xfs.c (grub_xfs_read_block): Likewise.
33812
b7c6bed5 338132008-05-16 Christian Franke <franke@computer.org>
33814
33815 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
33816 to ensure that break with ESC will always work.
33817 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
33818 Remove ESC from keyboard queue.
33819
eedf167f 338202008-05-16 Christian Franke <franke@computer.org>
33821
33822 * util/biosdisk.c: [__CYGWIN__] Add includes.
33823 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
33824 (get_os_disk): Move variable declarations to OS specific
33825 parts to avoid warning.
33826 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
33827 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
33828 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
33829 Cygwin.
33830 * util/getroot.c: [__CYGWIN__] Add includes.
33831 (strip_extra_slashes): Fix "/" case.
33832 [__CYGWIN__] (get_win32_path): New function.
33833 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
33834 [__CYGWIN__] (find_root_device): Disable.
33835 [__CYGWIN__] (get_bootsec_serial): New function.
33836 [__CYGWIN__] (find_cygwin_root_device): Likewise.
33837 [__linux__] (grub_guess_root_device): Add early returns to simplify
33838 structure.
33839 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
33840 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
33841 check for Linux only.
33842
a079699e 338432008-05-15 Bean <bean123ch@gmail.com>
33844
33845 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
33846 keyboard hang problem in apple's intel mac.
33847
1cf4059a 338482008-05-09 Robert Millan <rmh@aybabtu.com>
33849
33850 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
33851 devices.
33852 * util/grub-mkdevicemap.c (get_virtio_disk_name)
33853 (make_device_map): Likewise.
33854 Reported by Aurelien Jarno <aurel32@debian.org>
33855
ed759390 338562008-05-07 Ian Campbell <ijc@hellion.org.uk>
33857
33858 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
33859 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
33860 (make_device_map): Output entries for xvd type disks.
33861
b56c4eaa 338622008-05-07 Robert Millan <rmh@aybabtu.com>
33863
33864 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
33865 devices.
33866 * util/grub-mkdevicemap.c (get_cciss_disk_name)
33867 (make_device_map): Likewise.
33868 Reported by Roland Dreier <rdreier@cisco.com>
33869
7f8866ed 338702008-05-07 Robert Millan <rmh@aybabtu.com>
33871
33872 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
33873 grub_strstr() call. Correct a few mistakes in failure path handling.
33874
b0346e0f 338752008-05-06 Robert Millan <rmh@aybabtu.com>
33876
33877 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33878 Do not print a trailing slash (therefore, the root directory is an
33879 empty string).
33880 (convert_system_path_to_grub_path): Do not remove trailing slash
33881 from make_system_path_relative_to_its_root() output.
33882
33883 * util/i386/pc/grub-install.in: Add trailing slash to output from
33884 make_system_path_relative_to_its_root().
33885
6cf12cbd 338862008-05-06 Robert Millan <rmh@aybabtu.com>
33887
33888 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
33889 ensures that output lines aren't intermangled with those sent to
33890 stderr (via grub_util_info()).
33891 * util/grub-probe.c (grub_refresh): Likewise.
33892 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
33893
0fbb3117 338942008-05-05 Christian Franke <franke@computer.org>
33895
33896 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
33897 Add Cygwin device names.
33898 (get_ide_disk_name) [__CYGWIN__]: Likewise.
33899 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
33900 (check_device): Return error instead of success on empty name.
33901 (make_device_map): Move label inside linux specific code to
33902 prevent compiler warning.
33903
8124cdb7 339042008-04-30 Robert Millan <rmh@aybabtu.com>
33905
33906 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
33907 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
33908 first boot option.
33909 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
33910
094c01d0 339112008-04-29 Robert Millan <rmh@aybabtu.com>
33912
33913 * docs/grub.cfg: New file (example GRUB configuration).
33914
f4b1fc02 339152008-04-26 Robert Millan <rmh@aybabtu.com>
33916
329ce2a5 33917 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
33918 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
33919 and `disk/ieee1275/nand.c'.
f4b1fc02 33920
25f16ec1 339212008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 33922
25f16ec1 33923 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
33924 i386-linuxbios.
33925
33926 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
33927 change the buffer size to 4096 for cdrom device.
33928
33929 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
33930 and nand.mod.
33931 (_linux_mod_SOURCES): New variable.
33932 (_linux_mod_CFLAGS): Likewise.
33933 (_linux_mod_LDFLAGS): Likewise.
33934 (linux_mod_SOURCES): Likewise.
33935 (linux_mod_CFLAGS): Likewise.
33936 (linux_mod_LDFLAGS): Likewise.
33937 (nand_mod_SOURCES): Likewise.
33938 (nand_mod_CFLAGS): Likewise.
33939 (nand_mod_LDFLAGS): Likewise.
33940
33941 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
33942 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
33943 type property. (nand device in olpc don't have this property)
33944
33945 * include/grub/disk.h (grub_disk_dev_id): New macro
33946 GRUB_DISK_DEVICE_NAND_ID.
33947
33948 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
33949 function prototype.
33950 (grub_rescue_cmd_initrd): Likewise.
33951
33952 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
33953 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
33954 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 33955
25f16ec1 33956 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
33957 GRUB_MACHINE_IEEE1275 is defined.
33958
33959 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
33960 Use NESTED_FUNC_ATTR attribute on the hook parameter.
33961
33962 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
33963 on nested function heap_init.
33964 (grub_upper_mem): New variable for i386-ieee1275.
33965 (grub_get_extended_memory): New function for i386-ieee1275.
33966 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
33967
33968 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
33969 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
33970 property.
f19dbdb7 33971
25f16ec1 33972 * loader/i386/ieee1275/linux.c: New file.
33973
33974 * loader/i386/ieee1275/linux_normal.c: New file.
33975
33976 * disk/ieee1275/nand.c: New file.
33977
e89d61e9 339782008-04-18 Thomas Schwinge <tschwinge@gnu.org>
33979
33980 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
33981 value.
33982 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
33983
602566f6 339842008-04-18 Robert Millan <rmh@aybabtu.com>
33985
33986 Restructures early code path on ieee1275 to unify grub_main() as
33987 the first C function that is executed in every platform.
33988
33989 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
33990 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
33991 cmain().
33992 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
33993 * kern/ieee1275/cmain.c (cmain): Rename to ...
33994 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
33995 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
33996 at the beginning.
33997
57490c2b 339982008-04-18 Robert Millan <rmh@aybabtu.com>
33999
34000 * util/update-grub.in: Fix syntax error when setting
34001 `GRUB_PRELOAD_MODULES'.
34002 Reported by Stephane Chazelas <stephane@artesyncp.com>
34003
1977517d 340042008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
34005
34006 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
34007 section into account, newer toolchains generate unique build ids
34008 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 34009 we want build ids to be preserved
1977517d 34010 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
34011 far from other sections don't cause the raw binary images grow
34012 size
34013
bfb1f1a2 340142008-04-15 Robert Millan <rmh@aybabtu.com>
34015
34016 * disk/lvm.c: Update copyright year.
34017 * kern/misc.c: Likewise.
34018
01979850 340192008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34020
34021 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 34022 there is no memory left for physical volume name.
01979850 34023
0a1150e2 340242008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34025
34026 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
34027 volume name mapping to support bigger than 9 character names properly.
34028
82ead3fe 340292008-04-13 Robert Millan <rmh@aybabtu.com>
34030
34031 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
34032 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
34033
e54a72f5 340342008-04-13 Christian Franke <franke@computer.org>
34035
34036 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
34037 to create a floppy emulation boot CD when non emulation mode
34038 does not work.
34039 Enable Joliet CD filesystem extension.
34040
9fe86034 340412008-04-13 Robert Millan <rmh@aybabtu.com>
34042
34043 * kern/misc.c (grub_strncat): Fix off-by-one error.
34044 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
34045
34046 * kern/env.c (grub_env_context_close): Clear current context, not
34047 previous one.
34048 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
34049
34050 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
34051
7ceeee39 340522008-04-13 Robert Millan <rmh@aybabtu.com>
34053
34054 Improve robustness when handling LVM.
34055
34056 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 34057 (and leave `*p' unmodified).
7ceeee39 34058 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
34059 through it.
34060 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
34061 iterating through it.
34062 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
34063 through it.
fe6b695a 34064 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 34065 when due) on each grub_lvm_getvalue() or grub_strstr() call.
34066 Don't assume `vg->pvs != NULL' when iterating through it.
34067
58cd3d85 340682008-04-13 Robert Millan <rmh@aybabtu.com>
34069
34070 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
34071 * genmk.rb (partmap): New variable.
34072 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
34073 (#{partmap}): New target rule.
34074 * genpartmaplist.sh: New file.
34075 * Makefile.in (pkglib_DATA): Add partmap.lst.
34076 (partmap.lst): New target rule.
34077 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
34078 modules (including all partition maps), instead of preloading them.
34079
78b51059 340802007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
34081
34082 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
34083 `linux-boot-prober' (if installed) to detect other operating
34084 systems which are installed on the computer and add them to
34085 the boot menu.
34086 * conf/common.rmk: Build and install 30_os-prober.
34087
a91627b4 340882008-04-12 Robert Millan <rmh@aybabtu.com>
34089
34090 * kern/powerpc/ieee1275/init.c: Move from here ...
34091 * kern/ieee1275/init.c: ... to here. Update all users.
34092
34093 * kern/powerpc/ieee1275/cmain.c: Move from here ...
34094 * kern/ieee1275/cmain.c: ... to here. Update all users.
34095
34096 * kern/powerpc/ieee1275/openfw.c: Move from here ...
34097 * kern/ieee1275/openfw.c: ... to here. Update all users.
34098
34099 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
34100 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
34101
322562ea 341022008-04-10 Pavel Roskin <proski@gnu.org>
34103
34104 * configure.ac: Always use "_cv_" in cache variables for
34105 compatibility with Autoconf 2.62.
34106
a02a73c5 341072008-04-07 Robert Millan <rmh@aybabtu.com>
34108
34109 Revert grub/machine/init.h addition by Pavel (since it breaks on
34110 i386-ieee1275 and others):
34111 * util/i386/pc/misc.c: Remove grub/machine/init.h.
34112 * util/powerpc/ieee1275/misc.c: Likewise.
34113
25c024b1 341142008-04-07 Robert Millan <rmh@aybabtu.com>
34115
34116 * util/grub-probe.c (probe): Improve error message.
34117
3cbd2f98 341182008-04-07 Robert Millan <rmh@aybabtu.com>
34119
34120 * util/biosdisk.c (read_device_map): Skip devices that don't exist
34121 (this prevents the presence of a bogus entry from ruining the whole
34122 thing).
34123
87a297bf 341242008-04-06 Pavel Roskin <proski@gnu.org>
34125
36747a62 34126 * util/biosdisk.c: Include grub/util/biosdisk.h.
34127 * util/grub-fstest.c (execute_command): Make static.
34128 * util/grub-mkdevicemap.c (check_device): Likewise.
34129 * util/i386/pc/misc.c: Include grub/machine/init.h.
34130 * util/powerpc/ieee1275/misc.c: Likewise.
34131 * util/lvm.c: Include grub/util/lvm.h.
34132 * util/misc.c: Include grub/kernel.h, grub/misc.h and
34133 grub/cache.h.
34134 * util/raid.c: Include grub/util/raid.h.
34135 (grub_util_getdiskname): Make static.
34136
87a297bf 34137 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
34138 grub_hostfs_fini(), as they are called from grub_init_all() and
34139 grub_fini_all() respectively. This fixes an infinite loop in
34140 grub-fstest due to double registration of hostfs.
34141 Reported by Christian Franke <Christian.Franke@t-online.de>
34142
f6ce7629 341432008-04-05 Pavel Roskin <proski@gnu.org>
34144
34145 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
34146 all 8 functions. Otherwise, probe function 0 only.
34147
070e49e4 341482008-04-04 Pavel Roskin <proski@gnu.org>
34149
8b088a4c 34150 * commands/lspci.c (grub_lspci_iter): Print the bus number
34151 correctly.
34152
4f657021 34153 * commands/lspci.c (grub_pci_classes): Fix typos.
34154 (grub_lspci_iter): Don't print func twice. Print vendor ID
34155 before device ID, as it's normally done.
34156
070e49e4 34157 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34158 Fix signedness warnings.
34159 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
34160 Likewise.
34161 * util/ieee1275/get_disk_name.c: Include config.h so that
34162 _GNU_SOURCE is defined and getline() is declared. Mark an
34163 unused argument as such. Fix a signedness warning.
34164
ba7328dc 341652008-04-02 Pavel Roskin <proski@gnu.org>
34166
26887f22 34167 * genkernsyms.sh.in: Use more robust assignments for CC and
34168 srcdir. Quote srcdir.
34169 * gensymlist.sh.in: Likewise. Assert at the compile time that
34170 the symbol table is not empty.
34171
ba7328dc 34172 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
34173 * fs/cpio.c (grub_cpio_read): Likewise.
34174
0f582c6b 341752008-04-01 Pavel Roskin <proski@gnu.org>
34176
4b6e1995 34177 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
34178 * disk/host.c (grub_host_open): Likewise.
34179 * disk/loopback.c (grub_loopback_open): Likewise.
34180 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
34181 disk->id as in disk/host.c, not a multi-character constant.
34182
828a2768 34183 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
34184 later is obsolete, potentially dangerous and sets a bad example.
34185 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
34186 * util/misc.c (grub_util_get_image_size): Likewise.
34187
2bb4fb47 34188 * disk/loopback.c (options): Improve help for "--partitions".
34189
0f582c6b 34190 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
34191 options to align them with the short options, e.g. "echo -e".
34192
a33224e0 341932008-03-31 Bean <bean123ch@gmail.com>
34194
34195 * video/reader/png.c (grub_png_data): New member is_16bit and
34196 image_data.
34197 (grub_png_decode_image_header): Detect 16 bit png image.
34198 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
34199 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
34200 (grub_video_reader_png): Release memory occupied by image_data.
34201
34202 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
34203 4096 bytes.
34204 (grub_nfs_mount): Skip the test for sector per cluster.
34205
34206 * include/grub/ntfs.h (MAX_SPC): Removed.
34207
86cb4f54 342082008-03-31 Bean <bean123ch@gmail.com>
34209
34210 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
34211 (grub_probe_SOURCES): Add fs/afs.c.
34212 (grub_fstest_SOURCES): Likewise.
34213 (afs_mod_SOURCES): New variable.
34214 (afs_mod_CFLAGS): Likewise.
34215 (afs_mod_LDFLAGS): Likewise.
34216
34217 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
34218 (grub_emu_SOURCES): Likewise.
34219
34220 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34221
34222 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34223
34224 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34225
34226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34227
34228 * fs/afs.c: New file.
34229
17c74c21 342302008-03-30 Pavel Roskin <proski@gnu.org>
34231
4cb68e89 34232 * disk/host.c: Include grub/misc.h to fix a warning.
34233 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
34234 warnings about implicit declarations.
34235
8790bb04 34236 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
34237 variable.
34238 * include/grub/i386/loader.h: Change declaration of
34239 grub_linux_boot() to match what grub_loader_set() expects.
34240 * util/getroot.c (grub_guess_root_device): Return const char* to
34241 fix a warning.
34242 * util/grub-probe.c (probe): Fix a warning about uninitialized
34243 abstraction_name variable.
34244 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
34245 second argument as unused to fix a warning.
34246
9a3f3296 34247 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
34248 missing grub_error() call.
34249
0ecef90d 34250 * util/update-grub_lib.in: Define datarootdir, since Autoconf
34251 2.60 and newer uses it to define datadir.
34252
0bf6d401 34253 * commands/sleep.c: Fix warning about implicit declaration.
34254 * disk/memdisk.c: Likewise.
34255 * loader/aout.c: Likewise.
34256 * loader/i386/bsd_normal.c: Likewise.
34257 * util/grub-probe.c: Likewise.
34258
7cdacf97 34259 * commands/i386/cpuid.c (has_longmode): Make static.
34260 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
34261 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
34262
17c74c21 34263 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
34264 GDT. This is more robust, as %ds can change.
34265 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
34266 calling real_to_prot().
34267 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
34268
80a3e68b 342692008-03-28 Pavel Roskin <proski@gnu.org>
34270
34271 * kern/i386/pc/startup.S: Assert that uncompressed functions
34272 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
34273 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
34274 code, as they push parts of the code (error handlers) beyond
34275 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34276 code as correctness and size.
34277
77bcd272 342782008-03-28 Pavel Roskin <proski@gnu.org>
34279
34280 * kern/i386/pc/startup.S
34281 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34282 data block address to the real mode, keep offset minimal. This
34283 works around a bug in AWARD BIOS on old Athlon systems, which
34284 makes CD detection hang.
34285
c5dfd43b 342862008-03-26 Pavel Roskin <proski@gnu.org>
34287
34288 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34289 const.
34290 * include/grub/normal.h: Add grub_parse_color_name_pair()
34291 declaration.
34292
bf962df2 342932008-03-24 Bean <bean123ch@gmail.com>
34294
34295 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34296 (cd_count): Removed.
34297 (cd_drive): New variable.
34298 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34299 (grub_biosdisk_call_hook): Likewise.
34300 (grub_biosdisk_iterate): Change cdrom detection method.
34301 (grub_biosdisk_open): Replace cd_start with cd_drive.
34302 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34303 detect cdrom device.
34304
34305 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34306 Removed.
34307 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34308 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34309 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34310 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34311 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34312 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34313 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34314 (grub_biosdisk_cdrp): New structure.
34315 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34316
34317 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34318
34319 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34320 device.
34321
34322 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34323 New function.
34324
68e7fc7a 343252008-03-20 Robert Millan <rmh@aybabtu.com>
34326
34327 Remove 2 TiB limit in ata.mod.
34328 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34329 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34330 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34331 grub_uint64_t instead of grub_uint32_t.
34332
38ad2cf5 343332008-03-05 Bean <bean123ch@gmail.com>
34334
34335 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34336 (grub_multiboot): Set boot device.
34337
34338 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
34339
2b89344e 343402008-03-02 Bean <bean123ch@gmail.com>
34341
34342 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
34343 symlink_buffer.
34344
87a95d1f 343452008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
34346
34347 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
34348 texinfo.tex.
34349
34350 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
34351 modified.
34352
34353 * docs/fdl.texi: New file.
f19dbdb7 34354
87a95d1f 34355 * docs/mdate-sh: New file. Copied from gnulib.
34356 * docs/texinfo.tex: Likewise.
34357
34358 * config.guess: Updated from gnulib.
34359 * install-sh: Likewise.
34360
7dc15d8e 343612008-02-28 Robert Millan <rmh@aybabtu.com>
34362
34363 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
34364 (aout_mod_SOURCES): New variable.
34365 (aout_mod_CFLAGS): Likewise.
34366 (aout_mod_LDFLAGS): Likewise.
34367
34368 * conf/i386-ieee1275.rmk: Likewise.
34369
b00ab696 343702008-02-28 Robert Millan <rmh@aybabtu.com>
34371
34372 * util/update-grub.in: Reorganise terminal validity check. Accept
34373 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
34374 Based on suggestion by Franklin PIAT.
34375
79ca2d78 343762008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
34377
34378 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
34379 function.
34380 * util/getroot.c (grub_util_check_block_device): New function that
34381 returns the given argument if it is a block device and returns NULL else.
34382 * util/grub-probe.c (argument_is_device): New variable.
34383 (probe): Promote device_name from a variable to an argument. Receive
34384 device_name from grub_util_check_block_device() if path is NULL and from
34385 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 34386 (options): Introduce new parameter '-d, --device'.
79ca2d78 34387 (main): Add description of the new parameter to the help screen.
34388 Rename path variable to argument. Set argument_is_device if the '-d'
34389 option is given. Pass argument to probe() depending on
34390 argument_is_device.
34391
0d16e571 343922008-02-24 Bean <bean123ch@gmail.com>
34393
34394 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
34395 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
34396 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
34397 (GRUB_ISO9660_VOLDESC_PART): Likewise.
34398 (GRUB_ISO9660_VOLDESC_END): Likewise.
34399 (grub_iso9660_primary_voldesc): New member escape.
34400 (grub_iso9660_data): New member joliet.
34401 (grub_iso9660_convert_string): New function.
34402 (grub_iso9660_mount): Detect joliet extension.
34403 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
34404 (grub_iso9660_iso9660_label): Likewise.
34405
34406 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
34407 (grub_setup_SOURCES): Add fs/udf.c.
34408 (grub_fstest_SOURCES): Likewise.
34409 (udf_mod_SOURCES): New variable.
34410 (udf_mod_CFLAGS): Likewise.
34411 (udf_mod_LDFLAGS): Likewise.
34412
34413 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
34414 (grub_emu_SOURCES): Likewise.
34415
34416 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34417
34418 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34419
34420 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34421
34422 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34423
34424 * fs/udf.c: New file.
34425
8a594a17 344262008-02-24 Robert Millan <rmh@aybabtu.com>
34427
34428 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
34429 (normal/lexer.c_DEPENDENCIES): New variables.
34430 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34431 (normal/lexer.c_DEPENDENCIES): Likewise.
34432 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
34433 (normal/lexer.c_DEPENDENCIES): Likewise.
34434 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
34435 (normal/lexer.c_DEPENDENCIES): Likewise.
34436 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34437 (normal/lexer.c_DEPENDENCIES): Likewise.
34438 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34439 (normal/lexer.c_DEPENDENCIES): Likewise.
34440
2dc33c03 344412008-02-23 Robert Millan <rmh@aybabtu.com>
34442
34443 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
34444 since they were intended to be in hex. This didn't break previously
34445 because of a bug in gpt_partition_map_iterate() (see below).
34446
34447 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
34448 when checking the validity of GPT header.
34449 Remove `partno', since it always provides the same information as `i'.
34450
f6f4cfb0 344512008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
34452
34453 * include/grub/efi/time.h: Fix a wrong comment.
34454
79ff665f 344552008-02-19 Pavel Roskin <proski@gnu.org>
34456
34457 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
34458 message.
34459
d38e24c2 344602008-02-19 Bean <bean123ch@gmail.com>
34461
34462 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
34463 (aout_mod_SOURCES): New variable.
34464 (aout_mod_CFLAGS): Likewise.
34465 (aout_mod_LDFLAGS): Likewise.
34466 (_bsd_mod_SOURCES): New variable.
34467 (_bsd_mod_CFLAGS): Likewise.
34468 (_bsd_mod_LDFLAGS): Likewise.
34469 (bsd_mod_SOURCES): New variable.
34470 (bsd_mod_CFLAGS): Likewise.
34471 (bsd_mod_LDFLAGS): Likewise.
34472
34473 * include/grub/aout.h: New file.
34474
34475 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
34476
34477 * include/grub/i386/bsd.h: New file.
34478
34479 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
34480 to make it public.
34481
34482 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
34483 function is called, so that it's possible to change it inside the hook.
34484 (grub_elf64_load): Likewise.
34485 (grub_elf_file): Don't close the file if elf header is not found.
34486 (grub_elf_close): Close the file if grub_elf_file fails (The new
34487 grub_elf_file won't close it).
34488 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
34489 (grub_elf64_size): Likewise.
34490
34491 * kern/i386/loader.S (grub_unix_real_boot): New function.
34492
34493 * loader/aout.c: New file.
34494
34495 * loader/i386/bsd.c: New file.
34496
34497 * loader/i386/bsd_normal.c: New file.
34498
34499 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
34500
34501 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 34502 can test other formats.
d38e24c2 34503
b93bdb0f 345042008-02-19 Robert Millan <rmh@aybabtu.com>
34505
34506 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
34507 (grub_gpt_partition_type_empty): Redefine with macro from
34508 `<grub/gpt_partition.h>'.
34509 (gpt_partition_map_iterate): Adjust partition type comparison.
34510
34511 Export `entry' as partmap-specific `part.data' struct.
34512 (grub_gpt_header, grub_gpt_partentry): Move from here ...
34513
34514 * include/grub/gpt_partition.h (grub_gpt_header)
34515 (grub_gpt_partentry): ... to here (new file).
34516
34517 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
34518
34519 (grub_gpt_partition_type_bios_boot): New const variable, defined
34520 with macro from `<grub/gpt_partition.h>'.
34521
34522 (setup): Replace `first_start' with `embed_region', which keeps
34523 track of the embed region (and is partmap-agnostic).
34524
34525 Replace find_first_partition_start() with find_usable_region(),
34526 which finds a usable region for embedding using partmap-specific
34527 knowledge (supports PC/MSDOS and GPT).
34528
34529 Fix all assumptions that the embed region start at sector 1, using
34530 `embed_region.start' from now on. Similarly, use `embed_region.end'
34531 rather than `first_start' to calculate available size.
34532
34533 In grub_util_info() message, replace "into after the MBR" with an
34534 indication of the specific sector our embed region starts at.
34535
66cb40f6 345362008-02-19 Robert Millan <rmh@aybabtu.com>
34537
34538 * DISTLIST: Replace `commands/ieee1275/halt.c' and
34539 `commands/ieee1275/reboot.c' with `commands/halt.c' and
34540 `commands/reboot.c'.
34541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34542 (halt_mod_SOURCES): Likewise.
34543 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34544 (halt_mod_SOURCES): Likewise.
34545
b7202015 345462008-02-17 Christian Franke <franke@computer.org>
34547
34548 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
34549
32b0fc49 345502008-02-17 Robert Millan <rmh@aybabtu.com>
34551
34552 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34553 set `first_start' to 0 for non-PC/MSDOS partition maps.
34554
aca63502 345552008-02-16 Robert Millan <rmh@aybabtu.com>
34556
34557 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34558 do not assume partition map is PC/MSDOS before performing checks that
34559 are specific to that layout.
34560
0de8be86 345612008-02-13 Robert Millan <rmh@aybabtu.com>
34562
34563 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
34564 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
34565 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
34566
c3db8364 345672008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
34568
34569 * configure.ac: Only a cosmetic change on the handling of
34570 -fno-stack-protector.
34571
f714229e 345722008-02-12 Alexandre Boeglin <alex@boeglin.org>
34573
c3db8364 34574 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
34575 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
34576 reboot.c.
f714229e 34577 (grub_install_SOURCES): Add halt.mod and reboot.mod.
34578 (halt_mod_SOURCES): New variable.
34579 (halt_mod_CFLAGS): Likewise.
34580 (halt_mod_LDFLAGS): Likewise.
34581 (reboot_mod_SOURCES): Likewise.
34582 (reboot_mod_CFLAGS): Likewise.
34583 (reboot_mod_LDFLAGS): Likewise.
34584
c3db8364 34585 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
34586 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
34587 reboot.c.
f714229e 34588 (halt_mod_SOURCES): Likewise.
34589 (reboot_mod_SOURCES): Likewise.
34590
c3db8364 34591 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
34592 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 34593 (reboot_mod_SOURCES): Likewise.
34594
34595 * commands/i386/pc/reboot.c: merge this file ...
34596
34597 * commands/ieee1275/reboot.c: ... and this file ...
34598
34599 * commands/reboot.c: ... to this file.
c3db8364 34600 Add some precompiler directive to include the correct header for
34601 each machine.
f714229e 34602
34603 * commands/ieee1275/halt.c: move this file ...
34604
34605 * commands/halt.c: ... to here.
c3db8364 34606 Add some precompiler directive to include the correct header for
34607 each machine.
f714229e 34608
34609 * include/grub/efi/efi.h (grub_reboot): New function declaration.
34610 (grub_halt): Likewise.
34611
34612 * kern/efi/efi.c (grub_reboot): New function.
34613 (grub_halt): Likewise.
34614
c74493e0 346152008-02-12 Robert Millan <rmh@aybabtu.com>
34616
34617 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
34618 /dev (like it is done for /dev/mapper). This doesn't provide support
34619 for EVMS, but at least it is now easy to identify the problem when it
34620 arises.
34621
d0db4b04 346222008-02-11 Robert Millan <rmh@aybabtu.com>
34623
34624 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
34625 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
34626 comparing it with -1, not 0.
34627
bf748642 346282008-02-10 Robert Millan <rmh@aybabtu.com>
34629
34630 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
34631 `disk/lvm.c'.
34632 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34633 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34634
34635 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
34636 `disk/lvm.c' to the end of the list.
34637 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34638 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34639
b5db202a 346402008-02-10 Robert Millan <rmh@aybabtu.com>
34641
34642 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
34643 grub_print_error() instead. This will let user know why we're entering
34644 rescue mode.
34645 Based on suggestions from Sam Morris.
34646
83abee31 346472008-02-10 Alexandre Boeglin <alex@boeglin.org>
34648
34649 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
34650 on remaining N args, instead of "--" arg N times.
34651
78d5a08b 346522008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
34653
34654 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
34655 (fill_with_default_glyph): Changed to use unknown_glyph for fill
34656 pattern for unknown glyphs.
34657
68807e5f 346582008-02-09 Robert Millan <rmh@aybabtu.com>
34659
34660 * configure.ac: Probe for `help2man'.
34661 * Makefile.in (builddir): New variable.
34662 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
34663 or otherwise add a few flags/options to it.
34664 (install-local): For every executable utility or script that is
34665 installed, invoke $(HELP2MAN) to install a manpage based on --help
34666 output.
34667
34668 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
34669 that it doesn't prevent --help from working in build tree.
34670
34671 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
34672 with `bug-grub@gnu.org'.
34673 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
34674 * util/update-grub.in (usage): New function.
34675 Implement proper argument check, with support for --help and --version
34676 (as well as existing -y).
34677
346782008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 34679
34680 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
34681 avoid overwriting previous output.
34682 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
34683
c1962162 346842008-02-09 Robert Millan <rmh@aybabtu.com>
34685
34686 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
34687 drawing the menu.
34688
3dac2e3f 346892008-02-09 Robert Millan <rmh@aybabtu.com>
34690
34691 * commands/sleep.c: New file.
34692 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
34693 (sleep_mod_SOURCES): New variable.
34694 (sleep_mod_CFLAGS): Likewise.
34695 (sleep_mod_LDFLAGS): Likewise.
34696
7a634e08 346972008-02-09 Robert Millan <rmh@aybabtu.com>
34698
34699 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
34700 situations in which we can deduce the RAID size and the superblock
34701 doesn't match it.
34702
b92f0c18 347032008-02-09 Robert Millan <rmh@aybabtu.com>
34704
34705 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
34706 and return a grub_diskmemberlist_t composed of LVM physical volumes.
34707 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
34708
34709 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
34710 and return a grub_diskmemberlist_t composed of physical array members.
34711 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
34712
34713 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
34714 prototype.
34715 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
34716 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
34717 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
34718
34719 * util/grub-probe.c (probe): Move partmap probing code from here ...
34720 (probe_partmap): ... to here.
34721 (probe): Use probe_partmap() once for the disk we're probing, and
34722 additionally, when such disk contains a memberlist() struct member,
34723 once for each disk that is contained in the structure returned by
34724 memberlist().
34725
91a4bf68 347262008-02-09 Robert Millan <rmh@aybabtu.com>
34727
34728 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
34729 environment variable to 'all' in order to obtain debug output from
34730 non-util/ code.
34731 * util/i386/pc/grub-setup.c (main): Likewise.
34732
a96f9caa 347332008-02-08 Robert Millan <rmh@aybabtu.com>
34734
34735 * disk/raid.c (grub_raid_scan_device): Check for
34736 `array->device[sb.this_disk.number]' rather than for
34737 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 34738 guaranteed to be accessible.
a96f9caa 34739
b37a9222 347402008-02-08 Robert Millan <rmh@aybabtu.com>
34741
34742 * disk/raid.c: Update copyright.
34743 * fs/cpio.c: Likewise.
34744 * include/grub/raid.h: Likewise.
34745 * loader/i386/pc/multiboot.c: Likewise.
34746 * util/hostfs.c: Likewise.
34747
5626aee1 347482008-02-08 Robert Millan <rmh@aybabtu.com>
34749
34750 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
34751 to a grub_disk_t array.
34752 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
34753 `device[x]'.
34754 (grub_raid_scan_device): Replace `device[x].name' accesses with
34755 `device[x]->name'. Simplify initialization of `array->device[x]'.
34756
554f0187 347572008-02-08 Robert Millan <rmh@aybabtu.com>
34758
34759 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
34760 grub_dprintf() calls.
34761 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
34762 error message.
34763
1ec8425d 347642008-02-07 Christian Franke <franke@computer.org>
34765
34766 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
34767 instead of fseek and ftell to support large files.
34768 (grub_hostfs_read): Likewise.
34769
f2156fda 347702008-02-07 Robert Millan <rmh@aybabtu.com>
34771
34772 Patch from Jeroen Dekkers.
34773 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 34774 failure, since successfully reading all array members might not be
f2156fda 34775 required.
34776
9216e0e7 347772008-02-06 Robert Millan <rmh@aybabtu.com>
34778
34779 * util/grub-probe.c (probe): Simplify partmap probing (with the
34780 assumption that the first word up to the underscore equals to
34781 the module name).
34782
b0dfd29a 347832008-02-06 Christian Franke <franke@computer.org>
34784
34785 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
34786 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
34787 last block of a cpio or tar stream.
34788 Check for "TRAILER!!!" instead of any empty data
34789 block to detect last block of a cpio stream.
34790 (grub_cpio_dir): Fix constness of variable np.
34791 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
34792 cpio or tar trailer is detected. This fixes a crash
34793 on open of a non existing file.
34794
c32865bf 347952008-02-05 Bean <bean123ch@gmail.com>
34796
34797 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
34798 address of entry.
34799 (grub_multiboot_load_elf64): Likewise.
34800 (grub_multiboot): Initialize mbi structure.
34801
34802 * util/grub-fstest.c: Don't include unused header file script.h.
34803
fe6b695a 34804 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 34805 of file.
34806 (grub_fstest_SOURCES): Likewise.
34807
409480b7 348082008-02-05 Robert Millan <rmh@aybabtu.com>
34809
34810 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
34811 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
34812 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
34813 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
34814
34815 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
34816 (translation_table): Replace hardcoded values with macros
34817 provided by `<grub/term.h>'.
34818
34819 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
34820 (keyboard_map): Correct/add a few values, with macros provided
34821 by `<grub/term.h>'.
34822 (keyboard_map_shift): Zero values that don't differ from their
34823 `keyboard_map' equivalents.
34824 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
34825 Discard the second scan code that is always sent by Caps lock.
34826 Only use `keyboard_map_shift' when it provides a non-zero value,
34827 otherwise fallback to `keyboard_map'.
34828
99fadbaa 348292008-02-04 Bean <bean123ch@gmail.com>
34830
34831 * Makefile.in (enable_grub_fstest): New variable.
34832
34833 * conf/common.rmk (grub_fstest_init.lst): New rule.
34834 (grub_fstest_init.h): Likewise.
34835 (grub_fstest_init.c): Likewise.
34836 (util/grub-fstest.c_DEPENDENCIES): New variable.
34837 (grub_fstest_SOURCES): Likewise.
34838
34839 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
34840
34841 * util/grub-fstest.c: New file.
34842
bf567c50 348432008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34844
34845 Make grub-setup handle a separate root device.
f19dbdb7 34846
bf567c50 34847 * util/i386/pc/grub-setup.c (setup): Always open the root device,
34848 so that the root device can be compared with the destination
34849 device.
34850 When embedding the core image, if the root and destination devices
34851 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
34852 0xFF.
34853 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 34854
9be6b98b 348552008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34856
34857 Add support for having a grub directory in a different drive. This
34858 is still only the data handling part.
f19dbdb7 34859
9be6b98b 34860 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
34861 (codestart): Save %dh in GRUB_ROOT_DRIVE.
34862 (grub_root_drive): New variable.
34863
34864 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
34865 instead of GRUB_BOOT_DRIVE to construct a device name. Set
34866 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
34867 as it was.
34868
34869 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
34870
34871 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
34872 macro.
34873 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
34874
34875 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
34876 is bogus, because PXE booting does not specify any drive
34877 correctly.
34878
34879 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
34880 am not sure if this is really correct.
34881
34882 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
34883 is always identical to the boot drive when booting from a CD.
34884
34885 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
34886 longer.
34887 (root_drive): New variable.
34888 (real_start): Unconditionally set %dh to ROOT_DRIVE.
34889 (setup_sectors): Push %dx right after popping it, because %dh will
34890 be modified later.
34891 (copy_buffer): Restore %dx.
34892
e0ca0677 348932008-02-03 Robert Millan <rmh@aybabtu.com>
34894
34895 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
34896 use `cdboot.img' for cdrom images.
34897
3b3f6629 348982008-02-03 Robert Millan <rmh@aybabtu.com>
34899
34900 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
34901 only setup gfxterm when `font' command has succeeded.
34902
d42b3672 349032008-02-03 Robert Millan <rmh@aybabtu.com>
34904
34905 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
34906 (grub_rescue_cmd_multiboot_loader)
34907 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
34908
fa370ea6 349092008-02-03 Pavel Roskin <proski@gnu.org>
34910
e0c5dacb 34911 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 34912 %edx and %esi from stack only after grub_gate_a20() is called.
34913 grub_gate_a20() clobbers %edx.
34914
f2a76e1d 349152008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34916
34917 * configure.ac (AC_INIT): Bumped to 1.96.
34918
34919 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
34920 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
34921 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
34922 video/readers/png.c.
34923
90fd32d1 349242008-02-03 Bean <bean123ch@gmail.com>
9be665dd 34925
34926 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
34927 (cdboot_img_SOURCES): New variable.
34928 (cdboot_img_ASFLAGS): New variable.
34929 (cdboot_img_LDFLAGS): New variable.
34930
34931 * boot/i386/pc/cdboot.S: New file.
34932
34933 * disk/i386/pc/biosdisk.c (cd_start): New variable.
34934 (cd_count): Likewise.
34935 (grub_biosdisk_get_drive): Add support for cd device.
34936 (grub_biosdisk_call_hook): Likewise.
34937 (grub_biosdisk_iterate): Likewise.
34938 (grub_biosdisk_open): Likewise.
34939 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
34940 (grub_biosdisk_rw): Support reading from cd device.
34941 (GRUB_MOD_INIT): Iterate cd devices.
34942
34943 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
34944 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
34945 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
34946
34947 * kern/i386/pc/init.c (make_install_device): Check for cd device.
34948
4020aa53 349492008-02-02 Robert Millan <rmh@aybabtu.com>
34950
34951 * commands/read.c: New file.
34952 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
34953 (read_mod_SOURCES): New variable.
34954 (read_mod_CFLAGS): Likewise.
34955 (read_mod_LDFLAGS): Likewise.
34956
e03a1132 349572008-02-02 Robert Millan <rmh@aybabtu.com>
34958
34959 * normal/main.c (grub_normal_execute): Check for `menu->size' when
34960 determining whether menu has to be displayed.
34961
58c69220 349622008-02-02 Marco Gerards <marco@gnu.org>
34963
34964 * bus/pci.c: New file.
34965
34966 * include/grub/pci.h: Likewise.
34967
34968 * include/grub/i386/pc/pci.h: Likewise.
34969
34970 * commands/lspci.c: Likewise.
34971
34972 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
34973 `lspci.mod'.
34974 (pci_mod_SOURCES): New variable.
34975 (pci_mod_CFLAGS): Likewise.
34976 (pci_mod_LDFLAGS): Likewise.
34977 (lspci_mod_SOURCES): Likewise.
34978 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 34979 (lspci_mod_LDFLAGS): Likewise.
58c69220 34980
c004e1b4 349812008-02-02 Bean <bean123ch@gmail.com>
34982
34983 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
34984 (grub_ufs_get_file_block): Fix indirect block calculation problem.
34985
34986 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
34987 (grub_xfs_btree_node): New structure.
34988 (grub_xfs_btree_root): New structure.
34989 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
34990 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
34991 (GRUB_XFS_EXTENT_BLOCK): Likewise.
34992 (GRUB_XFS_EXTENT_SIZE): Likewise.
34993 (grub_xfs_read_block): Support btree format type.
34994 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
34995 Use directory block as basic unit.
34996
34997 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
34998
34999 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
35000 __attribute__ ((__regparm__ (1))).
35001
f95562bf 350022008-02-01 Robert Millan <rmh@aybabtu.com>
35003
35004 Correct a mistake in previous commit.
35005
35006 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
35007 top.
35008 (normal/command.c_DEPENDENCIES): New variable.
35009
7d31f41f 350102008-02-01 Robert Millan <rmh@aybabtu.com>
35011
35012 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
35013 top.
35014 (normal/command.c_DEPENDENCIES): New variable.
35015 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
35016 * conf/i386-ieee1275.rmk: Likewise.
35017 * conf/i386-linuxbios.rmk: Likewise.
35018 * conf/i386-pc.rmk: Likewise.
35019 * conf/sparc64-ieee1275.rmk: Likewise.
35020 * conf/powerpc-ieee1275.rmk: Likewise.
35021 (grub_emu_SOURCES): Add `fs/fshelp.c'.
35022
35023 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
35024
60b6be74 350252008-02-01 Robert Millan <rmh@aybabtu.com>
35026
35027 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
35028 call at beginning of function.
35029
078522ab 350302008-01-31 Pavel Roskin <proski@gnu.org>
35031
35032 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 35033 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
35034 (grub_mkrescue_SOURCES): Likewise.
078522ab 35035 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
35036
ccaa8a5f 350372008-01-30 Robert Millan <rmh@aybabtu.com>
35038
35039 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
35040 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
35041 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
35042 (grub_probe_SOURCES): ... to here.
35043
35044 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
35045 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
35046 * conf/i386-ieee1275.rmk: Likewise.
35047 * conf/i386-linuxbios.rmk: Likewise.
35048 * conf/powerpc-ieee1275.rmk: Likewise.
35049
ae5a9cd7 350502008-01-30 Tristan Gingold <gingold@free.fr>
35051
35052 * kern/rescue.c: Silently accept empty lines.
35053
70bc2ef2 350542008-01-29 Bean <bean123ch@gmail.com>
35055
35056 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
35057 (real_code_2): Code cleanup and change comment style.
35058 (move_memory): Avoid using 32-bit address mode.
35059
6a4d50ea 350602008-01-29 Bean <bean123ch@gmail.com>
35061
35062 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
35063 (png_mod_SOURCES): New variable.
35064 (png_mod_CFLAGS): Likewise.
35065 (png_mod_LDFLAGS): Likewise.
35066
35067 * video/readers/png.c: New file.
35068
11cc30ac 350692008-01-28 Robert Millan <rmh@aybabtu.com>
35070
35071 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
35072 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
35073 `ifndef GRUB_MOD_GAP' hack.
35074 * util/elf/grub-mkimage.c (add_segments): Likewise.
35075
3abc589f 350762008-01-27 Robert Millan <rmh@aybabtu.com>
35077
35078 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
35079 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 35080 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 35081
e1907778 350822008-01-27 Robert Millan <rmh@aybabtu.com>
35083
35084 Get grub-emu to build again (including parallel builds).
35085
35086 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
35087 Split into ...
35088 (util/grub-emu.c_DEPENDENCIES): ... this, ...
35089 (normal/execute.c_DEPENDENCIES): ... this, ...
35090 (grub-emu_DEPENDENCIES): ... and this.
35091
35092 * conf/i386-efi.rmk: Likewise.
35093 * conf/i386-linuxbios.rmk: Likewise.
35094 * conf/i386-ieee1275.rmk: Likewise.
35095 * conf/powerpc-ieee1275.rmk: Likewise.
35096 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
35097
2216b101 350982008-01-27 Robert Millan <rmh@aybabtu.com>
35099
35100 * NEWS: Add a few items.
35101
f75172d9 351022008-01-27 Robert Millan <rmh@aybabtu.com>
35103
35104 Fix parallel builds with grub-emu. Based on earlier commit for
35105 grub-probe and grub-setup.
35106
35107 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35108 (util/grub-emu.c_DEPENDENCIES): ... this.
35109 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35110 (util/grub-emu.c_DEPENDENCIES): ... this.
35111 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35112 (util/grub-emu.c_DEPENDENCIES): ... this.
35113 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35114 (util/grub-emu.c_DEPENDENCIES): ... this.
35115 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35116 (util/grub-emu.c_DEPENDENCIES): ... this.
35117
3f51de77 351182008-01-27 Pavel Roskin <proski@gnu.org>
35119
35120 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
35121 to create a gap between _end and the modules added to the image
35122 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
35123 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
35124 * util/elf/grub-mkimage.c (add_segments): Likewise.
35125
2033f53e 351262008-01-26 Pavel Roskin <proski@gnu.org>
35127
35128 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
35129 just return an error.
35130
22da1f6f 351312008-01-26 Bean <bean123ch@gmail.com>
35132
35133 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
35134 (grub_reiserfs_get_item): Save offset of the next item.
35135 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
35136
2a9525e6 351372008-01-25 Robert Millan <rmh@aybabtu.com>
35138
35139 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
35140 make all filesystem sources appear together (possibly fixing omissions
35141 while at it).
35142 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35143 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35144 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35146
35147 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
35148 add `kern/file.c'.
35149 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
35150 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35151 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
35152 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35153
35154 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
35155 (probe): Add a sanity check to make sure of our ability to read
35156 requested files when probing for filesystem type.
35157
35158 * genmk.rb: Update copyright year (2007).
35159
35160 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
35161 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
35162 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
35163 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
35164 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
35165 : Remove function prototypes.
35166
b95f71b5 351672008-01-25 Robert Millan <rmh@aybabtu.com>
35168
35169 Revert my previous commits (based on wrong assumption of how grub_errno
35170 works).
35171
fe6b695a 35172 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 35173 * kern/file.c (grub_file_open): Likewise.
35174
d08bbb49 351752008-01-24 Pavel Roskin <proski@gnu.org>
35176
35177 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
35178 that hang if GRUB tries to setup colors.
35179 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
35180 colors for firmwares that don't support it.
35181 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
35182 Recognize Open Hack'Ware, set flags to work around its
35183 limitations.
35184
605e36ed 351852008-01-24 Robert Millan <rmh@aybabtu.com>
35186
35187 * kern/file.c (grub_file_open): Do not account previous failures of
35188 unrelated functions when grub_errno is checked for.
35189 Reported by Oleg Strikov.
35190
bac332a1 351912008-01-24 Bean <bean123ch@gmail.com>
35192
35193 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
35194 (grub_ufs_sblock): New member volume name.
35195 (grub_ufs_find_file): Fix string copy bug.
35196 (grub_ufs_label): Implement this function properly.
35197
35198 * fs/hfs.c (grub_hfs_cnid_type): New enum.
35199 (grub_hfs_iterate_records): Use the correct file number for extents
35200 and catalog file. Fix problem in next index calculation.
35201 (grub_hfs_find_node): Replace recursive function call with loop.
35202 (grub_hfs_iterate_dir): Replace recursive function call with loop.
35203
15c80c09 352042008-01-23 Robert Millan <rmh@aybabtu.com>
35205
35206 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
35207 `<grub/symbol.h>' and `<grub/multiboot.h>'.
35208 (grub_multiboot2_real_boot): New function prototype.
35209
35210 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
35211 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
35212
35213 * kern/i386/ieee1275/init.c (grub_os_area_addr)
35214 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
35215
305338fd 352162008-01-23 Robert Millan <rmh@aybabtu.com>
35217
35218 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
35219 #ifdef'ed out grub_printf().
35220
3ea52685 352212008-01-23 Robert Millan <rmh@aybabtu.com>
35222
35223 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
35224 grub_dprintf calls, since they make "debug=all" mode unusable.
35225 (grub_console_checkkey): Likewise.
35226
5882ae4b 352272008-01-23 Robert Millan <rmh@aybabtu.com>
35228
35229 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35230 `term/i386/pc/at_keyboard.c'.
35231 (pkglib_MODULES): Add `serial.mod'.
35232 (serial_mod_SOURCES): New variable.
35233 (serial_mod_CFLAGS): Likewise.
35234 (serial_mod_LDFLAGS): Likewise.
35235
35236 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
35237 `<grub/powerpc/ieee1275/console.h>'.
35238 (grub_keyboard_controller_init): New function prototype.
35239 (grub_console_checkkey): Likewise.
35240 (grub_console_getkey): Likewise.
35241
35242 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
35243 keyboard on i386.
35244
35245 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
35246 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
35247
06ab5303 352482008-01-23 Robert Millan <rmh@aybabtu.com>
35249
35250 * kern/i386/pc/init.c (make_install_device): When memdisk image is
35251 present, "(memdisk)/boot/grub" becomes the default prefix.
35252
35253 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
35254 a memdisk tarball with all the modules. Add --overlay=DIR option that
35255 allows users to overlay additional files into the image.
35256
dbb475a4 352572008-01-23 Robert Millan <rmh@aybabtu.com>
35258
35259 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
35260 and `machine/memory.h'.
35261 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
35262 (_multiboot_mod_SOURCES): New variable.
35263 (_multiboot_mod_CFLAGS): Likewise.
35264 (_multiboot_mod_LDFLAGS): Likewise.
35265 (multiboot_mod_SOURCES): Likewise.
35266 (multiboot_mod_CFLAGS): Likewise.
35267 (multiboot_mod_LDFLAGS): Likewise.
35268
35269 * include/grub/i386/ieee1275/loader.h: New file.
35270
35271 * include/grub/i386/ieee1275/machine.h: Likewise.
35272
35273 * include/grub/i386/ieee1275/memory.h: Likewise.
35274
35275 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35276 variable declaration.
35277 (grub_os_area_size): Likewise.
35278
35279 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35280 (grub_lower_mem, grub_upper_mem): New variables.
35281 (grub_stop_floppy): New function (just to make
35282 grub_multiboot2_real_boot() happy).
35283
35284 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35285 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35286 (grub_stop): New function.
35287 Include `"../realmode.S"' and `"../loader.S"'.
35288
35289 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35290 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35291
35292 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35293 rely on grub_multiboot2_real_boot() for final boot.
35294
25638629 352952008-01-22 Robert Millan <rmh@aybabtu.com>
35296
35297 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35298 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35299 device that doesn't look like an SD card.
35300 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35301 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35302 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35303 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35304 found.
35305
9dad816d 353062008-01-22 Robert Millan <rmh@aybabtu.com>
35307
35308 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35309 avoid claiming over our own code.
35310
34842f2d 353112008-01-22 Bean <bean123ch@gmail.com>
35312
35313 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35314 (jpeg_mod_SOURCES): New variable.
35315 (jpeg_mod_CFLAGS): Likewise.
35316 (jpeg_mod_LDFLAGS): Likewise.
35317
35318 * video/readers/jpeg.c : New file.
35319
44023a28 353202008-01-22 Bean <bean123ch@gmail.com>
35321
35322 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35323 there are no more items.
35324
bc2d8ac6 353252008-01-21 Robert Millan <rmh@aybabtu.com>
35326
35327 * kern/mm.c (grub_mm_init_region): Improve debug message.
35328
261bd4bc 353292008-01-21 Robert Millan <rmh@aybabtu.com>
35330
35331 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35332 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35333 address.
35334 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35335 a C macro.
35336 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35337 Indicates start of upper memory.
35338 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
35339 (generate_image): Abort when image size is big enough to corrupt
35340 upper memory.
35341
35342 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
35343 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
35344 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35345 instead of hardcoding 0xA0000.
35346 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
35347 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35348 instead of hardcoding 0xA0000.
35349
f970b55e 353502008-01-21 Robert Millan <rmh@aybabtu.com>
35351
35352 * disk/memdisk.c (memdisk_size): New variable.
35353 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
35354 `memdisk_size'.
35355 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
35356 image to dynamic memory.
35357 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
35358 `memdisk_size'. Free memdisk block.
35359
1a8b0526 353602008-01-21 Robert Millan <rmh@aybabtu.com>
35361
35362 Fix detection of very small filesystems (like tar).
35363
35364 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
35365 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
35366 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
35367 a problem with this disk).
35368
6e9b4aab 353692008-01-21 Robert Millan <rmh@aybabtu.com>
35370
35371 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
35372 on grub_biosdisk_rw_standard() error.
35373
0d8837b2 353742008-01-21 Robert Millan <rmh@aybabtu.com>
35375
35376 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
35377 recent changes.
35378 * kern/elf.c: Likewise.
35379 * kern/ieee1275/ieee1275.c: Likewise.
35380 * kern/powerpc/ieee1275/openfw.c: Likewise.
35381 * term/ieee1275/ofconsole.c: Likewise.
35382
ffd36e34 353832008-01-21 Robert Millan <rmh@aybabtu.com>
35384
35385 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
35386
3f0093d0 35387 * include/grub/kernel.h (grub_arch_memdisk_addr)
35388 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 35389
3f0093d0 35390 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
35391 (grub_arch_memdisk_size): ... to here.
ffd36e34 35392
6c391b21 353932008-01-21 Robert Millan <rmh@aybabtu.com>
35394
35395 Mostly based on bugfix from Bean.
35396
35397 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
35398 attribute with hook() parameter.
35399 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
35400 declaration.
35401 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
35402 attribute with hook() parameter.
35403 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
35404 declaration.
35405
55a581dc 354062008-01-21 Robert Millan <rmh@aybabtu.com>
35407
35408 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
35409 (pkglib_MODULES): Add `memdisk.mod'.
35410 (memdisk_mod_SOURCES): New variable.
35411 (memdisk_mod_CFLAGS): Likewise.
35412 (memdisk_mod_LDFLAGS): Likewise.
35413
35414 * disk/memdisk.c: New file.
35415
35416 * include/grub/disk.h (grub_disk_dev_id): Add
35417 `GRUB_DISK_DEVICE_MEMDISK_ID'.
35418
35419 * include/grub/i386/pc/kernel.h
35420 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
35421 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
35422 (grub_kernel_image_size): New variable declaration.
35423 (grub_total_module_size): Likewise.
35424 (grub_memdisk_image_size): Likewise.
35425
35426 * include/grub/i386/pc/memory.h
35427 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
35428
35429 * include/grub/kernel.h: Include `<grub/symbol.h>'.
35430 (grub_arch_memdisk_addr): New variable declaration.
35431 (grub_arch_memdisk_size): Likewise.
35432
35433 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
35434 (grub_arch_memdisk_size): Likewise.
35435
35436 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
35437 (codestart): Replace hardcoded `0x100000' with
35438 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
35439
35440 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
35441 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
35442 not NULL, append the contents of the file it refers to, at the end of
35443 the compressed kernel image. Initialize `grub_memdisk_image_size'
35444 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
35445 (options): Add "memdisk"|'m' option.
35446 (main): Parse --memdisk|-m option, and pass user-provided path as
35447 parameter to generate_image().
35448
3d7f54c9 354492008-01-20 Robert Millan <rmh@aybabtu.com>
35450
35451 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
35452 grub_dprintf() calls from here ...
35453 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
35454
0bf74728 354552008-01-20 Robert Millan <rmh@aybabtu.com>
35456
35457 Fix detection of "real mode" when /options/real-mode? doesn't exist.
35458
35459 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
35460 declaration.
35461 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
35462 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
35463 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 35464 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 35465 property).
35466 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
35467 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
35468
33bf70a7 354692008-01-19 Robert Millan <rmh@aybabtu.com>
35470
fe6b695a 35471 Get rid of confusing function (superseded by
33bf70a7 35472 `grub_ieee1275_get_integer_property')
35473 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
35474 prototype.
35475 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
35476 function.
35477 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
35478 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 35479 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 35480
e2da7d26 354812008-01-19 Robert Millan <rmh@aybabtu.com>
35482
35483 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
35484 command after "shut-down", since implementations differ on which
35485 the command for halt is.
35486
59f1fd8d 354872008-01-19 Robert Millan <rmh@aybabtu.com>
35488
35489 * include/grub/i386/linuxbios/console.h: Add header protection.
35490 (grub_keyboard_controller_init): New function prototype.
35491 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
35492 (KEYBOARD_COMMAND_READ): Likewise.
35493 (KEYBOARD_COMMAND_WRITE): Likewise.
35494 (KEYBOARD_SCANCODE_SET1): Likewise.
35495 (grub_keyboard_controller_write): New function.
35496 (grub_keyboard_controller_read): Likewise.
35497 (grub_keyboard_controller_init): Likewise.
35498
35499 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
35500 (grub_console_init): On coreboot/LinuxBIOS, call
35501 grub_keyboard_controller_init().
35502
5f5a7c15 355032008-01-19 Robert Millan <rmh@aybabtu.com>
35504
35505 PowerPC changes provided by Pavel Roskin.
35506
35507 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
35508 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
35509 don't rely on cmain() doing it.
35510 * kern/i386/ieee1275/startup.S (_start): Store %eax in
35511 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
35512
1210e168 355132008-01-16 Robert Millan <rmh@aybabtu.com>
35514
35515 * include/grub/i386/linuxbios/memory.h
35516 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
35517 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
35518 receive `table_header' as argument. Instead, probe for it in the
35519 known memory ranges where it can be present.
35520 (grub_available_iterate): Do not pass a fixed `table_header' address
35521 to grub_linuxbios_table_iterate().
35522
3d04eab8 355232008-01-15 Robert Millan <rmh@aybabtu.com>
35524
35525 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
35526 * conf/i386-ieee1275.rmk: New file.
35527 * include/grub/i386/ieee1275/console.h: Likewise.
35528 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
35529 * include/grub/i386/ieee1275/kernel.h: Likewise.
35530 * include/grub/i386/ieee1275/time.h: Likewise.
35531 * kern/i386/ieee1275/init.c: Likewise.
35532 * kern/i386/ieee1275/startup.S: Likewise.
35533
d1bc1b73 355342008-01-15 Robert Millan <rmh@aybabtu.com>
35535
35536 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
35537 when pointers are 32-bit (but still do set it to one when they are
35538 64-bit).
35539
66a65807 355402008-01-15 Robert Millan <rmh@aybabtu.com>
35541
35542 * include/grub/ieee1275/ieee1275.h
35543 (grub_ieee1275_get_integer_property): New function prototype.
35544
35545 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
35546 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 35547 grub_ieee1275_get_property() to handle endianness.
66a65807 35548
35549 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
35550 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 35551 where appropriate.
66a65807 35552 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
35553 (grub_map): Likewise.
35554 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
35555
a83ccafd 355562008-01-15 Bean <bean123ch@gmail.com>
35557
35558 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
35559 (grub_script_execute_cmdline): Reset grub_errno.
35560
35561 * normal/main.c (read_config_file): Reset grub_errno.
35562
35563 * normal/parse.y (script_init): New.
35564 (script): Move function and menuentry here.
35565 (delimiter): New.
35566 (command): Add delimiter at the end of command.
35567 (commands): Adjust to match the new command.
35568 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 35569 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 35570 (if): Use the new commands.
35571
35572 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
35573
df6ecfc6 355742008-01-15 Robert Millan <rmh@aybabtu.com>
35575
35576 * normal/menu.c (run_menu): Move timeout message from here ...
35577 (print_timeout): ... to here.
35578 (run_menu): Use print_timeout() once during initial draw to print
35579 the whole message, and again in every clock tick to update only
35580 the number of seconds.
35581
87ae25eb 355822008-01-15 Robert Millan <rmh@aybabtu.com>
35583
35584 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
35585 actual size of `available' from grub_ieee1275_get_property(), and
35586 restrict parsing to that bound.
35587
47bf09a4 355882008-01-15 Christian Franke <franke@computer.org>
35589
35590 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
35591 (argp_program_version): Remove variable.
35592 (argp_program_bug_address): Likewise.
35593 (options): Convert from struct argp_option to struct option.
35594 (struct arguments): Remove.
35595 (parse_opt): Remove.
35596 (usage): New function.
35597 (main): Replace struct args members by simple variables.
35598 Replace argp_parse() by getopt_long().
35599 Add switch to evaluate options.
35600 Add missing "(...)" around root_dev in prefix string.
35601
c86f1469 356022008-01-14 Robert Millan <rmh@aybabtu.com>
35603
35604 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
35605 for grub_ieee1275_exit(), in order to improve portability.
35606
e622c559 356072008-01-14 Robert Millan <rmh@aybabtu.com>
35608
35609 * util/grub.d/10_linux.in (prefix): Define.
35610 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
35611
44cb1ec8 356122008-01-13 Pavel Roskin <proski@gnu.org>
35613
35614 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
35615 grub_errno if no errors have been detected.
35616
1eb8c802 356172008-01-12 Robert Millan <rmh@aybabtu.com>
35618
35619 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
35620 (grub_util_get_dev_abstraction): New function prototype.
35621
35622 * util/getroot.c: Include `<grub/util/getroot.h>'
35623 (grub_util_get_grub_dev): Move detection of abstraction type to ...
35624 (grub_util_get_dev_abstraction): ... here (new function).
35625
35626 * util/grub-probe.c: Convert PRINT_* to an enum. Add
35627 `PRINT_ABSTRACTION'.
35628 (probe): Probe for abstraction type when requested.
35629 (main): Understand `--target=abstraction'.
35630
35631 * util/i386/efi/grub-install.in: Add abstraction module to core
35632 image when it is found to be necessary.
35633 * util/i386/pc/grub-install.in: Likewise.
35634 * util/powerpc/ieee1275/grub-install.in: Likewise.
35635
35636 * util/update-grub_lib.in (font_path): Return system path without
35637 converting to GRUB path.
35638 * util/update-grub.in: Convert system path returned by font_path()
35639 to a GRUB path. Use `grub-probe -t abstraction' to determine what
35640 abstraction module is needed for loading fonts (if any). Export
35641 that as `GRUB_PRELOAD_MODULES'.
35642 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
35643 insmod commands).
35644
52bd3de9 356452008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
35646
35647 Remove some unused code from reiserfs.
f19dbdb7 35648
52bd3de9 35649 * fs/reiserfs.c (struct grub_reiserfs_key)
35650 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
35651 (struct grub_reiserfs_node_body): Removed.
35652 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35653 Likewise.
35654 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35655 Likewise.
35656 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35657 Likewise.
35658 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35659 Likewise.
35660 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35661 Likewise.
35662 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
35663 Likewise.
35664 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35665 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35666 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35667
2f80039d 356682008-01-10 Robert Millan <rmh@aybabtu.com>
35669
35670 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
35671 Determines if a file is garbage left by packaging systems, etc.
35672 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
35673 for processing /etc/grub.d scripts.
35674 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
35675 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
35676 as a condition for processing Linux images.
35677
87888032 356782008-01-10 Pavel Roskin <proski@gnu.org>
35679
35680 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
35681 to compile reiserfs.c on PowerPC.
35682
7e54fced 356832008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 35684
35685 * kern/device.c (grub_device_iterate): Do not abort device iteration
35686 when one of the devices cannot be opened.
35687 * kern/disk.c (grub_disk_open): Do not account previous failures of
35688 unrelated functions when grub_errno is checked for.
35689
5aa541e6 356902008-01-08 Robert Millan <rmh@aybabtu.com>
35691
35692 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
35693 `! grub_linux_is_bzimage', change order of address comparison to make
35694 it more intuitive, and improve "too big zImage" error message.
35695
7076340d 356962008-01-08 Robert Millan <rmh@aybabtu.com>
35697
35698 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
35699 `$(update-grub_DATA)'.
35700 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
35701 targets.
35702
9ca70333 357032008-01-07 Robert Millan <rmh@aybabtu.com>
35704
35705 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
35706 which instruction is modified by grub-setup during installation
35707 (since it wasn't obvious by only looking at this file).
35708
38ccf575 357092008-01-07 Robert Millan <rmh@aybabtu.com>
35710
35711 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
35712 listing actual TODO items.
35713
f5db4291 357142008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35715
868967cf 35716 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
35717 correctly.
35718 (grub_reiserfs_get_key_offset): Likewise.
35719 (grub_reiserfs_set_key_offset): Likewise.
35720 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 35721 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 35722
35723 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
35724 better to remove the bitfield version completely.
f19dbdb7 35725
868967cf 357262008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35727
f5db4291 35728 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
35729 allocated from the heap, due to the fshelp implementation.
35730 (grub_reiserfs_dir): Free NODE, due to the same reason.
35731
492e6d9d 357322008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35733
35734 Mostly from Vincent Pelletier:
f19dbdb7 35735
492e6d9d 35736 * fs/reiserfs.c: New file.
f19dbdb7 35737
492e6d9d 35738 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
35739 (reiserfs_mod_SOURCES): New variable.
35740 (reiserfs_mod_CFLAGS): Likewise.
35741 (reiserfs_mod_LDFLAGS): Likewise.
35742
35743 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
35744 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
35745 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
35746 normal/color.c.
35747
9ce3e7c1 357482008-01-06 Robert Millan <rmh@aybabtu.com>
35749
35750 * normal/color.c: Remove `<grub/env.h>'.
35751
f3b58148 357522008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
35753
35754 * include/grub/normal.h: Include <grub/env.h>.
35755
7ac3bcfa 357562008-01-05 Robert Millan <rmh@aybabtu.com>
35757
35758 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
35759 usage example with `(hd0,1)'.
fb358190 35760 Reported by Samuel Thibault.
7ac3bcfa 35761
c8ee99d7 357622008-01-05 Robert Millan <rmh@aybabtu.com>
35763
35764 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
35765 (grub_linux_boot_zimage): Rename to ...
35766 (grub_linux_boot): ... this.
35767 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
35768 (grub_linux_boot_zimage): Conditionalize zImage copy.
35769
35770 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
35771 (grub_linux_boot_bzimage): Remove prototype.
35772 (grub_linux_boot_zimage): Rename to ...
35773 (grub_linux_boot): ... this.
35774
35775 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
35776 (grub_linux_boot): Remove function.
35777
0ece25b1 357782008-01-05 Robert Millan <rmh@aybabtu.com>
35779
35780 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
35781 (grub_env_write_color_highlight): Likewise.
35782 (grub_wait_after_message): Likewise.
35783
35784 * normal/color.c: New file.
35785
35786 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35787 (normal_mod_DEPENDENCIES): Likewise.
35788
35789 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35790 (normal_mod_DEPENDENCIES): Likewise.
35791
35792 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35793 (normal_mod_DEPENDENCIES): Likewise.
35794
35795 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35796 (normal_mod_DEPENDENCIES): Likewise.
35797
35798 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
35799 for waiting after a message is printed.
35800 * normal/main.c (read_config_file): Likewise.
35801 (grub_normal_init): Register grub_env_write_color_normal() and
35802 grub_env_write_color_highlight() hooks. Mark `color_normal' and
35803 `color_highlight' variables as global.
35804
35805 * normal/menu.c (grub_wait_after_message): New function.
35806 (grub_color_menu_normal): New variable. Replaces ...
35807 (GRUB_COLOR_MENU_NORMAL): ... this macro.
35808 (grub_color_menu_highlight): New variable. Replaces ...
35809 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
35810 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
35811 `GRUB_TERM_COLOR_STANDARD'.
35812 (print_message): Use `grub_setcolorstate' to reload colors. Rename
35813 `normal_code' and `highlight_code' to `old_color_normal' and
35814 `old_color_highlight', respectively.
35815 (grub_menu_init_page): Update colors when drawing the menu, based on
35816 `menu_color_normal' and `menu_color_highlight' variables.
35817 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
35818 a message is printed.
35819
182dd4e5 358202008-01-05 Robert Millan <rmh@aybabtu.com>
35821
35822 * kern/env.c (grub_env_context_open): Propagate hooks for global
35823 variables to new context.
35824
35825 * kern/main.c (grub_set_root_dev): Export `root' variable.
35826
ddf8f6ad 358272008-01-05 Robert Millan <rmh@aybabtu.com>
35828
35829 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 35830 discs unconditionally, since udev and others have options to provide
ddf8f6ad 35831 them.
35832
d8b43d9b 358332008-01-05 Robert Millan <rmh@aybabtu.com>
35834
35835 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
35836
2bff2de3 358372008-01-04 Christian Franke <franke@computer.org>
35838
35839 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
35840 of eisa_mmap.
35841
97eab917 358422008-01-03 Pavel Roskin <proski@gnu.org>
35843
35844 * kern/i386/linuxbios/init.c: Put "void" to all function
35845 declarations with no arguments.
35846 * kern/powerpc/ieee1275/init.c: Likewise.
35847 * term/i386/pc/at_keyboard.c: Likewise.
35848 * term/i386/pc/vga_text.c: Likewise.
35849 * util/grub-mkdevicemap.c: Likewise.
35850
b9416d00 358512008-01-02 Robert Millan <rmh@aybabtu.com>
35852
35853 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
35854 message when loaded image is out of bounds.
35855 (grub_multiboot_load_elf64): Likewise.
35856
92695df9 358572008-01-02 Pavel Roskin <proski@gnu.org>
35858
35859 * util/grub.d/10_linux.in: Try version without ".old" when
35860 looking for initrd. It's better to use initrd from the newer
35861 kernel of the same version than no initrd at all.
35862
d98d9cad 358632008-01-01 Robert Millan <rmh@aybabtu.com>
35864
35865 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
35866
dbfdce36 358672008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
35868
f19dbdb7 35869 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 35870 grub_video_get_active_render_target.
35871 (grub_video_adapter): Added unmap_color and get_active_render_target.
35872
f19dbdb7 35873 * video/video.c: Added grub_video_unmap_color and
dbfdce36 35874 grub_video_get_active_render_target.
35875 (grub_video_get_info): Changed method to accept NULL pointer as an
35876 argument to allow detection of active video adapter.
35877
35878 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
35879 grub_video_vbe_unmap_color_int.
35880 Added grub_video_vbe_unmap_color and
35881 grub_video_vbe_get_active_render_target.
35882 (grub_video_vbe_adapter): Added unmap_color and
35883 get_active_render_target.
35884
f19dbdb7 35885 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 35886 with grub_video_vbe_unmap_color_int.
35887
35888 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
35889 (DEFAULT_NORMAL_COLOR): Likewise.
35890 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
35891 (DEFAULT_FG_COLOR): Removed.
35892 (DEFAULT_BG_COLOR): Likewise.
35893 (DEFAULT_CURSOR_COLOR): Changed value.
35894 (grub_virtual_screen): Added standard_color_setting,
35895 normal_color_setting, highlight_color_setting and term_color.
35896 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
35897 (bitmap_width): Added.
35898 (bitmap_height): Likewise.
35899 (bitmap): Likewise.
35900 (set_term_color): Likewise.
35901 (grub_virtual_screen_setup): Changed to use new terminal coloring
35902 settings.
35903 (grub_gfxterm_init): Added init for bitmap.
35904 (grub_gfxterm_fini): Added destroy for bitmap.
35905 (redraw_screen_rect): Updated to use background bitmap and new
35906 terminal coloring.
35907 (scroll_up): Added optimization for case when there is no bitmap.
35908 (grub_gfxterm_cls): Fixed to use correct background color.
35909 (grub_virtual_screen_setcolorstate): Changed to use new terminal
35910 coloring.
35911 (grub_virtual_screen_setcolor): Likewise.
35912 (grub_virtual_screen_getcolor): Added.
35913 (grub_gfxterm_background_image_cmd): Likewise.
35914 (grub_video_term): Added setcolor and getcolor.
35915 (MOD_INIT): Added registration of background_image command.
35916 (MOD_TERM): Added unregistration for background_image command.
35917
c3c20931 359182007-12-30 Pavel Roskin <proski@gnu.org>
35919
35920 * loader/multiboot_loader.c: Fix multiboot command
35921 unregistration. Fix all typos in the word "multiboot".
35922
df266716 359232007-12-29 Pavel Roskin <proski@gnu.org>
94239199 35924
35925 * util/grub.d/10_linux.in: Refactor search for initrd. Add
35926 support for initrd names used in Fedora.
35927
fc6e896c 359282007-12-26 Bean <bean123ch@gmail.com>
35929
35930 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
35931 (cpio_mod_SOURCES): New variable.
35932 (cpio_mod_CFLAGS): Likewise.
35933 (cpio_mod_LDFLAGS): Likewise.
35934
35935 * fs/cpio.c: New file.
35936
35937 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
35938
35939 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35940
35941 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35942
35943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35944
533110ad 359452007-12-25 Robert Millan <rmh@aybabtu.com>
35946
35947 * include/grub/term.h (struct grub_term): Add `getcolor' function.
35948 (grub_getcolor): New function.
35949
35950 * kern/term.c (grub_getcolor): New function.
35951 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
35952 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
35953 (print_entry): Set normal and highlight colors to
35954 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
35955 respectively, before printing and restore them to old
35956 values afterwards.
35957 (grub_menu_init_page): Likewise. Fill an additional colored space
35958 that would otherwise be left blank.
35959
35960 * term/efi/console.c (grub_console_getcolor): New function.
35961 (struct grub_console_term.getcolor): New variable.
35962 * term/i386/pc/console.c (grub_console_getcolor): New function.
35963 (struct grub_console_term.getcolor): New variable.
35964 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
35965 (struct grub_console_term.getcolor): New variable.
35966
35967 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
35968 (struct grub_console_term.setcolor): Remove variable.
35969 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
35970 (struct grub_console_term.setcolor): Remove variable.
35971 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
35972 (struct grub_console_term.setcolor): Remove variable.
35973 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
35974 (struct grub_console_term.setcolor): Remove variable.
35975
4931827f 359762007-12-25 Robert Millan <rmh@aybabtu.com>
35977
35978 * configure.ac: Search for possible unifont.hex locations, and
35979 define UNIFONT_HEX if found.
35980
35981 * Makefile.in (UNIFONT_HEX): Define variable.
35982 (DATA): Rename to ...
35983 (PKGLIB): ... this. Update all users.
35984 (PKGDATA): New variable.
35985 (pkgdata_IMAGES): Rename to ...
35986 (pkglib_IMAGES): ... this. Update all users.
35987 (pkgdata_MODULES): Rename to ...
35988 (pkglib_MODULES): ... this. Update all users.
35989 (pkgdata_PROGRAMS): Rename to ...
35990 (pkglib_PROGRAMS): ... this. Update all users.
35991 (pkgdata_DATA): Rename to ...
35992 (pkglib_DATA): ... this. Update all users.
35993 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
35994 (unicode.pff, ascii.pff): New rules.
35995 (all-local): Add `$(PKGDATA)' dependency.
35996 (install-local): Process `$(PKGDATA)'.
35997
35998 * util/update-grub_lib.in (font_path): Search for *.pff files in
35999 a few more locations, including `${pkgdata}'.
36000
57e57e31 360012007-12-23 Robert Millan <rmh@aybabtu.com>
36002
36003 Patch from Bean <bean123ch@gmail.com>:
36004 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
36005 `size'.
36006
4bc72aa9 360072007-12-21 Bean <bean123ch@gmail.com>
36008
36009 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
36010 (ntfscomp_mod_SOURCES): New variable.
36011 (ntfscomp_mod_CFLAGS): Likewise.
36012 (ntfscomp_mod_LDFLAGS): Likewise.
36013
36014 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
36015 (grub_probe_SOURCES): Likewise.
36016 (grub_emu_SOURCES): Likewise.
36017
36018 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36019 (grub_emu_SOURCES): Likewise.
36020
36021 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36022 (grub_emu_SOURCES): Likewise.
36023
36024 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36025 (grub_emu_SOURCES): Likewise.
36026
36027 * fs/ntfs.c (grub_ntfscomp_func): New variable.
36028 (read_run_list): Renamed to grub_ntfs_read_run_list.
36029 (decomp_nextvcn): Moved to ntfscomp.c.
36030 (decomp_getch): Likewise.
36031 (decomp_get16): Likewise.
36032 (decomp_block): Likewise.
36033 (read_block): Likewise.
36034 (read_data): Partially moved to ntfscomp.c.
36035 (fixup): Change unsigned to grub_uint16_t.
36036 (read_mft): Change unsigned long to grub_uint32_t.
36037 (read_attr): Likewise.
36038 (read_data): Likewise.
36039 (read_run_data): Likewise.
36040 (read_run_list): Likewise.
36041 (read_mft): Likewise.
36042
36043 * fs/ntfscomp.c: New file.
36044
36045 * include/grub/ntfs.h: New file.
36046
af680a87 360472007-12-16 Robert Millan <rmh@aybabtu.com>
36048
36049 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
36050 IDE disk check, since Linux is known to support 20 IDE disks.
36051 Reported by Colin Watson.
36052
84be7599 360532007-12-15 Bean <bean123ch@gmail.com>
36054
36055 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
36056 (lnxboot_img_SOURCES): New variable.
36057 (lnxboot_img_ASFLAGS): Likewise.
36058 (lnxboot_img_LDFLAGS): Likewise.
36059
36060 * boot/i386/pc/lnxboot.S: New file.
36061
6af9db01 360622007-11-24 Pavel Roskin <proski@gnu.org>
36063
36064 * configure.ac: Test if '--build-id=none' is supported by the
36065 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
36066 objcopy to generate incorrect binary files (binutils
36067 2.17.50.0.18-1 as shipped by Fedora 8).
36068 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
36069 linking, so that build ID doesn't break the test.
36070
7361cfe6 360712007-11-24 Pavel Roskin <proski@gnu.org>
36072
36073 * include/grub/i386/time.h: use "void" in the argument list
36074 of grub_cpu_idle().
36075 * include/grub/powerpc/time.h: Likewise.
36076 * include/grub/sparc64/time.h: Likewise.
36077
1593e10c 360782007-11-18 Christian Franke <franke@computer.org>
36079
36080 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
36081 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
36082 This fixes the problem that function keys did not work in grub-emu.
36083
3b8db1a8 360842007-11-18 Christian Franke <franke@computer.org>
36085
36086 * disk/host.c (grub_host_open): Remove attribute unused from
36087 name parameter. Add check for "host". This fixes the problem
36088 that grub-emu does not find partitions.
36089
2e29408d 360902007-11-18 Christian Franke <franke@computer.org>
36091
36092 * util/hostfs.c (is_dir): New function.
36093 (grub_hostfs_dir): Handle missing dirent.d_type case.
36094 (grub_hostfs_read): Add missing fseek().
36095 (grub_hostfs_label): Clear label pointer. This fixes a crash
36096 of grub-emu on "ls (host)".
36097
398cd047 360982007-11-18 Christian Franke <franke@computer.org>
36099
36100 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
36101 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
36102 to 64 bit boundary by default.
36103
c405c391 361042007-11-18 Bean <bean123ch@gmail.com>
36105
36106 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
36107 (hexdump_mod_SOURCES): New variable.
36108 (hexdump_mod_CFLAGS): Likewise.
36109 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 36110
c405c391 36111 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36112
36113 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36114
36115 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36116
36117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36118
36119 * include/grub/hexdump.h: New file.
36120
36121 * commands/hexdump.c: New file.
36122
5cced7fd 361232007-11-10 Robert Millan <rmh@aybabtu.com>
36124
36125 * commands/i386/pc/play.c (beep_off): Switch order of arguments
36126 in grub_outb() calls.
36127 (beep_on): Likewise.
36128
8b714eb0 361292007-11-10 Christian Franke <franke@computer.org>
36130
36131 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
36132 (grub_menu_run): Likewise.
36133
ce0f1839 361342007-11-10 Robert Millan <rmh@aybabtu.com>
36135
36136 * include/grub/i386/efi/machine.h: New file.
36137 * include/grub/i386/linuxbios/machine.h: Likewise.
36138 * include/grub/i386/pc/machine.h: Likewise.
36139 * include/grub/powerpc/ieee1275/machine.h: Likewise.
36140 * include/grub/sparc64/ieee1275/machine.h: Likewise.
36141
36142 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
36143 (serial_hw_io_addr): New variable.
36144 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
36145 instead of `(unsigned short *) 0x400'.
36146
270c237d 361472007-11-10 Bean <bean123ch@gmail.com>
36148
36149 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
36150
a87783bf 361512007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36152
36153 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
36154 (vga_mod_SOURCES): Added.
36155 (vga_mod_CFLAGS): Likewise.
36156 (vga_mod_LDFLAGS): Likewise.
36157
36158 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
36159 grub_outb() calls.
36160 (set_map_mask): Likewise.
36161 (set_read_map): Likewise.
36162 (set_read_address): Likewise.
36163 (vga_font): Removed variable.
36164 (get_vga_glyph): Removed function.
36165 (invalidate_char): Likewise.
36166 (write_char): Changed to use grub_font_get_glyph() for font
36167 information.
36168 (grub_vga_putchar): Likewise.
36169 (grub_vga_getcharwidth): Likewise.
36170
6433b448 361712007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36172
36173 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
36174 flags.
36175 (pxeboot_img_LDFLAGS): Likewise.
36176 (diskboot_img_LDFLAGS): Likewise.
36177 (kernel_img_LDFLAGS): Likewise.
36178
49178511 361792007-11-06 Robert Millan <rmh@aybabtu.com>
36180
36181 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
36182 in grub_outb() calls.
36183 (serial_hw_init): Likewise.
36184
53b052de 361852007-11-05 Robert Millan <rmh@aybabtu.com>
36186
36187 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
36188 spaces. Skip non-regular files.
36189
5ab33bba 361902007-11-05 Robert Millan <rmh@aybabtu.com>
36191
36192 * kern/disk.c (grub_disk_firmware_fini)
36193 (grub_disk_firmware_is_tainted): New variables.
36194
36195 * include/grub/disk.h (grub_disk_firmware_fini)
36196 (grub_disk_firmware_is_tainted): Likewise.
36197
36198 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
36199 (grub_disk_biosdisk_fini): ... to here.
36200 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
36201 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
36202 is set. Register grub_disk_biosdisk_fini() in
36203 `grub_disk_firmware_fini'.
36204
36205 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
36206 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
36207 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
36208 to finish existing firmware disk interface.
36209
36210 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
36211 (ata_mod_SOURCES): New variable.
36212 (ata_mod_CFLAGS): Likewise.
36213 (ata_mod_LDFLAGS): Likewise.
36214
0149ab7c 362152007-11-05 Robert Millan <rmh@aybabtu.com>
36216
36217 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
36218 (grub_ata_wait): Reimplement using grub_millisleep().
36219
36220 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
36221 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
36222
be7ac41e 362232007-11-03 Marco Gerards <marco@gnu.org>
36224
36225 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
36226 (CRTC_ADDR_PORT): New macro.
36227 (CRTC_DATA_PORT): Likewise.
36228 (CRTC_CURSOR): Likewise.
36229 (CRTC_CURSOR_ADDR_HIGH): Likewise.
36230 (CRTC_CURSOR_ADDR_LOW): Likewise.
36231 (update_cursor): New function.
36232 (grub_console_real_putchar): Call `update_cursor'.
36233 (grub_console_gotoxy): Likewise.
36234 (grub_console_cls): Set the default color when clearing the
36235 screen.
36236 (grub_console_setcursor): Implemented.
36237
bb06ab2e 362382007-11-03 Marco Gerards <marco@gnu.org>
36239
36240 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
36241 become activate.
36242 (grub_ata_pio_write): Likewise.
36243
36244 (grub_atapi_identify): Wait after issuing an ATA command.
36245 (grub_atapi_packet): Likewise.
36246 (grub_ata_identify): Likewise.
36247 (grub_ata_readwrite): Likewise.
36248
cf8f780b 362492007-11-03 Marco Gerards <marco@gnu.org>
36250
36251 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
36252 (grub_ata_pio_write): Likewise.
36253 (grub_ata_readwrite): Use `grub_error', instead of
36254 returning `grub_errno'.
36255
ed649e54 362562007-11-03 Marco Gerards <marco@gnu.org>
36257
36258 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
36259 grub_ata_pio_write once for every single sector, instead of for
36260 multiple sectors.
36261
ca25d8f0 362622007-10-31 Robert Millan <rmh@aybabtu.com>
36263
36264 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
36265
36266 * conf/i386-linuxbios.rmk: New file.
36267
36268 * kern/i386/pc/hardware.c: Likewise.
36269 * term/i386/pc/at_keyboard.c: Likewise.
36270 * term/i386/pc/vga_text.c: Likewise.
36271
36272 * include/grub/i386/linuxbios/boot.h: Likewise.
36273 * include/grub/i386/linuxbios/console.h: Likewise.
36274 * include/grub/i386/linuxbios/init.h: Likewise.
36275 * include/grub/i386/linuxbios/kernel.h: Likewise.
36276 * include/grub/i386/linuxbios/loader.h: Likewise.
36277 * include/grub/i386/linuxbios/memory.h: Likewise.
36278 * include/grub/i386/linuxbios/serial.h: Likewise.
36279 * include/grub/i386/linuxbios/time.h: Likewise.
36280
36281 * kern/i386/linuxbios/init.c: Likewise.
36282 * kern/i386/linuxbios/startup.S: Likewise.
36283 * kern/i386/linuxbios/table.c: Likewise.
36284
e911ecc1 362852007-10-31 Marco Gerards <marco@gnu.org>
36286
36287 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36288 (ata_mod_SOURCES): New variable.
36289 (ata_mod_CFLAGS): Likewise.
36290 (ata_mod_LDFLAGS): Likewise.
36291
36292 * disk/ata.c: New file.
36293
36294 * include/grub/disk.h (grub_disk_dev_id): Add
36295 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 36296
7f66d0e0 362972007-10-31 Robert Millan <rmh@aybabtu.com>
36298
36299 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36300 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36301
36302 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36303 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36304
36305 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36306 `<grub/types.h>'.
36307
36308 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36309
5cd7dd46 363102007-10-27 Robert Millan <rmh@aybabtu.com>
36311
3236ca65 36312 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 36313
2ebfc90f 363142007-10-22 Robert Millan <rmh@aybabtu.com>
36315
36316 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36317 `"../realmode.S"'.
36318 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36319
73fcb0f3 363202007-10-22 Robert Millan <rmh@aybabtu.com>
36321
36322 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36323 (pkgdata_MODULES): Add `biosdisk.mod'.
36324 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36325 variables.
36326
36327 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36328 (grub_biosdisk_init): Replace with ...
36329 (GRUB_MOD_INIT(biosdisk)): ... this.
36330 (grub_biosdisk_fini): Replace with ...
36331 (GRUB_MOD_FINI(biosdisk)): ... this.
36332
36333 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36334 (grub_machine_init): Remove call to grub_biosdisk_init().
36335 (grub_machine_fini): Remove call to grub_machine_fini().
36336
36337 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36338
3381d274 363392007-10-22 Robert Millan <rmh@aybabtu.com>
36340
36341 * include/grub/time.h: New file.
36342 * include/grub/i386/time.h: Likewise.
36343 * include/grub/powerpc/time.h: Likewise.
36344 * include/grub/sparc64/time.h: Likewise.
36345
36346 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
36347 instances to ...
36348 (KERNEL_MACHINE_TIME_HEADER): ... this.
36349 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36350 instances to ...
36351 (KERNEL_MACHINE_TIME_HEADER): ... this.
36352 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36353 instances to ...
36354 (KERNEL_MACHINE_TIME_HEADER): ... this.
36355
36356 * kern/i386/efi/init.c: Include `<grub/time.h>'.
36357 (grub_millisleep): New function.
36358 * kern/i386/pc/init.c: Include `<grub/time.h>'.
36359 (grub_millisleep): New function.
36360 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
36361 Remove `grub/machine/time.h' include.
36362 (grub_millisleep): New function.
36363 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
36364 Remove `grub/machine/time.h' include.
36365 (grub_millisleep): New function.
36366
36367 * include/grub/misc.h (grub_div_roundup): New function.
36368
36369 * kern/misc.c: Include `<grub/time.h>'.
36370 (grub_millisleep_generic): New function.
36371
36372 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
36373 Add `time.h'.
36374 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
36375 Add `time.h'.
36376 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
36377 `machine/time.h'. Add `time.h'.
36378 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36379
a39a0312 363802007-10-21 Robert Millan <rmh@aybabtu.com>
36381
36382 * include/grub/misc.h (grub_max): New function.
36383
2aad70e2 363842007-10-21 Robert Millan <rmh@aybabtu.com>
36385
36386 * util/misc.c (grub_util_info): Call fflush() before returning.
36387
54b71c4b 363882007-10-20 Robert Millan <rmh@aybabtu.com>
36389
36390 * genmk.rb (Image): Copy `extra_flags' from here ...
36391 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
36392
36393 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
36394 to `argc' and `args' arguments.
36395
a979f513 363962007-10-17 Robert Millan <rmh@aybabtu.com>
36397
36398 * kern/i386/loader.S: New file.
36399
36400 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
36401 * kern/i386/loader.S (grub_linux_prot_size)... to here.
36402 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
36403 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
36404 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
36405 * kern/i386/loader.S (grub_linux_real_addr)... to here.
36406 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
36407 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
36408 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
36409 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
36410 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
36411 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
36412 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
36413 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
36414
36415 * kern/i386/realmode.S: New file.
36416
36417 * kern/i386/pc/startup.S (protstack): Moved from here ...
36418 * kern/i386/realmode.S (protstack)... to here.
36419 * kern/i386/pc/startup.S (gdt): Moved from here ...
36420 * kern/i386/realmode.S (gdt)... to here.
36421 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
36422 * kern/i386/realmode.S (prot_to_real)... to here.
36423
36424 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
36425 `kern/i386/realmode.S'.
36426
825fc8fd 364272007-10-17 Robert Millan <rmh@aybabtu.com>
36428
36429 * include/grub/i386/loader.h: New file.
36430
36431 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
36432 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36433 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36434 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36435 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
36436 * include/grub/i386/loader.h (grub_linux_prot_size)
36437 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36438 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36439 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36440 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
36441
36442 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
36443
e179b2f4 364442007-10-15 Robert Millan <rmh@aybabtu.com>
36445
36446 * normal/misc.c (grub_normal_print_device_info): Do not probe for
36447 filesystem when dev->disk is unset.
36448 Do probe for filesystem even when dev->disk->has_partitions is set.
36449 In case a filesystem is found, always report it.
36450 In case it isn't, if dev->disk->has_partitions is set, report that
36451 a partition table was found instead of reporting that no filesystem
36452 could be identified.
36453
5db82af6 364542007-10-12 Robert Millan <rmh@aybabtu.com>
36455
36456 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
36457 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
36458
68f6ac74 36459 * include/grub/types.h (grub_host_to_target16): New macro.
36460 (grub_host_to_target32): Likewise.
36461 (grub_host_to_target64): Likewise.
36462 (grub_target_to_host16): Likewise.
36463 (grub_target_to_host32): Likewise.
36464 (grub_target_to_host64): Likewise.
5db82af6 36465
36466 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36467 Renamed from to ...
36468 (GRUB_MOD_ALIGN): ...this. Update all users.
36469
68f6ac74 36470 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
36471 grub_host_to_target32.
36472 Replace grub_be_to_cpu32 with grub_target_to_host32.
36473 (load_modules): Likewise.
36474 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
36475 Replace grub_be_to_cpu32 with grub_target_to_host32.
36476 Replace grub_cpu_to_be16 with grub_host_to_target16.
36477 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 36478
3cf497cc 364792007-10-12 Robert Millan <rmh@aybabtu.com>
36480
36481 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
36482 * util/elf/grub-mkimage.c: ... here.
36483
36484 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
36485 `util/powerpc/ieee1275/grub-mkimage.c'.
36486
c8cc3692 364872007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 36488
c8cc3692 36489 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
36490 and make it easier to figure out.
36491 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
36492 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
36493 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
36494 leave us with less than HEAP_MIN_SIZE total heap.
36495 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 36496
5c58b791 364972007-10-03 Robert Millan <rmh@aybabtu.com>
36498
36499 * include/grub/i386/io.h: New file.
36500 * commands/i386/pc/play.c (inb): Removed.
36501 (outb): Removed.
36502 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36503 with grub_outb().
afcd2ef8 36504 * term/i386/pc/serial.c (inb): Removed.
36505 (outb): Removed.
36506 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36507 with grub_outb().
36508 * term/i386/pc/vga.c (inb): Removed.
36509 (outb): Removed.
36510 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36511 with grub_outb().
5c58b791 36512
1a477ed6 365132007-10-02 Robert Millan <rmh@aybabtu.com>
36514
36515 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
36516 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36517 Reported by Marcin Kurek.
36518
6b5d80fa 365192007-09-07 Robert Millan <rmh@aybabtu.com>
36520
36521 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
36522 SmartFirmware version updates (as released by Sven Luther), and avoid
36523 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
36524 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
36525 known broken.
36526
5618afbf 365272007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36528
36529 From Hitoshi Ozeki:
36530 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
36531 when merging two regions.
36532
6139dcd9 365332007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36534
508e39ee 36535 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
36536 * normal/completion.c (grub_normal_do_completion): Likewise.
36537 Reported by Hitoshi Ozeki.
36538
365392007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36540
6139dcd9 36541 Do not use devices at boot in chainloading.
f19dbdb7 36542
6139dcd9 36543 * loader/i386/pc/chainloader.c (boot_drive): New variable.
36544 (boot_part_addr): Likewise.
36545 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
36546 with BOOT_DRIVE and BOOT_PART_ADDR.
36547 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
36548 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
36549
38da6516 365502007-08-29 Robert Millan <rmh@aybabtu.com>
36551
36552 Patch from Simon Peter <dn.tlp@gmx.net>:
36553 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
36554 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
36555 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
36556 util/i386/pc/grub-setup.c_DEPENDENCIES.
36557 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
36558 util/grub-probe.c_DEPENDENCIES.
36559 * conf/powerpc-ieee1275.rmk: Likewise.
36560
29d0928c 365612007-08-28 Robert Millan <rmh@aybabtu.com>
36562
36563 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
36564 to tell grub-mkdevicemap how to name devices.
36565 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
36566 feature).
36567
36568 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
36569 util/i386/get_disk_name.c.
36570 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
36571 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
36572 util/ieee1275/get_disk_name.c.
36573
36574 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
36575
36576 * DISTLIST: Add util/i386/get_disk_name.c and
36577 util/ieee1275/get_disk_name.c.
36578
36579 * util/grub-mkdevicemap.c: Replace device naming logic with
36580 grub_util_get_disk_name() calls.
36581
5a0d3cca 365822007-08-20 Robert Millan <rmh@aybabtu.com>
36583
36584 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
36585 (so that it works for both plural and singular quantities).
36586
8b72db2f 365872007-08-05 Robert Millan <rmh@aybabtu.com>
36588
36589 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
36590 so that [xz] isn't taken into account when determining order.
36591
352466bf 365922007-08-02 Marco Gerards <marco@gnu.org>
36593
36594 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
36595 `include/multiboot2.h', `include/grub/elfload.h',
36596 `include/multiboot.h', `include/grub/multiboot.h',
36597 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
36598 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
36599 `kern/elf.c', `loader/multiboot_loader.c',
36600 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
36601 `loader/i386/pc/multiboot2.c',
36602 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
36603 `util/i386/pc/grub-mkrescue.in'. Remove
36604 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
36605 `include/grub/i386/pc/util/biosdisk.h' and
36606 `include/grub/powerpc/ieee1275/multiboot.h'.
36607
8f096014 366082007-08-02 Bean <bean123ch@gmail.com>
36609
36610 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
36611 (ntfs_mod_SOURCES): New variable.
36612 (ntfs_mod_CFLAGS): Likewise.
36613 (ntfs_mod_LDFLAGS): Likewise.
36614
36615 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
36616 (grub_probe_SOURCES): Likewise.
36617 (grub_emu_SOURCES): Likewise.
36618
36619 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36620 (grub_emu_SOURCES): Likewise.
36621
36622 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36623 (grub_emu_SOURCES): Likewise.
f19dbdb7 36624
8f096014 36625 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
36626
36627 * fs/ntfs.c: New file.
36628
9959f7db 366292007-08-02 Bean <bean123ch@gmail.com>
36630
36631 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
36632
36633 * file.h (grub_file): Likewise.
36634
36635 * fshelp.h (grub_fshelp_read_file): Likewise.
36636
36637 * util/i386/pc/grub-setup.c (setup): Likewise.
36638 (save_first_sector): Likewise.
36639 (save_blocklists): Likewise.
f19dbdb7 36640
9959f7db 36641 * fs/affs.c (grub_affs_read_file): Likewise.
36642
36643 * fs/ext2.c (grub_ext2_read_file): Likewise.
36644
36645 * fs/fat.c (grub_fat_read_data): Likewise.
36646
36647 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
36648
36649 * fs/hfs.c (grub_hfs_read_file): Likewise.
36650
36651 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36652
36653 * fs/jfs.c (grub_jfs_read_file): Likewise.
36654
36655 * fs/minix.c (grub_minix_read_file): Likewise.
36656
36657 * fs/sfs.c (grub_sfs_read_file): Likewise.
36658
36659 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 36660
9959f7db 36661 * fs/xfs.c (grub_xfs_read_file): Likewise.
36662
36663 * command/blocklist.c (read_blocklist): Likewise.
36664 (print_blocklist): Likewise.
36665
0a203f83 366662007-08-02 Marco Gerards <marco@gnu.org>
36667
36668 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
36669 `util/hostfs.c'.
36670
36671 * disk/host.c: New file.
36672
36673 * util/hostfs.c: Likewise.
36674
36675 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
36676 return `GRUB_ERR_BAD_FS'.
36677 * fs/sfs.c (grub_sfs_mount): Likewise.
36678 * fs/xfs.c (grub_xfs_mount): Likewise.
36679
36680 * include/grub/disk.h (enum grub_disk_dev_id): Add
36681 `GRUB_DISK_DEVICE_HOST_ID'.
36682
36683 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
36684
e5dfe777 366852007-07-24 Jerone Young <jerone@gmail.com>
36686
f19dbdb7 36687 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 36688 modules for compilation.
36689 * conf/powerpc-ieee1275.rmk: Likewise.
36690
36691 * include/multiboot.h: Move multiboot definitions to one file. Rename
36692 many definitions to not get grub specific.
36693 * include/multiboot2.h: Create header with multiboot 2 definitions.
36694 * include/grub/multiboot.h: Header for grub specific function
36695 prototypes and definitions.
36696 * include/grub/multiboot2.h: Likewise.
36697 * include/grub/multiboot_loader.h: Likewise.
36698 * include/grub/i386/pc/multiboot.h: Removed.
36699 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
36700
36701 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
36702 and 2 to allow for one multiboot and module commands.
36703 * loader/multiboot2.c: Add multiboot2 functionality.
36704 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
36705 and definition names.
36706 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
36707 2 functions.
36708 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
36709 ieee1275 specific multiboot2 code.
36710
36711 * kern/i386/pc/startup.S: Change headers and definition names for
36712 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
36713
daf0f0ba 367142007-07-22 Robert Millan <rmh@aybabtu.com>
36715
36716 * geninitheader.sh: Process file specified in first parameter rather
36717 than hardcoding grub_modules_init.lst.
fe6b695a 36718 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 36719 than hardcoding grub_modules_init.h.
36720
36721 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
36722 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
36723 grub_probe_init.[ch] and grub_setup_init.[ch].
36724
36725 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
36726 grub_modules_init.h with grub_emu_init.h.
36727 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
36728 grub_probe_init.[ch] files.
36729 * conf/i386-efi.rmk: Likewise.
36730 * conf/i386-pc.rmk: Likewise.
36731 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
36732 grub_setup_init.[ch] files.
36733
36734 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
36735 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
36736 to initialize modules rather than a list of hardcoded functions.
36737 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
36738 grub_init_all() to initialize modules rather than a list of hardcoded
36739 functions.
36740
54cdc1cc 367412007-07-22 Robert Millan <rmh@aybabtu.com>
36742
36743 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
36744 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
36745
ad0686cc 367462007-07-22 Robert Millan <rmh@aybabtu.com>
36747
36748 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36749 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
36750 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
36751 flag when running on SmartFirmware.
36752 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
36753 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
36754 was set.
36755
36756 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36757 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
36758 rather than decreasing it.
36759
36760 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
36761 there's not enough space to do it, fail in the same way as when it
36762 can't be done because there are no partitions.
36763
36764 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
36765 when nvsetenv failed.
36766
969c02ec 367672007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36768
36769 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
36770 because this rule is automatically generated.
36771 (grub-mkrescue): Removed for the same reason as above.
36772
5a79f472 367732007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36774
36775 Migrate to GNU General Public License Version 3.
f19dbdb7 36776
5a79f472 36777 * COPYING: Replaced with the plain text version of GPLv3.
36778
36779 * config.guess: Updated from gnulib.
36780 * config.sub: Likewise.
36781
36782 * geninit.sh: Output a GPLv3 copyright notice.
36783 * geninitheader.sh: Likewise.
36784 * genmodsrc.sh: Likewise.
36785 * gensymlist.sh.in: Likewise.
36786
36787 * boot/i386/pc/boot.S: Upgraded to GPLv3.
36788 * boot/i386/pc/diskboot.S: Likewise.
36789 * boot/i386/pc/pxeboot.S: Likewise.
36790 * commands/blocklist.c: Likewise.
36791 * commands/boot.c: Likewise.
36792 * commands/cat.c: Likewise.
36793 * commands/cmp.c: Likewise.
36794 * commands/configfile.c: Likewise.
36795 * commands/echo.c: Likewise.
36796 * commands/help.c: Likewise.
36797 * commands/ls.c: Likewise.
36798 * commands/search.c: Likewise.
36799 * commands/terminal.c: Likewise.
36800 * commands/test.c: Likewise.
36801 * commands/videotest.c: Likewise.
36802 * commands/i386/cpuid.c: Likewise.
36803 * commands/i386/pc/halt.c: Likewise.
36804 * commands/i386/pc/play.c: Likewise.
36805 * commands/i386/pc/reboot.c: Likewise.
36806 * commands/i386/pc/vbeinfo.c: Likewise.
36807 * commands/i386/pc/vbetest.c: Likewise.
36808 * commands/ieee1275/halt.c: Likewise.
36809 * commands/ieee1275/reboot.c: Likewise.
36810 * commands/ieee1275/suspend.c: Likewise.
36811 * disk/loopback.c: Likewise.
36812 * disk/lvm.c: Likewise.
36813 * disk/raid.c: Likewise.
36814 * disk/efi/efidisk.c: Likewise.
36815 * disk/i386/pc/biosdisk.c: Likewise.
36816 * disk/ieee1275/ofdisk.c: Likewise.
36817 * font/manager.c: Likewise.
36818 * fs/affs.c: Likewise.
36819 * fs/ext2.c: Likewise.
36820 * fs/fat.c: Likewise.
36821 * fs/fshelp.c: Likewise.
36822 * fs/hfs.c: Likewise.
36823 * fs/hfsplus.c: Likewise.
36824 * fs/iso9660.c: Likewise.
36825 * fs/jfs.c: Likewise.
36826 * fs/minix.c: Likewise.
36827 * fs/sfs.c: Likewise.
36828 * fs/ufs.c: Likewise.
36829 * fs/xfs.c: Likewise.
36830 * hello/hello.c: Likewise.
36831 * include/grub/acorn_filecore.h: Likewise.
36832 * include/grub/arg.h: Likewise.
36833 * include/grub/bitmap.h: Likewise.
36834 * include/grub/boot.h: Likewise.
36835 * include/grub/cache.h: Likewise.
36836 * include/grub/device.h: Likewise.
36837 * include/grub/disk.h: Likewise.
36838 * include/grub/dl.h: Likewise.
36839 * include/grub/elfload.h: Likewise.
36840 * include/grub/env.h: Likewise.
36841 * include/grub/err.h: Likewise.
36842 * include/grub/file.h: Likewise.
36843 * include/grub/font.h: Likewise.
36844 * include/grub/fs.h: Likewise.
36845 * include/grub/fshelp.h: Likewise.
36846 * include/grub/gzio.h: Likewise.
36847 * include/grub/hfs.h: Likewise.
36848 * include/grub/kernel.h: Likewise.
36849 * include/grub/loader.h: Likewise.
36850 * include/grub/lvm.h: Likewise.
36851 * include/grub/misc.h: Likewise.
36852 * include/grub/mm.h: Likewise.
36853 * include/grub/net.h: Likewise.
36854 * include/grub/normal.h: Likewise.
36855 * include/grub/parser.h: Likewise.
36856 * include/grub/partition.h: Likewise.
36857 * include/grub/pc_partition.h: Likewise.
36858 * include/grub/raid.h: Likewise.
36859 * include/grub/rescue.h: Likewise.
36860 * include/grub/script.h: Likewise.
36861 * include/grub/setjmp.h: Likewise.
36862 * include/grub/symbol.h: Likewise.
36863 * include/grub/term.h: Likewise.
36864 * include/grub/terminfo.h: Likewise.
36865 * include/grub/tparm.h: Likewise.
36866 * include/grub/types.h: Likewise.
36867 * include/grub/video.h: Likewise.
36868 * include/grub/efi/api.h: Likewise.
36869 * include/grub/efi/chainloader.h: Likewise.
36870 * include/grub/efi/console.h: Likewise.
36871 * include/grub/efi/console_control.h: Likewise.
36872 * include/grub/efi/disk.h: Likewise.
36873 * include/grub/efi/efi.h: Likewise.
36874 * include/grub/efi/pe32.h: Likewise.
36875 * include/grub/efi/time.h: Likewise.
36876 * include/grub/i386/linux.h: Likewise.
36877 * include/grub/i386/setjmp.h: Likewise.
36878 * include/grub/i386/types.h: Likewise.
36879 * include/grub/i386/efi/kernel.h: Likewise.
36880 * include/grub/i386/efi/loader.h: Likewise.
36881 * include/grub/i386/efi/time.h: Likewise.
36882 * include/grub/i386/pc/biosdisk.h: Likewise.
36883 * include/grub/i386/pc/boot.h: Likewise.
36884 * include/grub/i386/pc/chainloader.h: Likewise.
36885 * include/grub/i386/pc/console.h: Likewise.
36886 * include/grub/i386/pc/init.h: Likewise.
36887 * include/grub/i386/pc/kernel.h: Likewise.
36888 * include/grub/i386/pc/loader.h: Likewise.
36889 * include/grub/i386/pc/memory.h: Likewise.
36890 * include/grub/i386/pc/multiboot.h: Likewise.
36891 * include/grub/i386/pc/serial.h: Likewise.
36892 * include/grub/i386/pc/time.h: Likewise.
36893 * include/grub/i386/pc/vbe.h: Likewise.
36894 * include/grub/i386/pc/vbeblit.h: Likewise.
36895 * include/grub/i386/pc/vbefill.h: Likewise.
36896 * include/grub/i386/pc/vbeutil.h: Likewise.
36897 * include/grub/i386/pc/vga.h: Likewise.
36898 * include/grub/ieee1275/ieee1275.h: Likewise.
36899 * include/grub/ieee1275/ofdisk.h: Likewise.
36900 * include/grub/powerpc/libgcc.h: Likewise.
36901 * include/grub/powerpc/setjmp.h: Likewise.
36902 * include/grub/powerpc/types.h: Likewise.
36903 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
36904 * include/grub/powerpc/ieee1275/console.h: Likewise.
36905 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
36906 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
36907 * include/grub/powerpc/ieee1275/loader.h: Likewise.
36908 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
36909 * include/grub/powerpc/ieee1275/time.h: Likewise.
36910 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
36911 * include/grub/sparc64/libgcc.h: Likewise.
36912 * include/grub/sparc64/setjmp.h: Likewise.
36913 * include/grub/sparc64/types.h: Likewise.
36914 * include/grub/sparc64/ieee1275/console.h: Likewise.
36915 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36916 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36917 * include/grub/sparc64/ieee1275/time.h: Likewise.
36918 * include/grub/util/biosdisk.h: Likewise.
36919 * include/grub/util/getroot.h: Likewise.
36920 * include/grub/util/lvm.h: Likewise.
36921 * include/grub/util/misc.h: Likewise.
36922 * include/grub/util/raid.h: Likewise.
36923 * include/grub/util/resolve.h: Likewise.
36924 * io/gzio.c: Likewise.
36925 * kern/device.c: Likewise.
36926 * kern/disk.c: Likewise.
36927 * kern/dl.c: Likewise.
36928 * kern/elf.c: Likewise.
36929 * kern/env.c: Likewise.
36930 * kern/err.c: Likewise.
36931 * kern/file.c: Likewise.
36932 * kern/fs.c: Likewise.
36933 * kern/loader.c: Likewise.
36934 * kern/main.c: Likewise.
36935 * kern/misc.c: Likewise.
36936 * kern/mm.c: Likewise.
36937 * kern/parser.c: Likewise.
36938 * kern/partition.c: Likewise.
36939 * kern/rescue.c: Likewise.
36940 * kern/term.c: Likewise.
36941 * kern/efi/efi.c: Likewise.
36942 * kern/efi/init.c: Likewise.
36943 * kern/efi/mm.c: Likewise.
36944 * kern/i386/dl.c: Likewise.
36945 * kern/i386/efi/init.c: Likewise.
36946 * kern/i386/efi/startup.S: Likewise.
36947 * kern/i386/pc/init.c: Likewise.
36948 * kern/i386/pc/lzo1x.S: Likewise.
36949 * kern/i386/pc/startup.S: Likewise.
36950 * kern/ieee1275/ieee1275.c: Likewise.
36951 * kern/powerpc/cache.S: Likewise.
36952 * kern/powerpc/dl.c: Likewise.
36953 * kern/powerpc/ieee1275/cmain.c: Likewise.
36954 * kern/powerpc/ieee1275/crt0.S: Likewise.
36955 * kern/powerpc/ieee1275/init.c: Likewise.
36956 * kern/powerpc/ieee1275/openfw.c: Likewise.
36957 * kern/sparc64/cache.S: Likewise.
36958 * kern/sparc64/dl.c: Likewise.
36959 * kern/sparc64/ieee1275/init.c: Likewise.
36960 * kern/sparc64/ieee1275/openfw.c: Likewise.
36961 * loader/efi/chainloader.c: Likewise.
36962 * loader/efi/chainloader_normal.c: Likewise.
36963 * loader/i386/efi/linux.c: Likewise.
36964 * loader/i386/efi/linux_normal.c: Likewise.
36965 * loader/i386/pc/chainloader.c: Likewise.
36966 * loader/i386/pc/chainloader_normal.c: Likewise.
36967 * loader/i386/pc/linux.c: Likewise.
36968 * loader/i386/pc/linux_normal.c: Likewise.
36969 * loader/i386/pc/multiboot.c: Likewise.
36970 * loader/i386/pc/multiboot_normal.c: Likewise.
36971 * loader/powerpc/ieee1275/linux.c: Likewise.
36972 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36973 * normal/arg.c: Likewise.
36974 * normal/cmdline.c: Likewise.
36975 * normal/command.c: Likewise.
36976 * normal/completion.c: Likewise.
36977 * normal/execute.c: Likewise.
36978 * normal/function.c: Likewise.
36979 * normal/lexer.c: Likewise.
36980 * normal/main.c: Likewise.
36981 * normal/menu.c: Likewise.
36982 * normal/menu_entry.c: Likewise.
36983 * normal/misc.c: Likewise.
36984 * normal/parser.y: Likewise.
36985 * normal/script.c: Likewise.
36986 * normal/i386/setjmp.S: Likewise.
36987 * normal/powerpc/setjmp.S: Likewise.
36988 * normal/sparc64/setjmp.S: Likewise.
36989 * partmap/acorn.c: Likewise.
36990 * partmap/amiga.c: Likewise.
36991 * partmap/apple.c: Likewise.
36992 * partmap/gpt.c: Likewise.
36993 * partmap/pc.c: Likewise.
36994 * partmap/sun.c: Likewise.
36995 * term/gfxterm.c: Likewise.
36996 * term/terminfo.c: Likewise.
36997 * term/efi/console.c: Likewise.
36998 * term/i386/pc/console.c: Likewise.
36999 * term/i386/pc/serial.c: Likewise.
37000 * term/i386/pc/vesafb.c: Likewise.
37001 * term/i386/pc/vga.c: Likewise.
37002 * term/ieee1275/ofconsole.c: Likewise.
37003 * util/biosdisk.c: Likewise.
37004 * util/console.c: Likewise.
37005 * util/genmoddep.c: Likewise.
37006 * util/getroot.c: Likewise.
37007 * util/grub-emu.c: Likewise.
37008 * util/grub-mkdevicemap.c: Likewise.
37009 * util/grub-probe.c: Likewise.
37010 * util/lvm.c: Likewise.
37011 * util/misc.c: Likewise.
37012 * util/raid.c: Likewise.
37013 * util/resolve.c: Likewise.
37014 * util/update-grub.in: Likewise.
37015 * util/update-grub_lib.in: Likewise.
37016 * util/grub.d/00_header.in: Likewise.
37017 * util/grub.d/10_hurd.in: Likewise.
37018 * util/grub.d/10_linux.in: Likewise.
37019 * util/i386/efi/grub-install.in: Likewise.
37020 * util/i386/efi/grub-mkimage.c: Likewise.
37021 * util/i386/pc/grub-install.in: Likewise.
37022 * util/i386/pc/grub-mkimage.c: Likewise.
37023 * util/i386/pc/grub-mkrescue.in: Likewise.
37024 * util/i386/pc/grub-setup.c: Likewise.
37025 * util/i386/pc/misc.c: Likewise.
37026 * util/powerpc/ieee1275/grub-install.in: Likewise.
37027 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
37028 * util/powerpc/ieee1275/misc.c: Likewise.
37029 * video/bitmap.c: Likewise.
37030 * video/video.c: Likewise.
37031 * video/i386/pc/vbe.c: Likewise.
37032 * video/i386/pc/vbeblit.c: Likewise.
37033 * video/i386/pc/vbefill.c: Likewise.
37034 * video/i386/pc/vbeutil.c: Likewise.
37035 * video/readers/tga.c: Likewise.
37036
3572d015 370372007-07-02 Robert Millan <rmh@aybabtu.com>
37038
37039 * conf/i386-efi.rmk: Replace obsolete reference to
37040 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
37041 with util/getroot.c.
37042 * conf/powerpc-ieee1275.rmk: Likewise.
37043 * conf/sparc64-ieee1275.rmk: Likewise.
37044
37045 * util/grub-emu.c (main): Fix unchecked pointer handling.
37046
2c2a681b 370472007-07-02 Robert Millan <rmh@aybabtu.com>
37048
37049 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
37050 invocation to fail, in order to support partition-less media.
37051
37052 * util/i386/pc/grub-install.in: Likewise.
37053
37054 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
37055 which fs or partmap modules are needed (akin to its sister scripts).
37056
37057 Also use grub-probe to get rid of unportable /proc/mounts check.
37058
37059 Print the same informational message that the other scripts do, before
fe6b695a 37060 exiting.
2c2a681b 37061
6193defe 370622007-06-23 Robert Millan <rmh@aybabtu.com>
37063
fe6b695a 37064 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 37065 a font file can be found and, if so, echo the GRUB path to it.
37066
37067 * util/update-grub.in: Handle multiple terminals depending on user
37068 input, platform availability and font file presence. Propagate
37069 variables of our findings to /etc/grub.d/ children.
37070
37071 * util/grub.d/00_header.in: Handle multiple terminals, based on
37072 environment setup by update-grub.
37073
eface1dc 370742007-06-23 Robert Millan <rmh@aybabtu.com>
37075
ba50d28f 37076 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 37077
bf697e28 370782007-06-21 Robert Millan <rmh@aybabtu.com>
37079
37080 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
37081 indicate end of data section in kernel image.
37082 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
37083 GRUB_KERNEL_MACHINE_DATA_END.
37084
37085 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
37086 space for it.
37087 * kern/i386/efi/startup.S: Likewise.
37088
37089 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
37090 during image generation. Implement --prefix option to override this
37091 patch.
37092 * util/i386/efi/grub-mkimage.c: Likewise.
37093
37094 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
37095 code to make path relative to its root into a separate function.
37096
37097 * util/i386/pc/grub-install.in: Use newly provided
37098 make_system_path_relative_to_its_root() to convert ${grubdir}, then
37099 pass the result to grub-install --prefix.
37100
baa574b4 371012007-06-13 Robert Millan <rmh@aybabtu.com>
37102
37103 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
37104 DEFAULT_DEVICE_MAP.
37105 * util/grub-emu.c: Use above definitions from misc.h instead of
37106 defining them.
37107 * util/grub-mkdevicemap.c: Likewise.
37108 * util/i386/pc/grub-setup.c: Likewise.
37109 * util/grub-probe.c: Likewise.
37110 (probe): Abort with grub_util_error() when either
37111 grub_guess_root_device or grub_util_get_grub_dev fails.
37112
0215dcbf 371132007-06-12 Robert Millan <rmh@aybabtu.com>
37114
37115 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
37116 "pager" assignment.
37117 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
37118 "pcdata".
37119 * util/grub-probe.c (probe): Likewise for "drive_name".
37120
8af2ab7b 371212007-06-11 Robert Millan <rmh@aybabtu.com>
37122
37123 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
37124 not just the cdrom one.
37125
59d31694 371262007-06-11 Robert Millan <rmh@aybabtu.com>
37127
37128 * util/i386/pc/grub-mkrescue.in: Add "set -e".
37129 Add --pkglibdir=DIR option to override pkglibdir.
37130 Mention --image-type=TYPE in help output.
37131 Fix --grub-mkimage (it was a no-op).
fe6b695a 37132 Abort gracefully when no parameter is given.
59d31694 37133
7ee367e4 371342007-06-11 Robert Millan <rmh@aybabtu.com>
37135
37136 * util/i386/pc/grub-mkrescue.in: New file.
37137 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
37138 * Makefile.in: Handle bin_SCRIPTS.
37139
29b0ed46 371402007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
37141
37142 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
37143 list of video modes.
37144
c0f90770 371452007-06-06 Robert Millan <rmh@aybabtu.com>
37146
37147 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
37148 file doesn't exist, or if it is in a filesystem grub can't read.
37149
37150 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
37151 not abort if GRUB_DRIVE could not be defined. Rearrange generated
37152 header comment to fit in 80 columns when the variables are resolved.
37153
37154 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
37155 could be identified by update-grub. Remove redundant check for
fe6b695a 37156 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 37157 handles that).
37158
fb36dc26 371592007-06-04 Robert Millan <rmh@aybabtu.com>
37160
37161 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
37162
37163 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
37164
37165 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
37166
0c68c93e 371672007-06-04 Robert Millan <rmh@aybabtu.com>
37168
37169 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
37170
37171 * include/grub/partition.h: Declare grub_apple_partition_map_init and
37172 grub_apple_partition_map_fini.
37173
37174 * util/biosdisk.c
37175 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
37176 to access >2 TiB disks).
37177
37178 Print disk->total_sectors with %llu instead of %lu, since this
37179 variable is always 64-bit (prevents wrong disk size from being displayed
37180 on either >2 TiB disk or big-endian CPU).
37181
37182 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
37183 into a generic case that supports all (sane) partition maps.
37184
37185 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
37186 breaks big-endian.
37187
37188 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
37189 and grub_apple_partition_map_fini() after that.
37190
0f23eb74 371912007-06-01 Robert Millan <rmh@aybabtu.com>
37192
37193 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
37194
37195 * util/grub.d/00_header.in: Only enable gfxterm when
37196 convert_system_path_to_grub_path() succeeds.
37197
42c71976 371982007-05-20 Robert Millan <rmh@aybabtu.com>
37199
37200 * util/update-grub_lib.in: New file.
37201 * DISTLIST: Add update-grub_lib.in.
37202 * conf/common.rmk: Generate update-grub_lib and install it in
37203 $(lib_DATA).
37204 * Makefile.in: Add install routine for $(lib_DATA).
37205
37206 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
37207 function provided by update-grub_lib to support arbitrary paths of
37208 unifont.pff.
37209 * util/update-grub.in: Use convert_system_path_to_grub_path() to
37210 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
37211
5beb2291 372122007-05-19 Robert Millan <rmh@aybabtu.com>
37213
37214 * commands/i386/cpuid.c: New module.
37215 * DISTLIST: Add it.
37216 * conf/i386-efi.rmk: Enable cpuid.mod.
37217 * conf/i386-pc.rmk: Likewise.
37218
7262eca1 372192007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37220
37221 * kern/disk.c (grub_disk_read): Check return value of
37222 grub_realloc().
37223
260ba823 372242007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37225
37226 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
37227 arrays.
37228 * disk/raid.c (grub_raid_open): Likewise.
37229
1ecb6cf2 372302007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37231
37232 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
37233 stack instead of on the heap.
37234
37235 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
37236 before doing a read on it.
37237
37238 * configure.ac: Only use -fno-stack-protector for the target
37239 environment.
f19dbdb7 37240
21c8cbb1 372412007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37242
37243 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
37244 __attribute_ ((unused)) to mode_type argument.
37245
37246 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 37247
21c8cbb1 37248 * kern/misc.c (memcmp): Fix prototype.
37249
37250 * include/grub/partition.h [GRUB_UTIL]
37251 (grub_gpt_partition_map_init): Add prototype.
37252 (grub_gpt_partition_map_fini): Likewise.
37253
37254 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
37255 at the right place.
37256
37257 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
37258 (grub_fat_read_data): Likewise.
37259 (grub_fat_find_dir): Likewise.
37260
37261 * font/manager.c (find_glyph): Make table a const.
37262 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 37263
849d55d3 372642007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
37265
37266 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
37267 code, first search for device in /dev/mapper, then in /dev.
37268 (grub_util_get_grub_dev): New function.
37269 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
37270 prototype.
37271 * util/grub-probe.c (probe): Remove check for RAID, call
37272 grub_util_get_grub_dev() instead of
37273 grub_util_biosdisk_get_grub_dev().
37274 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37275 grub_util_biosdisk_get_grub_dev().
37276 * util/i386/pc/grub-setup.c (main): Likewise.
37277
8fff7c2f 372782007-05-16 Robert Millan <rmh@aybabtu.com>
37279
37280 * DISTLIST: Update for the latest changes.
37281 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37282 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37283 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37284 grub/util/biosdisk.h.
37285 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37286 grub/util/biosdisk.h.
37287
48e12b52 372882007-05-16 Robert Millan <rmh@aybabtu.com>
37289
37290 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37291
46b9d128 372922007-05-16 Robert Millan <rmh@aybabtu.com>
37293
37294 * util/i386/efi/grub-install.in: New.
37295 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37296 newly added grub-install.
37297 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37298 include.
37299 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37300 grub/util/biosdisk.h.
37301 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37302 grub/util/biosdisk.h.
37303
2d1a40a9 373042007-05-16 Robert Millan <rmh@aybabtu.com>
37305
37306 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37307 * include/grub/util/biosdisk.h: ... here.
37308 * util/i386/pc/biosdisk.c: Moved to ...
37309 * util/biosdisk.c: ... here.
37310 * util/i386/pc/getroot.c: Moved to ...
37311 * util/getroot.c: ... here.
37312 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37313 * util/grub-mkdevicemap.c: ... here.
37314 * util/i386/pc/grub-probe.c: Moved to ...
37315 * util/grub-probe.c: ... here.
37316
9e26e3bc 373172007-05-15 Robert Millan <rmh@aybabtu.com>
37318
37319 * util/update-grub.in: Remove duplicated line in grub.cfg header
37320 message.
37321
57f96397 373222007-05-13 Robert Millan <rmh@aybabtu.com>
37323
37324 * util/update-grub.in: Fix a few assumptions about the devices holding
37325 /, /boot and /boot/grub being the same.
37326 * util/grub.d/00_header.in: Likewise.
37327 * util/grub.d/10_hurd.in: Likewise.
37328 * util/grub.d/10_linux.in: Likewise.
37329
37330 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37331 patterns. Use that to define the `.old' suffix as older than `'.
37332
37333 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37334
37335 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37336 the grub.cfg header message.
37337
2e610d62 373382007-05-11 Robert Millan <rmh@aybabtu.com>
37339
37340 * util/update-grub.in: Create device.map if it doesn't already exist,
37341 before attempting to run grub-probe.
37342 Check for grub-probe and grub-mkdevicemap with the same code
37343 grub-install is using.
37344 Remove test mode.
37345
3f6a10ef 373462007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
37347
37348 * Makefile.in: Add the datarootdir autoconf variable.
37349
02e7b75e 373502007-05-09 Robert Millan <rmh@aybabtu.com>
37351
37352 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 37353 fail gracefully if dev->disk->partition == NULL.
02e7b75e 37354
75f396cc 373552007-05-07 Robert Millan <rmh@aybabtu.com>
37356
37357 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
37358 determine partition map module.
37359 * util/i386/pc/grub-install.in: Use this feature to decide which
37360 partition module to load, instead of hardcoding pc and gpt.
37361
da65cb36 373622007-05-07 Robert Millan <rmh@aybabtu.com>
37363
37364 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
37365 source directory differs from build directory.
37366
b57d6a91 373672007-05-05 Robert Millan <rmh@aybabtu.com>
37368
37369 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
37370 initialisation.
37371
509d00f1 373722007-05-05 Robert Millan <rmh@aybabtu.com>
37373
37374 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
37375
c48f23ef 373762007-05-05 Robert Millan <rmh@aybabtu.com>
37377
37378 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
37379 command-line arguments via ${GRUB_CMDLINE_LINUX}.
37380
20b97658 373812007-05-05 Robert Millan <rmh@aybabtu.com>
37382
37383 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
37384 (grub_probe_SOURCES): Likewise.
37385 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
37386 GPT and initialize dos_part and bsd_part accordingly.
37387 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
37388 install_bsd_part.
37389 (main): Activate gpt module for use during partition identification,
37390 and deactivate it afterwards.
37391 * util/i386/pc/grub-install.in: Add gpt module to core.img.
37392 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
37393 partition identification, and deactivate it afterwards.
37394
99123174 373952007-05-05 Robert Millan <rmh@aybabtu.com>
37396
37397 * term/i386/pc/console.c (grub_console_fini): Call
37398 grub_term_set_current() before grub_term_unregister().
37399
ebd97f6e 374002007-05-04 Robert Millan <rmh@aybabtu.com>
37401
37402 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
37403 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
37404 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
37405 and update-grub_DATA.
37406 * conf/common.rmk: Build and install update-grub components.
37407 * conf/common.mk: Regenerate.
37408 * util/update-grub.in: New. Core of update-grub.
37409 * util/grub.d/00_header.in: New. Generates grub.cfg header.
37410 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
37411 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
37412 * util/grub.d/README: New. Document grub.d directory layout.
37413
b06a264d 374142007-05-01 Robert Millan <rmh@aybabtu.com>
37415
37416 * util/grub-emu.c: Move initialization functions
37417 grub_util_biosdisk_init() and grub_init_all() before
37418 grub_util_biosdisk_get_grub_dev(), which relies on them.
37419
41f0050e 374202007-04-19 Robert Millan <rmh@aybabtu.com>
37421
37422 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
37423 it is used later.
37424
04582bb3 374252007-04-18 Jerone Young <jerone@gmail.com>
37426
f19dbdb7 37427 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 37428 stanza.
37429
08db4632 374302007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 37431
08db4632 37432 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
37433 continue on and look for device node with real device name.
37434
801b76be 374352007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 37436
fe6b695a 37437 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 37438 ability.
37439 * Makefile.in: Add autoconf package transformation code.
37440 * util/i386/pc/grub-install.in: Likewise.
37441 * util/powerpc/ieee1275/grub-install.in: Likewise.
37442
6795c4e1 374432007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37444
37445 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
37446 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
37447 (EXT2_REVISION): Likewise.
37448 (EXT2_INODE_SIZE): Likewise.
37449 (struct grub_ext2_block_group): Added a missing member
37450 "used_dirs".
37451 (grub_ext2_read_inode): Divide by the inode size in a superblock
37452 instead of 128 to obtain INODES_PER_BLOCK.
37453 Use the macro EXT2_INODE_SIZE instead of directly using
37454 SBLOCK->INODE_SIZE.
37455
d70af616 374562007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37457
37458 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
37459 superblock instead of the structure size to compute an
37460 offset. This fixes the problem that GRUB could not read a
37461 filesystem when inode size is different from 128-byte.
37462
3b801603 374632007-03-05 Marco Gerards <marco@gnu.org>
37464
37465 * normal/main.c (read_config_file): When "menu" is not set, create
37466 an initial context.
37467
4785bfe4 374682007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37469
37470 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
37471 (HEAP_LIMIT): New macro.
37472 (grub_claim_heap): Claim memory up to `heaplimit'.
37473
a0cbb023 374742007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37475
37476 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
37477 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
37478 (_start): Likewise.
37479 (grub_arch_modules_addr): Return address after `_end'.
37480 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
37481 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
37482 (add_segments): Calculate `_end' from phdr size and location.
37483 (ALIGN_UP): Moved to ...
37484 * include/grub/misc.h: here.
37485 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37486 New macro.
37487 (GRUB_IEEE1275_MODULE_BASE): Removed.
37488
fd7d8eba 374892007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37490
37491 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
37492 loop boundary.
37493
9b09e6fc 374942007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37495
37496 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
37497 All users updated.
37498 (grub_elf64_load_hook_t): Likewise.
37499 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
37500 debug output.
37501
3ce27299 375022007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37503
37504 * kern/mm.c: Update copyright.
37505 (grub_mm_debug): Correct syntax error.
37506 (grub_mm_dump_free): New function.
37507 (grub_debug_free): Call `grub_free'.
37508 * include/grub/mm.h: Update copyright.
37509 (grub_mm_dump_free): Add declaration.
37510
077d5fee 375112007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37512
37513 * include/grub/ieee1275/ieee1275.h: Update copyright.
37514 * kern/powerpc/ieee1275/init.c: Likewise.
37515 * kern/powerpc/ieee1275/openfw.c: Likewise.
37516
37517 * loader/powerpc/ieee1275/linux.c: Likewise.
37518 * include/grub/elfload.h: Likewise.
37519 * kern/elf.c: Likewise.
37520 (grub_elf32_load): Pass `base' and `size' parameters. Update all
37521 callers.
37522 (grub_elf64_load): Likewise.
37523 (grub_elf32_load_segment): Move to a nested function.
37524 (grub_elf64_load_segment): Likewise.
37525
dc946850 375262007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37527
37528 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
37529 prototype.
37530 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
37531 (grub_heap_len): Likewise.
37532 (HEAP_SIZE): New macro.
37533 (grub_claim_heap): New function.
37534 (grub_machine_init): Don't claim heap directly. Call
37535 `grub_claim_heap'.
37536 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
37537 (grub_available_iterate): New function.
37538
baa2a121 375392007-02-03 Thomas Schwinge <tschwinge@gnu.org>
37540
37541 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
37542 * configure.ac: Use it for testing the HOST and TARGET compilers.
37543
4fe9862e 375442006-12-13 Thomas Schwinge <tschwinge@gnu.org>
37545
37546 * Makefile.in (enable_grub_emu): New variable.
37547 * configure.ac (--enable-grub-emu): New option.
37548 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
37549 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
37550 * conf/i386-pc.rmk: Likewise.
37551 * conf/powerpc-ieee1275.rmk: Likewise.
37552 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
37553
a8aa5762 375542006-12-12 Marco Gerards <marco@gnu.org>
37555
37556 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
37557
37558 * kern/env.c (grub_env_unset): Don't free the member `value' when
37559 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
37560 pointer.
37561
37562 * normal/main.c (current_menu): Removed.
37563 (free_menu): Unset the `menu' environment variable.
37564 (grub_normal_menu_addentry): Make use of the environment variable
37565 `menu', instead of using the global `current_menu'. Allocate
37566 memory for the sourcecode of this entry.
37567 (read_config_file): New argument `nested', changed all callers.
37568 Only in the case of a new context, initialize a new menu. Set the
37569 `menu' environment variable.
37570 (grub_normal_execute): Don't set and unset the environment
37571 variable `menu' here anymore. Only free the menu when leaving the
37572 context.
37573
37574 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
37575 leak.
37576
957b3a3e 375772006-12-11 Marco Gerards <marco@gnu.org>
37578
37579 * normal/menu_entry.c (run): Fix off by one bug so the last line
37580 is executed. Move the loader check to outside the loop.
37581
ef875714 375822006-12-08 Hollis Blanchard <hollis@penguinppc.org>
37583
37584 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
37585
4e739985 375862006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
37587
37588 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
37589 the number of sectors. Reported by Andrey Shuvikov
37590 <mr_hyro@yahoo.com>.
f19dbdb7 37591
790707f2 375922006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
37593
37594 * kern/disk.c (grub_disk_read): When there is a read error, always
37595 try to read only the necessary data.
f19dbdb7 37596
790707f2 37597 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
37598 disk/raid.c.
37599 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
37600 prototype.
37601 [GRUB_UTIL] (grub_raid_fini): Likewise.
37602 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 37603 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 37604 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
37605 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
37606 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
37607 and grub_raid_fini().
f19dbdb7 37608
03e58196 376092006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37610
37611 * include/grub/types.h (__unused): Rename to UNUSED.
37612 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
37613 (grub_elf64_size): Likewise.
f19dbdb7 37614
ae4f23bf 376152006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37616
37617 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
37618 grub_error_push and grub_error_pop in the error-handling path.
37619 (grub_elf32_load_segment): Only call grub_file_read with non-zero
37620 length.
37621
2166cc83 376222006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37623
37624 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
37625 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37627 (kernel_elf_SOURCES): Likewise.
37628 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
37629 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
37630 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37631 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37632 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
37633 (elf_mod_SOURCES): New variable.
37634 (elf_mod_CFLAGS): Likewise.
37635 (elf_mod_LDFLAGS): Likewise.
37636 * include/grub/types.h (__unused): New macro.
37637 * include/grub/elfload.h: New file.
37638 * kern/elf.c: Likewise.
37639 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
37640 (ELF32_LOADMASK): New macro.
37641 (ELF64_LOADMASK): Likewise.
37642 (vmlinux): Removed.
37643 (grub_linux_load32): New function.
37644 (grub_linux_load64): Likewise.
37645 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
37646 Use grub_elf_t instead of grub_file_t.
37647
a09d5aa5 376482006-11-02 Hollis Blanchard <hollis@penguinppc.org>
37649
37650 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
37651 `catch_result' to struct set_color_args.
37652
d976fc51 376532006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37654
37655 * normal/menu.c: Include grub/script.h.
37656 * normal/menu_entry.c: Likewise.
37657 * include/grub/normal.h: Do not include grub/script.h.
37658
67507549 376592006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37660
37661 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
37662
69203a99 376632006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37664
37665 * kern/disk.c (grub_disk_open): Print debug messages when opening a
37666 disk.
37667 (grub_disk_close): Print debug messages when closing a disk.
37668 (grub_disk_read): Print debug messages when disk read fails.
37669 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
37670 filesystem type.
37671 * kern/partition.c: Include misc.h.
37672 (grub_partition_iterate): Print debug messages when detecting
37673 partition type.
37674
e2b8278c 376752006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37676
37677 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
37678 is negative.
37679 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
37680
97b2f2ff 376812006-10-26 Hollis Blanchard <hollis@penguinppc.org>
37682
37683 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37684 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
37685
6555d655 376862006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
37687
37688 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
37689 instead of sizeof(lv). Patch by Michael Guntsche.
37690
4d42b77f 376912006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
37692
37693 * disk/lvm.c: Rename VGS to VG_LIST.
37694 (grub_lvm_iterate): Change VGS->LV to VG-LV.
37695 (grub_lvm_open): Likewise.
37696 Thanks to Michael Guntsche for finding this bug.
37697
5d74d927 376982006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37699
37700 * configure.ac (AC_INIT): Bumped to 1.95.
37701
a1bb27e4 377022006-10-14 Robert Millan <rmh@aybabtu.com>
37703
37704 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
37705 with "/dev/.static/dev/md".
37706
e0994b8b 377072006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37708
37709 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
37710 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
37711 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
37712 DRIVE_NAME are always freed.
37713
37714 * util/i386/pc/biosdisk.c (make_device_name): Add one into
37715 DOS_PART, as a DOS partition is counted from one instead of zero
37716 now. Reported by Robert Millan.
37717
ddd5cee9 377182006-10-14 Robert Millan <rmh@aybabtu.com>
37719
37720 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
37721 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
37722 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
37723 string returned by grub_guess_root_device.
37724 * util/i386/pc/grub-setup.c: Likewise.
37725 * util/i386/pc/grub-probefs.c: Likewise.
37726
37727 * util/i386/pc/grub-probefs.c: Rename to ...
37728 * util/i386/pc/grub-probe.c: ... this.
37729 * DISTLIST: Remove grub-probefs, add grub-probe.
37730 * conf/i386-efi.rmk: Likewise.
37731 * conf/i386-pc.rmk: Likewise.
37732 * util/i386/pc/grub-install.in: Likewise.
37733
37734 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
37735 choose which information we want to print.
37736
2b002173 377372006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37738
37739 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
37740 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
37741 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
37742 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
37743 video/readers/tga.c and video/i386/pc/vbeutil.c.
37744
377452006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
37746
37747 Added support for RAID and LVM.
f19dbdb7 37748
2b002173 37749 * disk/lvm.c: New file.
37750 * disk/raid.c: Likewise.
37751 * include/grub/lvm.h: Likewise.
f19dbdb7 37752 * include/grub/raid.h: Likewise.
2b002173 37753 * include/grub/util/lvm.h: Likewise.
37754 * include/grub/util/raid.h: Likewise.
37755 * util/lvm.c: Likewise.
37756 * util/raid.c: Likewise.
37757
37758 * include/grub/disk.h (grub_disk_dev_id): Add
37759 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
37760 (grub_disk_get_size): New prototype.
37761 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
37762 returns a partition.
37763 (grub_disk_get_size): New function.
f19dbdb7 37764
2b002173 37765 * kern/i386/pc/init.c (make_install_device): Copy the prefix
37766 verbatim if grub_install_dos_part is -2.
37767
37768 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
37769 and LVM devices.
37770
37771 * util/i386/pc/grub-setup.c (setup): New argument
37772 MUST_EMBED. Force embedding of GRUB when the argument is
37773 true. Close FILE before returning.
37774 (main): Add support for RAID and LVM.
f19dbdb7 37775
2b002173 37776 * conf/common.rmk: Add RAID and LVM modules.
37777 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
37778 util/lvm.c.
37779 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
37780
37781 * kern/misc.c (grub_strstr): New function.
37782 * include/grub/misc.h (grub_strstr): New prototype.
37783
050548d0 377842006-10-10 Tristan Gingold <tristan.gingold@bull.net>
37785
37786 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
37787
da849d2d 377882006-10-05 Tristan Gingold <tristan.gingold@bull.net>
37789
37790 * kern/misc.c (grub_strtoull): Guess the base only if not
37791 specified.
37792
97b2f2ff 377932006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 37794
37795 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
37796 PowerMac support.
37797
97b2f2ff 377982006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 37799
37800 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
37801
37802 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
37803 Remove `flags' argument. All callers changed.
37804 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
37805 (IEEE1275_IHANDLE_INVALID): New variable.
37806 (IEEE1275_CELL_INVALID): New variable.
37807 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37808 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
37809 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
37810 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
37811 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
37812 codes from Open Firmware. All callers updated.
37813 (grub_ieee1275_next_property): Directly return Open Firmware return
37814 code.
37815 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37816 Standardize error checking from `grub_ieee1275_get_property'.
37817 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
37818 `devalias' to `aliases'. Correct comments. Consolidate error paths.
37819
97b2f2ff 378202006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 37821
37822 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
37823 `instance_to_package_args' to `instance_to_path_args'.
37824
37825 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
37826 `grub_ieee1275_chosen'.
37827
37828 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
37829 `grub_ieee1275_interpret'.
37830
97b2f2ff 378312006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 37832
37833 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
37834
97b2f2ff 378352006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 37836
37837 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
37838 (__cmpdi): Likewise.
37839
37840 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
37841 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
37842 `grub_ssize_t'.
37843
02bb8acc 37844 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 37845
37846 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
37847 to type `grub_ssize_t'.
37848 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
37849
7f9a8531 378502006-09-22 Marco Gerards <marco@gnu.org>
37851
37852 * normal/script.c (grub_script_create_cmdmenu): Skip leading
37853 newlines.
37854
b5ef1102 378552006-09-22 Marco Gerards <marco@gnu.org>
37856
37857 * commands/echo.c: New file.
37858
37859 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
37860
37861 * conf/common.rmk (echo_mod_SOURCES): New variable.
37862 (echo_mod_CFLAGS): Likewise.
37863 (echo_mod_LDFLAGS): Likewise.
37864
2cff3677 378652006-09-22 Marco Gerards <marco@gnu.org>
37866
37867 * normal/main.c (get_line): Malloc memory instead of using
37868 preallocated memory. Removed the arguments `cmdline' and
37869 `max_len'. Updated all callers.
37870
6ba4688b 378712006-09-22 Marco Gerards <marco@gnu.org>
37872
37873 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
37874 (normal_mod_DEPENDENCIES): Likewise.
37875
37876 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
37877 (normal_mod_DEPENDENCIES): Likewise.
37878
37879 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
37880
e02ac02c 378812006-09-22 Johan Rydberg <jrydberg@gnu.org>
37882
37883 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
37884 programs.
37885 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
37886 (normal_mod_DEPENDENCIES): Likewise.
37887 * conf/i386-pc.mk: Regenerate.
37888 * conf/i386-efi.mk: Likewise
37889 * conf/common.mk: Likewise.
37890 * conf/powerpc-ieee1275.mk: Likewise.
37891 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37892
8d252e44 378932006-09-22 Robert Millan <rmh@aybabtu.com>
37894
37895 Sync with i386 version.
37896 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
37897 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
37898
209bf7ac 378992006-09-21 Robert Millan <rmh@aybabtu.com>
37900
37901 Import from GRUB Legacy (lib/device.c):
37902 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
37903 (init_device_map) [__linux__]: Add support for I2O devices.
37904
6b146090 379052006-09-14 Marco Gerards <marco@gnu.org>
37906
37907 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
37908 `-melf_i386'.
37909
e38600a8 379102006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 37911
37912 * util/i386/pc/grub-install.in: Skip menu.lst when removing
37913 /boot/grub/*.lst.
78fa1790 37914
2952da5d 37915 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 37916
2952da5d 37917 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
37918 before adding it to device.map.
37919
01b82a64 379202006-08-15 Johan Rydberg <jrydberg@gnu.org>
37921
fe6b695a 37922 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 37923 compiles a file; using the -MD option.
37924 * conf/common.mk: Regenerate.
37925 * conf/i386-pc.mk: Likewise.
37926 * conf/i386-efi.mk: Likewise.
37927 * conf/powerpc-ieee1275.mk: Likewise.
37928 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37929
1064790d 379302006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
37931
37932 Move the prototypes of grub_setjmp and grub_longjmp to
37933 cpu/setjmp.h, so that each architecture may specify different
37934 attributes.
f19dbdb7 37935
1064790d 37936 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
37937 (grub_longjmp): Likewise.
37938 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
37939 (grub_longjmp): Likewise.
37940 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
37941 (grub_longjmp): Likewise.
37942
37943 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
37944 [!GRUB_UTIL] (grub_longjmp): Removed.
37945
29dda3ed 379462006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
37947
37948 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
37949 "color!" method does not return any value.
37950
ad2a06ed 379512006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37952
37953 * include/grub/bitmap.h: New file.
37954
37955 * include/grub/i386/pc/vbeutil.h: Likewise.
37956
37957 * video/bitmap.c: Likewise.
37958
37959 * video/readers/tga.c: Likewise.
37960
37961 * video/i386/pc/vbeutil.c: Likewise.
37962
37963 * commands/videotest.c: Code cleanup and updated to reflect to new
37964 video API.
37965
37966 * term/gfxterm.c: Likewise.
37967
37968 * video/video.c: Likewise.
37969
37970 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
37971 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
37972 (bitmap_mod_SOURCES): New entry.
37973 (bitmap_mod_CFLAGS): Likewise.
37974 (bitmap_mod_LDFLAGS): Likewise.
37975 (tga_mod_SOURCES): Likewise.
37976 (tga_mod_CFLAGS): Likewise.
37977 (tga_mod_LDFLAGS): Likewise.
37978
37979 * include/grub/video.h (grub_video_blit_operators): New enum type.
37980 (grub_video_render_target): Changed as forward declaration and moved
37981 actual definition to be video driver specific.
37982 (grub_video_adapter.blit_bitmap): Added blitting operator.
37983 (grub_video_adapter.blit_render_target): Likewise.
37984 (grub_video_blit_bitmap): Likewise.
37985 (grub_video_blit_render_target): Likewise.
37986
37987 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
37988 driver specific render target definition.
37989 (grub_video_vbe_map_rgba): Added driver internal helper.
37990 (grub_video_vbe_unmap_color): Updated to use
37991 grub_video_i386_vbeblit_info.
37992 (grub_video_vbe_get_video_ptr): Likewise.
37993
37994 * include/grub/i386/pc/vbeblit.h
37995 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
37996 grub_video_i386_vbeblit_info.
37997 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37998 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37999 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38000 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38001 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38002 (grub_video_i386_vbeblit_index_index): Likewise.
38003 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
38004 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38005 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38006 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
38007 operator.
38008 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
38009 operator.
38010
38011 * video/i386/pc/vbeblit.c: Updated to reflect changes on
38012 include/grub/i386/pc/vbeblit.h.
38013
38014 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
38015 Updated to use grub_video_i386_vbeblit_info.
38016 (grub_video_i386_vbefill_R8G8B8): Likewise.
38017 (grub_video_i386_vbefill_index): Likewise.
38018 (grub_video_i386_vbefill): Added generic filler.
38019
38020 * video/i386/pc/vbefill.c: Updated to reflect changes on
38021 include/grub/i386/pc/vbefill.h.
38022
38023 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
38024 grub_video_i386_vbeblit_info.
38025 (grub_video_vbe_unmap_color): Likewise.
38026 (grub_video_vbe_blit_glyph): Likewise.
38027 (grub_video_vbe_scroll): Likewise.
38028 (grub_video_vbe_draw_pixel): Removed function.
38029 (grub_video_vbe_get_pixel): Likewise.
38030 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
38031 updated code to use it.
38032 (common_blitter): Added common blitter for render target and bitmap.
38033 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
38034 (grub_video_vbe_blit_render_target): Likewise.
38035
bc8c036d 380362006-07-30 Johan Rydberg <jrydberg@gnu.org>
38037
38038 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
38039 is in text mode if there is no console control protocol instance
38040 available.
38041
684a8eff 380422006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38043
38044 * include/grub/video.h: Code cleanup.
38045
38046 * include/grub/i386/pc/vbe.h: Likewise.
38047
38048 * video/i386/pc/vbe.c: Likewise.
38049
38050 * video/i386/pc/vbeblit.c: Likewise.
38051
38052 * video/i386/pc/vbefill.c: Likewise.
38053
38054 * video/video.c: Likewise. Also added more comments.
38055
5915059b 380562006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38057
38058 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
38059 (struct grub_biosdisk_dap): Likewise.
38060
38061 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
38062 linkage settings for all functions.
38063
90ce5d56 380642006-07-12 Marco Gerards <marco@gnu.org>
38065
38066 * configure.ac (--enable-mm-debug): Fix typo.
38067
38068 * genkernsyms.sh.in: Use proper quoting for `CC'.
38069
43e7f879 380702006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
38071
38072 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
38073 (normal_mod_ASFLAGS): Remove "-m32".
38074
4889bdec 380752006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
38076
38077 * util/misc.c: Include config.h.
38078 [!HAVE_MEMALIGN]: Do not include malloc.h.
38079 (grub_memalign): Use posix_memalign, if present. Then, use
38080 memalign, if present. Otherwise, emit an error.
38081
38082 * util/grub-emu.c: Do not include malloc.h.
38083
38084 * include/grub/util/misc.h: Include unistd.h. This is required for
38085 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
38086 D. Eades III <hde@foobar-qux.org>.
38087
38088 * configure.ac (AC_GNU_SOURCE): Added.
38089 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
38090 type.
38091
fd39d4da 380922006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
38093
38094 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
38095 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
38096
b786f3b5 380972006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
38098
38099 * include/grub/types.h (grub_host_addr_t): Rename to
38100 grub_target_addr_t.
38101 (grub_host_off_t): Rename to grub_target_off_t.
38102 (grub_host_size_t): Rename to grub_target_size_t.
38103 (grub_host_ssize_t): Rename to grub_target_ssize_t.
38104 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
38105
38106 * include/grub/kernel.h (struct grub_module_header): Change type
38107 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
38108 (grub_module_info): Likewise.
f19dbdb7 38109
051988bb 381102006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38111
38112 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
38113 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
38114 Velazquez <jesus.velazquez@gmail.com>.
38115
deae281b 381162006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38117
38118 Count partitions from 1 instead of 0 in the string representation
38119 of partitions. Still use 0-based internally.
f19dbdb7 38120
deae281b 38121 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
38122 (sun_partition_map_iterate): Use grub_partition_t instead of
38123 struct grub_partition *. Cast DESC->START_CYLINDER to
38124 grub_uint64_t after converting the endian.
38125 (sun_partition_map_probe): Subtract 1 for PARTNUM.
38126 (sun_partition_map_get_name): Add 1 to P->INDEX.
38127
38128 * partmap/pc.c (grub_partition_parse): Subtract 1 for
38129 PCDATA->DOS_PART.
38130 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
38131
38132 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
38133 zero instead of one.
38134 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
38135 (gpt_partition_map_get_name): Add 1 into P->INDEX.
38136
38137 * partmap/apple.c (apple_partition_map_iterate): Change the type
38138 of POS to unsigned.
38139 (apple_partition_map_probe): Subtract 1 for PARTNUM.
38140 (apple_partition_map_get_name): Add 1 into P->INDEX.
38141
38142 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
38143 of POS to unsigned.
38144 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
38145 calculate the offset of a partition.
38146 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
38147 (amiga_partition_map_get_name): Add 1 into P->INDEX.
38148
38149 * partmap/acorn.c (acorn_partition_map_find): Change the type of
38150 SECTOR to grub_disk_addr_t.
38151 (acorn_partition_map_iterate): Likewise.
38152 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
38153 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
38154 top.
38155 (acorn_partition_map_get_name): Add 1 into P->INDEX.
38156
38157 * kern/i386/pc/init.c (make_install_device): Add 1 into
38158 GRUB_INSTALL_DOS_PART.
38159
38160 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
38161 conditional.
38162
524a1e6a 381632006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38164
38165 Clean up the code to support 64-bit addressing in disks and
38166 files. This change is not enough for filesystems yet.
f19dbdb7 38167
524a1e6a 38168 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
38169 type of "start" to grub_uint64_t.
38170 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
38171 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
38172 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
38173 convert addresses.
38174
38175 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
38176 to grub_disk_addr_t.
38177
38178 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
38179 string.
38180
38181 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38182
38183 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
38184 to char *.
38185
38186 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
38187
38188 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
38189
38190 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
38191
38192 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
38193 to grub_off_t, to detect an error from grub_file_seek.
38194 (grub_multiboot_load_elf32): Likewise.
38195
38196 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
38197 maximum unsigned long value when an overflow is detected.
38198 (grub_strtoull): New function.
38199 (grub_divmod64): Likewise.
38200 (grub_lltoa): use grub_divmod64.
38201
38202 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
38203 grub_disk_addr_t.
38204 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
38205 the pointer to next character. Use grub_strtoull instead of
38206 grub_strtoul.
38207 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
38208 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
38209 respectively.
38210
fe6b695a 38211 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 38212 return value is signed.
38213 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
38214 test if OFFSET is less than zero, as OFFSET is unsigned now.
38215
38216 * kern/disk.c (struct grub_disk_cache): Change the type of
38217 "sector" to grub_disk_addr_t.
38218 (grub_disk_cache_get_index): Change the type of SECTOR to
38219 grub_disk_addr_t. Calculate the hash with SECTOR casted to
38220 unsigned after shifting.
38221 (grub_disk_cache_invalidate): Change the type of SECTOR to
38222 grub_disk_addr_t.
38223 (grub_disk_cache_unlock): Likewise.
38224 (grub_disk_cache_store): Likewise.
38225 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
38226 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
38227 grub_disk_addr_t and grub_uint64_t, respectively.
38228 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
38229 body, as the value of OFFSET is tweaked by
38230 grub_disk_check_range. Change the types of START_SECTOR, LEN and
38231 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
38232 respectively.
38233 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
38234 body, as the value of OFFSET is tweaked by
38235 grub_disk_check_range. Change the types of LEN and N to
38236 grub_size_t.
38237
38238 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
38239 and "saved_offset" to grub_off_t.
38240 (test_header): Cast BUF to char *.
38241 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
38242 to char *.
38243 (grub_gzio_read): Change the types of OFFSET and SIZE to
38244 grub_off_t and grub_size_t, respectively.
38245
38246 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
38247 Removed.
38248 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
38249 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
38250 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
38251 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
38252 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
38253
38254 * include/grub/types.h (grub_off_t): Unconditionally set to
38255 grub_uint64_t.
38256 (grub_disk_addr_t): Changed to grub_uint64_t.
38257
38258 * include/grub/partition.h (struct grub_partition): Change the
38259 types of "start", "len" and "offset" to grub_disk_addr_t,
38260 grub_uint64_t and grub_disk_addr_t, respectively.
38261 (grub_partition_get_start): Return grub_disk_addr_t.
38262 (grub_partition_get_len): Return grub_uint64_t.
38263
38264 * include/grub/misc.h (grub_strtoull): New prototype.
38265 (grub_divmod64): Likewise.
38266
38267 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
38268 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
38269 grub_off_t, respectively.
38270 All callers and references changed.
38271
38272 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
38273 grub_size_t in "read".
38274 All callers and references changed.
38275
38276 * include/grub/file.h (struct grub_file): Change the types of
38277 "offset" and "size" to grub_off_t and grub_off_t,
38278 respectively. Change the type of SECTOR to grub_disk_addr_t in
38279 "read_hook".
38280 (grub_file_read): Change the type of LEN to grub_size_t.
38281 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38282 grub_off_t.
38283 (grub_file_size): Return grub_off_t.
38284 (grub_file_tell): Likewise.
38285 All callers and references changed.
38286
38287 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38288 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38289 "write".
38290 (struct grub_disk): Change the type of "total_sectors" to
38291 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 38292 "read_hook".
524a1e6a 38293 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38294 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38295 (grub_disk_write): Likewise.
38296 All callers and references changed.
38297
38298 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38299 char * for grub_strncmp to silence gcc.
38300 (grub_iso9660_mount): Likewise.
38301 (grub_iso9660_mount): Likewise.
38302 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38303 return statement.
38304 (grub_iso9660_iterate_dir): Likewise.
38305 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38306
38307 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38308 LEN to grub_disk_addr_t and grub_size_t, respectively.
38309
38310 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38311
38312 * fs/jfs.c (grub_jfs_read_file): Likewise.
38313
38314 * fs/minix.c (grub_jfs_read_file): Likewise.
38315
38316 * fs/sfs.c (grub_jfs_read_file): Likewise.
38317
38318 * fs/ufs.c (grub_jfs_read_file): Likewise.
38319
38320 * fs/xfs.c (grub_jfs_read_file): Likewise.
38321
38322 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38323 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38324 respectively.
38325
38326 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38327 BLKNR to -1 instead of returning GRUB_ERRNO.
38328 (grub_ext2_read_file): Change the types of SECTOR and
38329 LEN to grub_disk_addr_t and grub_size_t, respectively.
38330
38331 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38332 LEN to grub_disk_addr_t and grub_size_t, respectively.
38333
38334 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38335 grub_file_read.
38336
38337 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38338 string. Do not cast SECTOR explicitly.
38339
38340 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
38341 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
38342 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
38343 grub_disk_addr_t and grub_size_t, respectively. If the sector is
38344 over 2TB and LBA mode is not supported, raise an error.
38345 (get_safe_sectors): New function.
38346 (grub_biosdisk_read): Use get_safe_sectors.
38347 (grub_biosdisk_write): Likewise.
38348
38349 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
38350 (grub_efidisk_write): Likewise.
38351
38352 * disk/loopback.c (delete_loopback): Cosmetic changes.
38353 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
38354 correctly.
38355 (grub_loopback_open): Likewise.
38356 (grub_loopback_read): Likewise. Also, change the type of POS to
38357 grub_off_t, and fix the usage of grub_memset.
38358
38359 * commands/i386/pc/play.c: Include grub/machine/time.h.
38360
38361 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
38362 print FILE->SIZE.
38363
38364 * commands/configfile.c: Include grub/env.h.
38365
38366 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
38367 GRUB_ERRNO directly instead. Change the type of POS to
38368 grub_off_t. Follow the coding standard.
38369
38370 * commands/blocklist.c: Include grub/partition.h.
38371 (grub_cmd_blocklist): Return an error if the underlying device is
38372 not a disk. Take the starting sector of a partition into account,
38373 if a partition is used.
38374
38375 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
38376 a length field.
38377 (lba_mode): Support 64-bit addresses.
38378 (chs_mode): Likewise.
38379 (copy_buffer): Adapted to the new offsets of a length field and a
38380 segment field.
38381 (blocklist_default_start): Allocate 64-bit space.
38382
38383 * boot/i386/pc/boot.S (force_lba): Removed.
38384 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 38385 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 38386 space.
38387 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
38388 is useless.
38389 (lba_mode): Refactored to support a 64-bit address. More size
38390 optimization.
38391 (setup_sectors): Likewise.
38392
53af98ad 383932006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38394
38395 * DISTLIST: Added include/grub/i386/linux.h. Removed
38396 include/grub/i386/pc/linux.h
38397
38398 * configure.ac (AC_INIT): Bumped to 1.94.
38399
38400 * config.guess: Updated from gnulib.
38401 * config.sub: Likewise.
38402 * install-sh: Likewise.
38403 * mkinstalldirs: Likewise.
38404
b4c1940a 384052006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38406
38407 * conf/common.rmk (grub_modules_init.lst): Depended on
38408 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
38409 MODSRCFILES.
38410
38411 * genmk.rb (PModule::rule): Reverted the previous change.
38412
cfca1cfd 384132006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38414
38415 * conf/common.rmk (grub_modules_init.lst): Depends on
38416 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
38417 that the target does not exist before producing.
38418 (grub_modules_init.h): Remove the target before generating.
38419 (grub_emu_init.c): Likewise.
38420
38421 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
38422
aa6d7826 384232006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
38424
38425 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
38426 for the target-specific tests. Make sure that we also have the
38427 up-to-date target variables for those tests.
38428
26c607b9 384292006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38430
38431 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
38432 (PModule::rule): Likewise.
38433
0162321a 384342006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38435
38436 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
38437 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
38438 target-specific flags should be prefixed.
38439 (PModule::rule): Likewise.
38440
6c826348 384412006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
38442
38443 * configure.ac (CMP): Check if cmp is available explicitly.
38444
b977bf01 384452006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
38446
38447 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
38448 (target_cpu): New variable.
38449 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 38450
b977bf01 38451 * util/i386/pc/grub-install.in (host_cpu): Removed.
38452 (target_cpu): New variable.
38453 (pkglibdir): Use target_cpu instead of host_cpu.
38454
38455 * util/genmoddep.c: Removed.
f19dbdb7 38456
b977bf01 38457 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
38458 instead of GRUB_HOST_SIZEOF_VOID_P.
38459 * kern/dl.c: Likewise.
38460
38461 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
38462 ...
38463 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38464 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38465 (GRUB_TARGET_SIZEOF_LONG): ... this.
38466 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38467 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38468 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38469 to ...
38470 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38471 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38472 (GRUB_TARGET_SIZEOF_LONG): ... this.
38473 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38474 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38475 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38476 to ...
38477 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38478 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38479 (GRUB_TARGET_SIZEOF_LONG): ... this.
38480 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38481 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38482
38483 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
38484 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
38485 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
38486 instead of GRUB_HOST_SIZEOF_LONG.
38487 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
38488 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
38489 GRUB_CPU_WORDS_BIGENDIAN.
38490 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
38491 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
38492 grub_host_ssize_t.
38493
38494 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
38495 (genmoddep_SOURCES): Likewise.
38496 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
38497 (genmoddep_SOURCES): Likewise.
38498 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
38499 (genmoddep_SOURCES): Likewise.
38500 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
38501 Likewise.
38502 (genmoddep_SOURCES): Likewise.
38503
38504 * genmoddep.awk: New file.
38505
38506 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
38507 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
38508 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
38509 (PModule::rule): Likewise.
38510 (Program::rule): Likewise.
38511 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
38512 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
38513 respectively.
38514
38515 * configure.ac: Rewritten intensively to use host and target
38516 instead of build and host, respectively.
38517
38518 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
38519 (host_cpu): Removed.
38520 (target_cpu): New variable.
38521 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
38522 (BUILD_CC): Removed.
38523 (BUILD_CFLAGS): Likewise.
38524 (BUILD_CPPFLAGS): Likewise.
38525 (TARGET_CC): New variable.
38526 (TARGET_CFLAGS): Likewise.
38527 (TARGET_CPPFLAGS): Likewise.
38528 (TARGET_LDFLAGS): Likewise.
38529 (AWK): Likewise.
38530 (include): Use target_cpu instead of host_cpu.
38531 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 38532
b977bf01 38533 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
38534
f09771a1 385352006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
38536
38537 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
38538 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
38539 field 'false' to 'exec_on_false'.
38540 (grub_script_create_cmdif): Renamed argument names to reflect above
38541 changes.
38542
38543 * normal/execute.c (grub_script_execute_cmdif): Likewise.
38544
38545 * normal/script.c (grub_script_create_cmdif): Likewise.
38546
118f4fb3 385472006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
38548
38549 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
38550 top.
38551 (grub_hfsplus_btree_recptr): Likewise.
38552 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
38553 FILEBLOCK both to pass a block number and store next block
38554 number.
38555 (grub_hfsplus_read_block): Rewritten heavily to support an extent
38556 overflow file correctly. Specify errors appropriately, because
38557 fshelp expects that GRUB_ERRNO is set when fails. Reuse
38558 grub_hfsplus_btree_recptr to get the pointer to a found key.
38559 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
38560 is found.
38561
38562 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
38563 linux.mod.
38564 (_linux_mod_SOURCES): New variable.
38565 (_linux_mod_CFLAGS): Likewise.
38566 (_linux_mod_LDFLAGS): Likewise.
38567 (linux_mod_SOURCES): Likewise.
38568 (linux_mod_CFLAGS): Likewise.
38569 (linux_mod_LDFLAGS): Likewise.
38570
38571 * DISTLIST: Added loader/i386/efi/linux.c,
38572 loader/i386/efi/linux_normal.c and
38573 include/grub/i386/efi/loader.h.
38574
38575 * loader/i386/efi/linux.c: New file.
38576 * loader/i386/efi/linux_normal.c: Likewise.
38577 * include/grub/i386/efi/loader.h: Likewise.
38578
89a7d726 385792006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
38580
38581 * commands/blocklist.c: New file.
38582
38583 * DISTLIST: Added commands/blocklist.c.
38584
38585 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 38586 color for the background, and a darker color for the foreground.
89a7d726 38587 (grub_console_checkkey): Return READ_KEY.
38588 (grub_console_cls): Set the background to
38589 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
38590
38591 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
38592
38593 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
38594 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
38595
38596 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
38597 prototype.
38598
38599 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
38600 BG. The spec is wrong again.
38601
38602 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
38603 prototype.
38604 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
38605
38606 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38607 commands/blocklist.c.
38608 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 38609
89a7d726 38610 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
38611 (blocklist_mod_SOURCES): New variable.
38612 (blocklist_mod_CFLAGS): Likewise.
38613 (blocklist_mod_LDFLAGS): Likewise.
38614
75c8f258 386152006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
38616
38617 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
38618 duplication.
38619 (lba_mode): Use %eax more intensively to reduce the code size.
38620
da2eb181 386212006-05-20 Marco Gerards <marco@gnu.org>
38622
38623 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
38624
38625 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
38626 for `menuentry'.
38627 (script): Accept leading newlines.
38628 (newlines): New rule to describe 0 or more newlines.
38629 (commands): Accept `command' with trailing newline. Fixed the
38630 order in which arguments were passed to `grub_script_add_cmd'.
38631 Accept commands separated by newlines.
38632 (function): Changed to accept newlines.
38633 (menuentry) Rewritten.
38634
38635 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
38636 front of the list, instead of to the end.
38637
577b4050 386382006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
38639
38640 * util/i386/pc/grub-install.in (bindir): New variable.
38641 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
38642 Shaver <lbgwjl@gmail.com>.
38643
0d6e1189 386442006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
38645
38646 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
38647 grub/machine/linux.h
38648 * loader/i386/pc/linux.c: Likewise.
38649
38650 * include/grub/i386/pc/linux.h: Moved to ...
38651 * include/grub/i386/linux.h: ... here.
38652
38653 * include/grub/i386/linux.h (struct linux_kernel_params): New
38654 struct.
f19dbdb7 38655
31b86e9f 386562006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
38657
38658 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
38659 checking.
38660 (grub_video_vbe_blit_glyph): Likewise.
38661 (grub_video_vbe_blit_bitmap): Likewise.
38662 (grub_video_vbe_blit_render_target): Likewise.
38663
83b984de 386642006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
38665
38666 * configure.ac (--with-platform): Properly quote the square
38667 brackets.
38668
5f0413bd 386692006-05-08 Marco Gerards <marco@gnu.org>
38670
38671 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
38672 this...
38673 (kernel_elf_HEADERS): ...to this. Updated all users.
38674 (grubof_symlist.c): Renamed from this...
38675 (kernel_elf_symlist.c): ...to this. Updated all users.
38676 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38677 (grubof_SOURCES): Renamed from this...
38678 (kernel_elf_SOURCES): ...to this.
38679 (grubof_HEADERS): Renamed from this...
38680 (kernel_elf_HEADERS): ...to this.
38681 (grubof_CFLAGS): Renamed from this...
38682 (kernel_elf_CFLAGS): ...to this.
38683 (grubof_ASFLAGS): Renamed from this...
38684 (kernel_elf_ASFLAGS): ...to this.
38685 (grubof_LDFLAGS): Renamed from this...
38686 (kernel_elf_LDFLAGS): ...to this.
38687
38688 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
38689 this...
38690 (kernel_elf_HEADERS): ...to this. Updated all users.
38691 (grubof_symlist.c): Renamed from this...
38692 (kernel_elf_symlist.c): ...to this. Updated all users.
38693 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38694 (grubof_SOURCES): Renamed from this...
38695 (kernel_elf_SOURCES): ...to this.
38696 (grubof_HEADERS): Renamed from this...
38697 (kernel_elf_HEADERS): ...to this.
38698 (grubof_CFLAGS): Renamed from this...
38699 (kernel_elf_CFLAGS): ...to this.
38700 (grubof_ASFLAGS): Renamed from this...
38701 (kernel_elf_ASFLAGS): ...to this.
38702 (grubof_LDFLAGS): Renamed from this...
38703 (kernel_elf_LDFLAGS): ...to this.
38704
38705 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
38706 `kernel.elf' instead of `grubof'.
38707
05568c2e 387082006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
38709
38710 Add --with-platform to configure. Use pkglibdir instead of
38711 pkgdatadir. This is reported by Roger Leigh.
38712
38713 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
38714 (host_vendor): Likewise.
38715 (host_os): Likewise.
38716 (pkgdatadir): Likewise.
38717 (platform): New variable.
38718 (pkglibdir): Likewise.
38719 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 38720
05568c2e 38721 * util/i386/pc/grub-install.in (datadir): Removed.
38722 (host_vendor): Likewise.
38723 (host_os): Likewise.
38724 (pkgdatadir): Likewise.
38725 (platform): New variable.
38726 (pkglibdir): Likewise.
38727 Use PKGLIBDIR instead of PKGDATADIR.
38728
38729 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
38730 instead of GRUB_DATADIR.
38731 (main): Likewise.
38732 * util/i386/pc/grub-mkimage.c (usage): Likewise.
38733 (main): Likewise.
38734 * util/i386/efi/grub-mkimage.c (usage): Likewise.
38735 (main): Likewise.
38736
38737 * configure.ac (--with-platform): New option.
38738 Use PLATFORM instead of HOST_VENDOR to specify a platform.
38739
38740 * Makefile.in: Include a makefile based on PLATFORM instead of
38741 HOST_VENDOR.
38742 (pkgdatadir): Not appended by the machine type.
38743 (pkglibdir): Appended by the machine type.
38744 (host_vendor): Removed.
38745 (platform): New variable.
38746 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
38747 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
38748 (uninstall): Likewise.
38749
4e93851c 387502006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
38751
38752 Use the environment context in the menu. Remove the commands
38753 "default" and "timeout", and use variables instead.
f19dbdb7 38754
4e93851c 38755 * normal/menu.c: Include grub/env.h.
38756 (print_entry): Cast TITLE to silence gcc.
38757 (get_timeout): New function.
38758 (set_timeout): Likewise.
38759 (get_entry_number): Likewise.
38760 (run_menu): Use a default entry, a fallback entry and a timeout
38761 in the environment variables "default", "fallback" and
38762 "timeout". Also, tweak the default entry if it is not within the
38763 current menu entries.
38764 (grub_menu_run): Use a fallback entry in the environment variable
38765 "fallback".
38766
38767 * normal/main.c (read_config_file): Do not initialize
38768 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
38769 NEWMENU->TIMEOUT.
38770 (grub_normal_execute): Use a data slot to store the menu.
38771
38772 * include/grub/normal.h (struct grub_menu): Removed default_entry,
38773 fallback_entry and timeout.
38774 (struct grub_menu_list): Removed.
38775 (grub_menu_list_t): Likewise.
38776 (struct grub_context): Likewise.
38777 (grub_context_t): Likewise.
38778 (grub_context_get): Likewise.
38779 (grub_context_get_current_menu): Likewise.
38780 (grub_context_push_menu): Likewise.
38781 (grub_context_pop_menu): Likewise.
38782 (grub_default_init): Likewise.
38783 (grub_default_fini): Likewise.
38784 (grub_timeout_init): Likewise.
38785 (grub_timeout_fini): Likewise.
38786
38787 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
38788 and timeout.mod.
38789 (normal_mod_SOURCES): Removed normal/context.c.
38790
38791 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
38792 commands/default.c, commands/timeout.c and normal/context.c.
38793 (normal_mod_SOURCES): Removed normal/context.c.
38794
38795 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
38796 commands/timeout.c and normal/context.c.
38797 (normal_mod_SOURCES): Removed normal/context.c.
38798
38799 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
38800 commands/default.c, commands/timeout.c and normal/context.c.
38801 (normal_mod_SOURCES): Removed normal/context.c.
38802
38803 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
38804 timeout.mod.
38805 (default_mod_SOURCES): Removed.
38806 (default_mod_CFLAGS): Likewise.
38807 (default_mod_LDFLAGS): Likewise.
38808 (timeout_mod_SOURCES): Removed.
38809 (timeout_mod_CFLAGS): Likewise.
38810 (timeout_mod_LDFLAGS): Likewise.
38811
38812 * DISTLIST: Removed commands/default.c, commands/timeout.c and
38813 normal/context.c.
38814
38815 * commands/default.c: Removed.
38816 * commands/timeout.c: Likewise.
38817 * normal/context.c: Likewise.
38818
1eb9cc1d 388192006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
38820
38821 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
38822
385bd9c1 388232006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
38824
38825 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
38826 "next" to "prev" for readability.
38827 (struct grub_env_sorted_var): New struct.
38828 (grub_env_context): Renamed to ...
38829 (initial_context): ... this.
38830 (grub_env_var_context): Renamed to ...
38831 (current_context): ... this.
38832 (grub_env_find): Look only at CURRENT_CONTEXT.
38833 (grub_env_context_open): Rewritten to copy exported variables from
38834 previous context.
38835 (grub_env_context_close): Rewritten according to the new
38836 scheme. Also, add an assertion to prevent the initial context from
38837 removed.
38838 (grub_env_insert): Removed the code for the sorted list.
38839 (grub_env_remove): Likewise.
38840 (grub_env_export): Simply mark the variable with
38841 GRUB_ENV_VAR_GLOBAL.
38842 (grub_env_set): A cosmetic change for naming consistency.
38843 (grub_env_get): Likewise.
38844 (grub_env_unset): Likewise.
38845 (grub_env_iterate): Rewritten to sort variables within this
38846 function.
38847 (grub_register_variable_hook): Fixed for naming consistency. Call
38848 grub_env_find again, only if NAME is not found at the first time.
38849 (mangle_data_slot_name): New function.
38850 (grub_env_set_data_slot): Likewise.
38851 (grub_env_get_data_slot): Likewise.
38852 (grub_env_unset_data_slot): Likewise.
38853
38854 * include/grub/env.h (grub_env_var_type): New enum.
38855 (GRUB_ENV_VAR_LOCAL): New constant.
38856 (GRUB_ENV_VAR_GLOBAL): Likewise.
38857 (GRUB_ENV_VAR_DATA): Likewise.
38858 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
38859 "type".
38860 (grub_env_set): Replace VAR with NAME for consistency.
38861 (grub_register_variable_hook): Likewise.
38862 (grub_env_export): Specify the name of the argument.
38863 (grub_env_set_data_slot): New prototype.
38864 (grub_env_get_data_slot): Likewise.
38865 (grub_env_unset_data_slot): Likewise.
38866
7f362539 388672006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38868
38869 Extend the loader so that GRUB can accept a loader which comes
38870 back to GRUB when a loaded image exits. Also, this change adds
38871 support for a chainloader on EFI.
f19dbdb7 38872
7f362539 38873 * term/efi/console.c: Include grub/misc.h.
38874 (grub_console_checkkey): Display a scan code on the top for
38875 debugging. This will be removed once the EFI port gets stable.
38876 Correct the scan code mapping.
38877
38878 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
38879 allocate memory from larger regions, in order to reduce the number
38880 of allocated regions. Otherwise, the MacOSX loader panics.
38881 (filter_memory_map): Avoid less than 1MB for compatibility with
38882 other loaders.
38883 (add_memory_regions): Allocate from the tail of a region, if
38884 possible, to avoid allocating a region near to 1MB, for the MacOSX
38885 loader.
38886
38887 * kern/efi/init.c (grub_efi_set_prefix): Specify
38888 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
38889
38890 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
38891 argument IMAGE_HANDLE and specify it to get a loaded image.
38892 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
38893 grub_efi_get_loaded_image.
fe6b695a 38894 (grub_efi_get_filename): Divide the length by the size of
7f362539 38895 grub_efi_char16_t.
38896 (grub_efi_get_device_path): New function.
38897 (grub_efi_print_device_path): Print End Device Path nodes. Divide
38898 the length by the size of grub_efi_char16_t for a file path device
38899 path node.
38900
38901 * kern/loader.c (grub_loader_noreturn): New variable.
38902 (grub_loader_set): Accept a new argument NORETURN. Set
38903 GRUB_LOADER_NORETURN to NORETURN.
38904 All callers changed.
38905 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
38906 grub_machine_fini.
38907
38908 * include/grub/efi/efi.h (grub_efi_get_device_path): New
38909 prototype.
38910 (grub_efi_get_loaded_image): Take an argument to specify an image
38911 handle.
38912
38913 * include/grub/loader.h (grub_loader_set): Added one more argument
38914 NORETURN.
38915
38916 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
38917 instead of grub_efi_open_protocol.
38918 (grub_efidisk_get_device_name): Likewise.
38919 (grub_efidisk_close): Print a newline.
38920 (grub_efidisk_get_device_handle): Fixed to use
38921 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
38922 GRUB_EFI_DEVICE_PATH_TYPE.
38923
38924 * disk/efi/efidisk.c (device_path_guid): Moved to ...
38925 * kern/efi/efi.c (device_path_guid): ... here.
38926
38927 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
38928 chain.mod.
38929 (kernel_mod_HEADERS): Added efi/disk.h.
38930 (_chain_mod_SOURCES): New variable.
38931 (_chain_mod_CFLAGS): Likewise.
38932 (_chain_mod_LDFLAGS): Likewise.
38933 (chain_mod_SOURCES): Likewise.
38934 (chain_mod_CFLAGS): Likewise.
38935 (chain_mod_LDFLAGS): Likewise.
38936
38937 * DISTLIST: Added include/grub/efi/chainloader.h,
38938 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
38939
38940 * include/grub/efi/chainloader.h: New file.
38941 * loader/efi/chainloader.c: Likewise.
38942 * loader/efi/chainloader_normal.c: Likewise.
38943
c0111d6e 389442006-04-30 Marco Gerards <marco@gnu.org>
38945
38946 * commands/configfile.c (grub_cmd_source): New function.
38947 (GRUB_MOD_INIT): Register the commands `source' and `.'.
38948 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
38949
df5341da 389502006-04-30 Marco Gerards <marco@gnu.org>
38951
38952 * normal/execute.c (grub_script_execute_cmd): Change the return
38953 type to `grub_err_t'. Correctly return the error.
38954 (grub_script_execute_cmdline): In case a command line is not a
38955 command or a function, try to interpret it as an assignment.
38956
f85934bd 389572006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38958
38959 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
38960 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
38961 skip a node whose name is obviously invalid as UTF-16,
38962 i.e. contains a NUL character. Stop the iteration when the last
38963 directory entry is found. Instead of using the return value of
38964 grub_hfsplus_btree_iterate_node, store the value in RET and use
38965 it, because the iterator can be stopped by the last directory
38966 entry.
38967
8f8a2cf8 389682006-04-30 Marco Gerards <marco@gnu.org>
38969
38970 * include/grub/env.h (grub_env_export): New prototype. Reported
38971 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
38972
a27e84ce 389732006-04-30 Marco Gerards <marco@gnu.org>
38974
38975 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
38976 size of the extents in a catalog file record.
38977
eaef0553 389782006-04-29 Marco Gerards <marco@gnu.org>
38979
38980 * commands/configfile.c (grub_cmd_configfile): Execute the
38981 configfile within its own context.
38982
38983 * include/grub/env.h (grub_env_context_open): New prototype.
38984 (grub_env_context_close): Likewise.
38985
38986 * kern/env.c (grub_env): Removed.
38987 (grub_env_sorted): Likewise.
38988 (grub_env_context): New variable.
38989 (grub_env_var_context): Likewise.
38990 (grub_env_find): Search both the active context and the global
38991 context.
38992 (grub_env_context_open): New function.
38993 (grub_env_context_close): Likewise.
38994 (grub_env_insert): Likewise.
38995 (grub_env_remove): Likewise.
38996 (grub_env_export): Likewise.
38997 (grub_env_set): Changed to use helper functions to avoid code
38998 duplication.
38999 (grub_env_iterate): Rewritten so both the current context and the
39000 global context are being used.
39001
39002 * normal/command.c (export_command): New function.
39003 (grub_command_init): Register the `export' function.
39004
7b455f4d 390052006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
39006
39007 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
39008 explicitly to suppress gcc's warnings.
39009 * fs/fat.c (grub_fat_find_dir): Likewise.
39010 (grub_fat_label): Likewise.
39011 * fs/xfs.c (grub_xfs_read_inode): Likewise.
39012 (grub_xfs_mount): Likewise.
39013 (grub_xfs_label): Likewise.
39014 * fs/affs.c (grub_affs_mount): Likewise.
39015 (grub_affs_label): Likewise.
39016 (grub_affs_iterate_dir): Likewise.
39017 * fs/sfs.c (grub_sfs_mount): Likewise.
39018 (grub_sfs_iterate_dir): Likewise.
39019 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
39020 * fs/hfs.c (grub_hfs_mount): Likewise.
39021 (grub_hfs_cmp_catkeys): Likewise.
39022 (grub_hfs_find_dir): Likewise.
39023 (grub_hfs_dir): Likewise.
39024 (grub_hfs_label): Likewise.
39025 * fs/jfs.c (grub_jfs_mount): Likewise.
39026 (grub_jfs_opendir): Likewise.
39027 (grub_jfs_getent): Likewise.
39028 (grub_jfs_lookup_symlink): Likewise.
39029 (grub_jfs_label): Likewise.
39030 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
39031 (grub_hfsplus_iterate_dir): Likewise.
39032 (grub_hfsplus_btree_iterate_node): Made static.
39033
39034 * util/grub-emu.c (prefix): New variable.
39035 (grub_machine_set_prefix): New function.
39036 (main): Do not set the environment variable "prefix" here. Only
39037 set PREFIX, which is used later by grub_machine_set_prefix.
39038
39039 * include/grub/video.h: Do not include grub/symbol.h.
39040 (grub_video_register): Not exported. This symbol is not defined in
39041 the kernel.
39042 (grub_video_unregister): Likewise.
39043 (grub_video_iterate): Likewise.
39044 (grub_video_setup): Likewise.
39045 (grub_video_restore): Likewise.
39046 (grub_video_get_info): Likewise.
39047 (grub_video_get_blit_format): Likewise.
39048 (grub_video_set_palette): Likewise.
39049 (grub_video_get_palette): Likewise.
39050 (grub_video_set_viewport): Likewise.
39051 (grub_video_get_viewport): Likewise.
39052 (grub_video_map_color): Likewise.
39053 (grub_video_map_rgb): Likewise.
39054 (grub_video_map_rgba): Likewise.
39055 (grub_video_fill_rect): Likewise.
39056 (grub_video_blit_glyph): Likewise.
39057 (grub_video_blit_bitmap): Likewise.
39058 (grub_video_blit_render_target): Likewise.
39059 (grub_video_scroll): Likewise.
39060 (grub_video_swap_buffers): Likewise.
39061 (grub_video_create_render_target): Likewise.
39062 (grub_video_delete_render_target): Likewise.
39063 (grub_video_set_active_render_target): Likewise.
39064
39065 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
39066 Undefined.
39067 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
39068
39069 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
39070 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39071 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39072 instead of $(srcdir)/genkernsyms.sh.
39073
39074 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
39075 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39076 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39077 instead of $(srcdir)/genkernsyms.sh.
39078
39079 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
39080 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39081 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39082 instead of $(srcdir)/genkernsyms.sh.
39083
39084 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
39085 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39086 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39087 instead of $(srcdir)/genkernsyms.sh.
39088
39089 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
39090 genkernsyms.sh.
39091
39092 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
39093 genkernsyms.sh.
39094 (gensymlist.sh): New target.
39095 (genkernsyms.sh): Likewise.
39096
39097 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
39098 genkernsyms.sh.in and gensymlist.sh.in.
39099
39100 * genkernsyms.sh: Removed.
39101 * gensymlist.sh: Likewise.
f19dbdb7 39102
7b455f4d 39103 * genkernsyms.sh.in: New file.
39104 * gensymlist.sh.in: Likewise.
39105
1885bb27 391062006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39107
39108 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
39109 clobber "prefix", since we may have already set it manually.
39110
71538dff 391112006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39112
39113 * kern/misc.c (abort): New alias for grub_abort.
39114
2965c7cc 391152006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
39116
39117 A new machine-specific function "grub_machine_set_prefix" is
39118 defined. This is called after loading modules, so that a prefix
39119 initialization can use modules. Also, this change adds an
39120 intensive debugging feature for the memory manager via the
39121 configure option "--enable-mm-debug".
f19dbdb7 39122
2965c7cc 39123 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
39124 PART.LEN.
39125
39126 * kern/sparc64/ieee1275/init.c (abort): Removed.
39127 (grub_stop): Likewise.
39128 (grub_exit): New function.
39129 (grub_set_prefix): Renamed to ...
39130 (grub_machine_set_prefix): ... this.
39131 (grub_machine_init): Do not call grub_set_prefix.
39132
39133 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
39134 (grub_machine_set_prefix): ... this.
39135 (grub_machine_init): Do not call grub_set_prefix.
39136
39137 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
39138 (grub_machine_init): Do not set the prefix here.
39139
39140 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
39141
39142 * kern/efi/init.c: Include grub/mm.h.
39143 (grub_efi_set_prefix): New function.
39144
39145 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
39146 (grub_efi_get_filename): New function.
39147 (grub_print_device_path): Renamed to ...
39148 (grub_efi_print_device_path): ... this.
39149
39150 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
39151 [MM_DEBUG] (grub_realloc): Likewise.
39152 [MM_DEBUG] (grub_free): Likewise.
39153 [MM_DEBUG] (grub_memalign): Likewise.
39154 [MM_DEBUG] (grub_mm_debug): New variable.
39155 [MM_DEBUG] (grub_debug_malloc): New function.
39156 [MM_DEBUG] (grub_debug_free): New function.
39157 [MM_DEBUG] (grub_debug_realloc): New function.
39158 [MM_DEBUG] (grub_debug_memalign): New function.
39159
39160 * kern/misc.c (grub_abort): Print a newline to distinguish
39161 the message.
39162
39163 * kern/main.c (grub_main): Call grub_machine_set_prefix and
39164 grub_set_root_dev after loading modules. This is necessary when
39165 setting a prefix depends on modules.
39166
39167 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
39168 (grub_efi_print_device_path): ... this.
39169 (grub_efi_get_filename): New prototype.
39170 (grub_efi_set_prefix): Likewise.
39171
39172 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
39173 and grub/disk.h.
39174 (grub_efidisk_get_device_handle): New prototype.
39175 (grub_efidisk_get_device_name): Likewise.
39176
39177 * include/grub/mm.h: Include config.h.
39178 (MM_DEBUG): Removed.
39179 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
39180 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
39181 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
39182 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
39183 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
39184 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
39185 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
39186 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
39187 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
39188
39189 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
39190
39191 * disk/efi/efidisk.c: Include grub/partition.h.
39192 (iterate_child_devices): New function.
39193 (add_device): First, compare only last device path nodes, so that
39194 devices are sorted by the types.
39195 (grub_efidisk_get_device_handle): New function.
39196 (grub_efidisk_get_device_name): Likewise.
39197
39198 * configure.ac (--enable-mm-debug): New option to enable the
39199 memory manager debugging feature. This makes the binary much
39200 bigger, so is disabled by default.
39201
9cacaa17 392022006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
39203
39204 Use grub_abort instead of grub_stop, and grub_exit must be
39205 define in each architecture now. Also, this change adds support
39206 for EFI disks.
f19dbdb7 39207
9cacaa17 39208 * util/i386/pc/grub-probefs.c: Include grub/term.h.
39209 (grub_getkey): New function.
39210 (grub_term_get_current): Likewise.
39211
39212 * util/i386/pc/grub-setup.c: Include grub/term.h.
39213 (grub_getkey): New function.
39214 (grub_term_get_current): Likewise.
39215
39216 * util/misc.c (grub_stop): Renamed to ...
39217 (grub_exit): ... this.
39218
39219 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
39220 (grub_exit): ... this.
39221 (grub_machine_init): Use grub_abort instead of abort.
39222 (grub_stop): Removed.
39223
39224 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
39225 abort.
39226
39227 * kern/i386/pc/startup.S (grub_exit): New function.
39228 (cold_reboot): New label.
39229
39230 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
39231 (grub_efi_init): Call grub_efidisk_init.
39232 (grub_efi_fini): Call grub_efidisk_fini.
39233
39234 * kern/efi/efi.c: Include grub/mm.h.
39235 (grub_efi_console_control_guid): Renamed to ...
39236 (console_control_guid): ... this.
39237 (grub_efi_loaded_image_guid): Renamed to ...
39238 (loaded_image_guid): ... this.
39239 (grub_efi_locate_handle): New function.
39240 (grub_efi_open_protocol): Likewise.
39241 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
39242 GRUB_EFI_CONSOLE_CONTROL_GUID.
39243 (grub_efi_exit): Removed.
39244 (grub_stop): Likewise.
39245 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
39246 (grub_exit): New function.
39247 (grub_print_device_path): Likewise.
39248
39249 * kern/rescue.c (grub_rescue_cmd_exit): New function.
39250 (grub_enter_rescue_mode): Register "exit".
39251
39252 * kern/misc.c (grub_real_dprintf): A cosmetic change.
39253 (grub_abort): New function.
39254
39255 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
39256
39257 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
39258
39259 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
39260
39261 * include/grub/efi/efi.h (grub_efi_exit): Removed.
39262 (grub_print_device_path): New prototype.
39263 (grub_efi_locate_handle): Likewise.
39264 (grub_efi_open_protocol): Likewise.
39265
39266 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
39267 * disk/efi/efidisk.c: Likewise.
39268
39269 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
39270
39271 * include/grub/efi/console_control.h
39272 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
39273
39274 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39275 last 8 bytes as an array.
39276 (GRUB_EFI_DISK_IO_GUID): New macro.
39277 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39278 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39279 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39280 grub_uint8_t.
39281 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39282 (struct grub_efi_device_path): Rename the member "sub_type" to
39283 "subtype".
39284 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39285 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39286 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39287 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39288 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39289 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39290 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39291 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39292 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39293 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39294 (struct grub_efi_pci_device_path): New structure.
39295 (grub_efi_pci_device_path_t): New type.
39296 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39297 (struct grub_efi_pccard_device_path): New structure.
39298 (grub_efi_pccard_device_path_t): New type.
39299 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39300 (struct grub_efi_memory_mapped_device_path): New structure.
39301 (grub_efi_memory_mapped_device_path_t): New type.
39302 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39303 (struct grub_efi_vendor_device_path): New structure.
39304 (grub_efi_vendor_device_path_t): New type.
39305 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39306 (struct grub_efi_controller_device_path): New structure.
39307 (grub_efi_controller_device_path_t): New type.
39308 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39309 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39310 (struct grub_efi_acpi_device_path): New structure.
39311 (grub_efi_acpi_device_path_t): New type.
39312 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39313 (struct grub_efi_expanded_acpi_device_path): New structure.
39314 (grub_efi_expanded_acpi_device_path_t): New type.
39315 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39316 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39317 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39318 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39319 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39320 (struct grub_efi_atapi_device_path): New structure.
39321 (grub_efi_atapi_device_path_t): New type.
39322 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39323 (struct grub_efi_fibre_channel_device_path): New structure.
39324 (grub_efi_fibre_channel_device_path_t): New type.
39325 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39326 (struct grub_efi_1394_device_path): New structure.
39327 (grub_efi_1394_device_path_t): New type.
39328 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39329 (struct grub_efi_usb_device_path): New structure.
39330 (grub_efi_usb_device_path_t): New type.
39331 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39332 (struct grub_efi_usb_class_device_path): New structure.
39333 (grub_efi_usb_class_device_path_t): New type.
39334 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39335 (struct grub_efi_i2o_device_path): New structure.
39336 (grub_efi_i2o_device_path_t): New type.
39337 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39338 (struct grub_efi_mac_address_device_path): New structure.
39339 (grub_efi_mac_address_device_path_t): New type.
39340 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
39341 (struct grub_efi_ipv4_device_path): New structure.
39342 (grub_efi_ipv4_device_path_t): New type.
39343 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
39344 (struct grub_efi_ipv6_device_path): New structure.
39345 (grub_efi_ipv6_device_path_t): New type.
39346 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
39347 (struct grub_efi_infiniband_device_path): New structure.
39348 (grub_efi_infiniband_device_path_t): New type.
39349 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
39350 (struct grub_efi_uart_device_path): New structure.
39351 (grub_efi_uart_device_path_t): New type.
39352 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
39353 (struct grub_efi_vendor_messaging_device_path): New structure.
39354 (grub_efi_vendor_messaging_device_path_t): New type.
39355 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
39356 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
39357 (struct grub_efi_hard_drive_device_path): New structure.
39358 (grub_efi_hard_drive_device_path_t): New type.
39359 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
39360 (struct grub_efi_cdrom_device_path): New structure.
39361 (grub_efi_cdrom_device_path_t): New type.
39362 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
39363 (struct grub_efi_vendor_media_device_path): New structure.
39364 (grub_efi_vendor_media_device_path_t): New type.
39365 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
39366 (struct grub_efi_file_path_device_path): New structure.
39367 (grub_efi_file_path_device_path_t): New type.
39368 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
39369 (struct grub_efi_protocol_device_path): New structure.
39370 (grub_efi_protocol_device_path_t): New type.
39371 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
39372 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
39373 (struct grub_efi_bios_device_path): New structure.
39374 (grub_efi_bios_device_path_t): New type.
39375 (struct grub_efi_disk_io): New structure.
39376 (grub_efi_disk_io_t): New type.
39377 (struct grub_efi_block_io_media): New structure.
39378 (grub_efi_block_io_media_t): New type.
39379 (struct grub_efi_block_io): New structure.
39380 (grub_efi_block_io_t): New type.
39381
39382 * include/grub/misc.h (grub_stop): Removed.
39383 (grub_exit): New prototype.
39384 (grub_abort): Likewise.
39385
39386 * include/grub/disk.h (enum grub_disk_dev_id): Added
39387 GRUB_DISK_DEVICE_EFIDISK_ID.
39388
39389 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
39390 disk/efi/efidisk.c.
39391 (kernel_syms.lst): Remove the target if an error occurs.
39392
49986a9f 393932006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
39394
39395 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
39396 as it was simply too buggy.
39397
970d3b8a 393982006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
39399
39400 * kern/misc.c (grub_lltoa): New function.
39401 (grub_vsprintf): Added support for the long long suffix,
39402 i.e. "ll".
39403
ff04ec24 394042006-04-20 Hollis Blanchard <hollis@penguinppc.org>
39405
39406 * Makefile.in (LDFLAGS): Add variable.
39407 (LD): Remove variable.
39408 * configure.ac: Add -m32 to LDFLAGS.
39409 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
39410 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
39411 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
39412 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
39413 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
39414 variables.
39415 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
39416 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
39417 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
39418
37e5e1a4 394192006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
39420
39421 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
39422 length for unknown glyph.
39423
c352d8dd 394242006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
39425
2eab1c0d 39426 Add support for pre-loaded modules into the EFI port.
f19dbdb7 39427
2eab1c0d 39428 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
39429 completely. Accept one more argument DIR. The caller has changed.
39430
39431 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
39432
39433 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
39434 (grub_efi_loaded_image_guid): New variable.
39435 (grub_efi_get_loaded_image): New function.
39436 (grub_arch_modules_addr): Likewise.
39437
39438 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
39439 prototype.
39440
39441 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
39442 (struct grub_efi_loaded_image): New structure.
39443 (grub_efi_loaded_image_t): New type.
39444
394452006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39446
c352d8dd 39447 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
39448 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
39449 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
39450
6d01d6b4 394512006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
39452
39453 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
39454
976a4ea0 394552006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
39456
39457 * DISTLIST: Added include/grub/efi/console.h,
39458 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
39459 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39460
39461 * include/grub/efi/console.h: New file.
39462 * include/grub/efi/time.h: Likewise.
39463 * include/grub/i386/efi/kernel.h: Likewise.
39464 * kern/efi/init.c: Likewise.
39465 * kern/efi/mm.c: Likewise.
39466 * term/efi/console.c: Likewise.
f19dbdb7 39467
976a4ea0 39468 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
39469 (grub_stop): Removed.
39470 (grub_get_rtc): Likewise.
39471 (grub_machine_init): Simply call grub_efi_init.
39472 (grub_machine_fini): Call grub_efi_fini.
39473
39474 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
39475 (grub_efi_output_string): Removed.
39476 (grub_efi_stall): New function.
39477 (grub_stop): Likewise.
39478 (grub_get_rtc): Likewise.
39479
39480 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
39481 (grub_efi_stall): New prototype.
39482 (grub_efi_allocate_pages): Likewise.
39483 (grub_efi_free_pages): Likewise.
39484 (grub_efi_get_memory_map): Likewise.
39485 (grub_efi_mm_init): Likewise.
39486 (grub_efi_mm_fini): Likewise.
39487 (grub_efi_init): Likewise.
39488 (grub_efi_fini): Likewise.
39489
39490 * include/grub/i386/efi/time.h: Do not include
39491 grub/symbol.h. Include grub/efi/time.h.
39492 (GRUB_TICKS_PER_SECOND): Removed.
39493 (grub_get_rtc): Likewise.
39494
39495 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
39496 Added padding. The EFI spec is buggy.
39497 (GRUB_EFI_BLACK): New macro.
39498 (GRUB_EFI_BLUE): Likewise.
39499 (GRUB_EFI_GREEN): Likewise.
39500 (GRUB_EFI_CYAN): Likewise.
39501 (GRUB_EFI_RED): Likewise.
39502 (GRUB_EFI_MAGENTA): Likewise.
39503 (GRUB_EFI_BROWN): Likewise.
39504 (GRUB_EFI_LIGHTGRAY): Likewise.
39505 (GRUB_EFI_BRIGHT): Likewise.
39506 (GRUB_EFI_DARKGRAY): Likewise.
39507 (GRUB_EFI_LIGHTBLUE): Likewise.
39508 (GRUB_EFI_LIGHTGREEN): Likewise.
39509 (GRUB_EFI_LIGHTCYAN): Likewise.
39510 (GRUB_EFI_LIGHTRED): Likewise.
39511 (GRUB_EFI_LIGHTMAGENTA): Likewise.
39512 (GRUB_EFI_YELLOW): Likewise.
39513 (GRUB_EFI_WHITE): Likewise.
39514 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
39515 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
39516 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
39517 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
39518 (GRUB_EFI_BACKGROUND_RED): Likewise.
39519 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
39520 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
39521 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
39522 (GRUB_EFI_TEXT_ATTR): Likewise.
39523
39524 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
39525 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39526 (kernel_mod_HEADERS): Added efi/time.h.
39527
83709125 395282006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
39529
39530 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
39531 include/grub/efi/api.h, include/grub/efi/console_control.h,
39532 include/grub/efi/efi.h, include/grub/efi/pe32.h,
39533 include/grub/i386/efi/time.h, kern/efi/efi.c,
39534 kern/i386/efi/init.c, kern/i386/efi/startup.S,
39535 and util/i386/efi/grub-mkimage.c.
39536
39537 * Makefile.in (RMKFILES): Added i386-efi.rmk.
39538
39539 * genmk.rb (PModule#rule): Do not export symbols if
39540 #{prefix}_EXPORTS is set to "no".
39541
39542 * conf/i386-efi.mk: New file.
39543 * conf/i386-efi.rmk: Likewise.
39544 * include/grub/efi/api.h: Likewise.
39545 * include/grub/efi/console_control.h: Likewise.
39546 * include/grub/efi/efi.h: Likewise.
39547 * include/grub/efi/pe32.h: Likewise.
39548 * include/grub/i386/efi/time.h: Likewise.
39549 * kern/efi/efi.c: Likewise.
39550 * kern/i386/efi/init.c: Likewise.
39551 * kern/i386/efi/startup.S: Likewise.
39552 * util/i386/efi/grub-mkimage.c: Likewise.
39553
395542006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 39555
39556 * include/grub/script.h: Include <grub/parser.h> and
39557 "grub_script.tab.h".
39558 (struct grub_lexer_param): New struct.
39559 (struct grub_parser_param): Likewise.
39560 (grub_script_create_arglist): Pass the state in an argument.
39561 (grub_script_add_arglist): Likewise.
39562 (grub_script_create_cmdline): Likewise.
39563 (grub_script_create_cmdblock): Likewise.
39564 (grub_script_create_cmdif): Likewise.
39565 (grub_script_create_cmdmenu): Likewise.
39566 (grub_script_add_cmd): Likewise.
39567 (grub_script_arg_add): Likewise.
39568 (grub_script_lexer_ref): Likewise.
39569 (grub_script_lexer_deref): Likewise.
39570 (grub_script_lexer_record_start): Likewise.
39571 (grub_script_lexer_record_stop): Likewise.
39572 (grub_script_mem_record): Likewise.
39573 (grub_script_mem_record_stop): Likewise.
39574 (grub_script_malloc): Likewise.
39575 (grub_script_yylex): Likewise.
39576 (grub_script_yyparse): Likewise.
39577 (grub_script_yyerror): Likewise.
39578 (grub_script_yylex): Likewise.
39579 (grub_script_lexer_init): Return the state.
39580
39581 * normal/lexer.c (grub_script_lexer_state): Removed variable.
39582 (grub_script_lexer_done): Likewise.
39583 (grub_script_lexer_getline): Likewise.
39584 (grub_script_lexer_refs): Likewise.
39585 (script): Likewise.
39586 (newscript): Likewise.
39587 (record): Likewise.
39588 (recording): Likewise.
39589 (recordpos): Likewise.
39590 (recordlen): Likewise.
39591 (grub_script_lexer_init): Return the state instead of setting
39592 global variables.
39593 (grub_script_lexer_ref): Use the newly added argument for state
39594 instead of globals.
39595 (grub_script_lexer_deref): Likewise.
39596 (grub_script_lexer_record_start): Likewise.
39597 (grub_script_lexer_record_stop): Likewise.
39598 (recordchar): Likewise.
39599 (nextchar): Likewise.
39600 (grub_script_yylex2): Likewise.
39601 (grub_script_yylex): Likewise.
39602 (grub_script_yyerror): Likewise.
39603
39604 * normal/parser.y (func_mem): Removed variable.
39605 (menu_entry): Likewise.
39606 (err): Likewise.
39607 (%lex-param): New parser option.
39608 (%parse-param): Likewise.
39609 (script): Always return the AST.
39610 (argument): Pass the state around.
39611 (arguments): Likewise.
39612 (grubcmd): Likewise.
39613 (commands): Likewise.
39614 (function): Likewise.
39615 (menuentry): Likewise.
39616 (if_statement): Likewise.
39617 (if): Likewise.
39618
39619 * normal/script.c (grub_script_memused): Removed variable.
39620 (grub_script_parsed): Likewise.
39621 (grub_script_malloc): Added a state argument. Use that instead of
39622 global variables.
39623 (grub_script_mem_record): Likewise.
39624 (grub_script_mem_record_stop): Likewise.
39625 (grub_script_arg_add): Likewise.
39626 (grub_script_add_arglist): Likewise.
39627 (grub_script_create_cmdline): Likewise.
39628 (grub_script_create_cmdif): Likewise.
39629 (grub_script_create_cmdmenu): Likewise.
39630 (grub_script_add_cmd): Likewise.
39631 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 39632
e2a8c904 396332006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 39634
39635 * normal/command.c (grub_command_init): Remove the title command.
39636
39637 * normal/lexer.c (grub_script_yylex): Renamed from this...
39638 (grub_script_yylex2): ... to this.
39639 (grub_script_yylex): New function. Temporary
39640 introduced to filter some tokens.
39641 (grub_script_yyerror): Print a newline.
39642
39643 * normal/main.c (read_config_file): Output information about the
39644 lines that contain errors. Wait for a key after all lines have
39645 been processed. Don't return an empty menu.
39646
39647 * normal/parser.y (func_mem): Don't initialize.
39648 (menu_entry): Likewise.
39649 (err): New variable.
39650 (script): Don't return anything when an error was encountered.
39651 (ws, returns): Removed rules.
39652 (argument): Disabled concatenated variable support.
39653 (arguments): Remove explicit separators.
39654 (grubcmd): Likewise.
39655 (function): Likewise.
39656 (menuentry): Likewise.
39657 (if): Likewise.
39658 (commands): Likewise. Add error handling.
39659
39660 * normal/script.c (grub_script_create_cmdline): If
39661 `grub_script_parsed' is 0, assume the parser encountered an error.
39662
c9a86192 396632006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
39664
39665 * configure.ac: Add support for EFI. Fix the typo
39666 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
39667
70f3b243 396682006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39669
39670 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
39671 foreign multibyte characters should be shown correctly.
39672
65f201ad 396732006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39674
39675 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
39676 calculation.
39677 (read_config_file): Made it to close file before returning.
39678
b4b93674 396792006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
39680
39681 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
39682 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
39683 video/i386/pc/vbefill.c.
39684
39685 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
39686 video/i386/pc/vbefill.c.
39687
39688 * include/grub/video.h (grub_video_blit_format): New enum.
39689 (grub_video_mode_info): Added new member blit_format.
39690 (grub_video_get_blit_format): New function prototype.
39691
39692 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
39693 function prototype.
39694 (grub_video_vbe_map_rgb): Likewise.
39695 (grub_video_vbe_unmap_color): Likewise.
39696
39697 * include/grub/i386/pc/vbeblit.h: New file.
39698
39699 * include/grub/i386/pc/vbefill.h: New file.
39700
39701 * video/video.c (grub_video_get_blit_format): New function.
39702 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
39703 (grub_video_vbe_map_rgb): Likewise.
39704 (grub_video_vbe_unmap_color): Likewise.
39705
39706 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
39707 optimized fills.
39708 (grub_video_vbe_blit_render_target): Changed to use more optimized
39709 blits.
39710 (grub_video_vbe_setup): Added detection for optimized settings.
39711 (grub_video_vbe_create_render_target): Likewise.
39712
39713 * video/i386/pc/vbeblit.c: New file.
39714
39715 * video/i386/pc/vbefill.c: New file.
39716
c2379b9c 397172006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
39718
39719 * font/manager.c (grub_font_get_glyph): Removed font fixup from
39720 here...
39721
39722 * util/unifont2pff.rb: ... and moved it to here. Improved argument
39723 parsing to support both hex and dec ranges. If filename was missing
39724 show usage information.
39725
bd0d7896 397262006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
39727
39728 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
39729 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
39730
39731 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
39732 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
39733 (video_mod_SOURCES): Added.
39734 (video_mod_CFLAGS): Likewise.
39735 (video_mod_LDFLAGS): Likewise.
39736 (gfxterm_mod_SOURCES): Likewise.
39737 (gfxterm_mod_CFLAGS): Likewise.
39738 (gfxterm_mod_LDFLAGS): Likewise.
39739 (videotest_mod_SOURCES): Likewise.
39740 (videotest_mod_CFLAGS): Likewise.
39741 (videotest_mod_LDFLAGS): Likewise.
39742 (vesafb_mod_SOURCES): Removed.
39743 (vesafb_mod_CFLAGS): Likewise.
39744 (vesafb_mod_LDFLAGS): Likewise.
39745 (vga_mod_SOURCES): Likewise.
39746 (vga_mod_CFLAGS): Likewise.
39747 (vga_mod_LDFLAGS): Likewise.
39748
39749 * commands/videotest.c: New file.
39750
39751 * font/manager.c (fill_with_default_glyph): Modified to use
39752 grub_font_glyph.
39753 (grub_font_get_glyph): Likewise.
39754 (fontmanager): Renamed from this...
39755 (font_manager): ... to this.
39756
39757 * include/grub/font.h (grub_font_glyph): Added new structure.
39758 (grub_font_get_glyph): Modified to use grub_font_glyph.
39759
39760 * include/grub/misc.h (grub_abs): Added as inline function.
39761
39762 * include/grub/video.h: New file.
39763
39764 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
39765 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
39766 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
39767 (grub_vbe_get_controller_info): Renamed from this...
39768 (grub_vbe_bios_get_controller_info): ... to this.
39769 (grub_vbe_get_mode_info): Renamed from this...
39770 (grub_vbe_bios_get_mode_info): ... to this.
39771 (grub_vbe_set_mode): Renamed from this...
39772 (grub_vbe_bios_set_mode): ... to this.
39773 (grub_vbe_get_mode): Renamed from this...
39774 (grub_vbe_bios_get_mode): ... to this.
39775 (grub_vbe_set_memory_window): Renamed from this...
39776 (grub_vbe_bios_set_memory_window): ... to this.
39777 (grub_vbe_get_memory_window): Renamed from this...
39778 (grub_vbe_bios_get_memory_window): ... to this.
39779 (grub_vbe_set_scanline_length): Renamed from this...
39780 (grub_vbe_set_scanline_length): ... to this.
39781 (grub_vbe_get_scanline_length): Renamed from this...
39782 (grub_vbe_bios_get_scanline_length): ... to this.
39783 (grub_vbe_set_display_start): Renamed from this...
39784 (grub_vbe_bios_set_display_start): ... to this.
39785 (grub_vbe_get_display_start): Renamed from this...
39786 (grub_vbe_bios_get_display_start): ... to this.
39787 (grub_vbe_set_palette_data): Renamed from this...
39788 (grub_vbe_bios_set_palette_data): ... to this.
39789 (grub_vbe_set_pixel_rgb): Removed.
39790 (grub_vbe_set_pixel_index): Likewise.
39791
39792 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
39793 from this...
39794 (grub_vbe_bios_get_controller_info): ... to this.
39795 (grub_vbe_get_mode_info): Renamed from this...
39796 (grub_vbe_bios_get_mode_info): ... to this.
39797 (grub_vbe_set_mode): Renamed from this...
39798 (grub_vbe_bios_set_mode): ... to this.
39799 (grub_vbe_get_mode): Renamed from this...
39800 (grub_vbe_bios_get_mode): ... to this.
39801 (grub_vbe_set_memory_window): Renamed from this...
39802 (grub_vbe_bios_set_memory_window): ... to this.
39803 (grub_vbe_get_memory_window): Renamed from this...
39804 (grub_vbe_bios_get_memory_window): ... to this.
39805 (grub_vbe_set_scanline_length): Renamed from this...
39806 (grub_vbe_set_scanline_length): ... to this.
39807 (grub_vbe_get_scanline_length): Renamed from this...
39808 (grub_vbe_bios_get_scanline_length): ... to this.
39809 (grub_vbe_set_display_start): Renamed from this...
39810 (grub_vbe_bios_set_display_start): ... to this.
39811 (grub_vbe_get_display_start): Renamed from this...
39812 (grub_vbe_bios_get_display_start): ... to this.
39813 (grub_vbe_set_palette_data): Renamed from this...
39814 (grub_vbe_bios_set_palette_data): ... to this.
39815 (grub_vbe_bios_get_controller_info): Fixed problem with registers
39816 getting corrupted after calling it. Added more pushes and pops.
39817 (grub_vbe_bios_set_mode): Likewise.
39818 (grub_vbe_bios_get_mode): Likewise.
39819 (grub_vbe_bios_get_memory_window): Likewise.
39820 (grub_vbe_bios_set_scanline_length): Likewise.
39821 (grub_vbe_bios_get_scanline_length): Likewise.
39822 (grub_vbe_bios_get_display_start): Likewise.
39823 (grub_vbe_bios_set_palette_data): Likewise.
39824
39825 * normal/cmdline.c (cl_set_pos): Refresh the screen.
39826 (cl_insert): Likewise.
39827 (cl_delete): Likewise.
39828
39829 * term/gfxterm.c: New file.
39830
39831 * term/i386/pc/vesafb.c: Removed file.
39832
39833 * video/video.c: New file.
39834
39835 * video/i386/pc/vbe.c (real2pm): Added new function.
39836 (grub_video_vbe_draw_pixel): Likewise.
39837 (grub_video_vbe_get_video_ptr): Likewise.
39838 (grub_video_vbe_get_pixel): Likewise
39839 (grub_video_vbe_init): Likewise.
39840 (grub_video_vbe_fini): Likewise.
39841 (grub_video_vbe_setup): Likewise.
39842 (grub_video_vbe_get_info): Likewise.
39843 (grub_video_vbe_set_palette): Likewise.
39844 (grub_video_vbe_get_palette): Likewise.
39845 (grub_video_vbe_set_viewport): Likewise.
39846 (grub_video_vbe_get_viewport): Likewise.
39847 (grub_video_vbe_map_color): Likewise.
39848 (grub_video_vbe_map_rgb): Likewise.
39849 (grub_video_vbe_map_rgba): Likewise.
39850 (grub_video_vbe_unmap_color): Likewise.
39851 (grub_video_vbe_fill_rect): Likewise.
39852 (grub_video_vbe_blit_glyph): Likewise.
39853 (grub_video_vbe_blit_bitmap): Likewise.
39854 (grub_video_vbe_blit_render_target): Likewise.
39855 (grub_video_vbe_scroll): Likewise.
39856 (grub_video_vbe_swap_buffers): Likewise.
39857 (grub_video_vbe_create_render_target): Likewise.
39858 (grub_video_vbe_delete_render_target): Likewise.
39859 (grub_video_vbe_set_active_render_target): Likewise.
39860 (grub_vbe_set_pixel_rgb): Remove function.
39861 (grub_vbe_set_pixel_index): Likewise.
39862 (index_color_mode): Remove static variable.
39863 (active_mode): Likewise.
39864 (framebuffer): Likewise.
39865 (bytes_per_scan_line): Likewise.
39866 (grub_video_vbe_adapter): Added new static variable.
39867 (framebuffer): Likewise.
39868 (render_target): Likewise.
39869 (initial_mode): Likewise.
39870 (mode_in_use): Likewise.
39871 (mode_list): Likewise.
39872
5f97350b 398732006-03-10 Marco Gerards <marco@gnu.org>
39874
39875 * configure.ac (AC_INIT): Bumped to 1.93.
39876
39877 * DISTLIST: Added `include/grub/hfs.h'.
39878
a3c5c6f8 398792006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
39880
39881 * boot/i386/pc/boot.S (general_error): Before looping, try INT
39882 18H, which might help the BIOS falling back to next boot media.
39883
6de53d26 398842006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
39885
39886 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
39887 Poe Chen <poe.poechen@gmail.com>.
39888
77c4a393 398892006-01-17 Marco Gerards <marco@gnu.org>
39890
39891 * include/grub/normal.h: Include <grub/script.h>.
39892 (grub_command_list): Removed struct.
39893 (grub_command_list_t): Removed type.
39894 (grub_menu_entry): Remove members `num' and `command_list'. Add
39895 members `commands' and `sourcecode'.
39896 * include/grub/script.h: Add inclusion guards.
39897 (grub_script_cmd_menuentry): New struct.
39898 (grub_script_execute_menuentry): New prototype.
39899 (grub_script_lexer_record_start): Likewise.
39900 (grub_script_lexer_record_stop): Likewise.
39901 * normal/execute.c (grub_script_execute_menuentry): New function.
39902 * normal/lexer.c (record, recording, recordpos, recordlen): New
39903 variables.
39904 (grub_script_lexer_record_start): New function.
39905 (grub_script_lexer_record_stop): Likewise.
39906 (recordchar): Likewise.
39907 (nextchar): Likewise.
39908 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
39909 2048 as the buffer size. Add the tokens `menuentry' and `@'.
39910 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
39911 (current_menu): New variable.
39912 (free_menu): Mainly rewritten.
39913 (grub_normal_menu_addentry): New function.
39914 (read_config_file): Rewritten.
39915 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 39916 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 39917 the menu entry.
39918 (run): Mainly rewritten.
39919 * normal/parser.y (menu_entry): New variable.
39920 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
39921 (menuentry): New rule.
39922 (command): Add `menuentry'.
39923 (if_statement): Allow additional returns before `fi'.
39924 * normal/script.c (grub_script_create_cmdmenu): New function.
39925
144f1f98 399262006-01-03 Marco Gerards <marco@gnu.org>
39927
39928 * INSTALL: GNU Bison is required.
39929 * configure.ac: Rewritten the test to detect Bison.
39930 * Makefile.in (YACC): New variable. Reported by Xun Sun
39931 <xun.sun.cn@gmail.com>.
39932
af4b2d89 399332006-01-03 Marco Gerards <marco@gnu.org>
39934
39935 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
39936 the HFS+ filesystem to filesystem blocks.
39937 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
39938 GCC warning is silenced.
39939
15643b71 399402006-01-03 Marco Gerards <marco@gnu.org>
39941
39942 * partmap/apple.c (apple_partition_map_iterate): Convert the data
39943 read from disk from big endian to host byte order.
39944
00905879 399452006-01-03 Hollis Blanchard <hollis@penguinppc.org>
39946
39947 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
39948 documentation.
39949 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
39950 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
39951 embedded HFS+ filesystem.
39952 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
39953 (grub_hfs_sblock): Move from here...
39954 * include/grub/hfs.h: To here... New file.
39955 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
39956 documentation.
39957 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
39958 New macros.
39959 (grub_hfsplus_volheader): Change type of member `magic' to
39960 `grub_uint16_t'.
39961 (grub_hfsplus_data): Add new member `embedded_offset'.
39962 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
39963 returned block.
39964 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
39965 Calculate the offset.
39966
8899bc3e 399672005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39968
39969 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
39970 Removed.
39971 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
39972
ae8c0277 399732005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39974
39975 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
39976 ENV->NAME is NULL after allocating ENV->VALUE.
39977
07084456 399782005-12-25 Marco Gerards <marco@gnu.org>
39979
39980 * kern/env.c (grub_env_set): Rewritten the error handling code.
39981
4750f5f1 399822005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39983
39984 * geninit.sh: Made more robust, and more portable.
39985
50214199 399862005-12-25 Marco Gerards <marco@gnu.org>
39987
39988 Add support for Apple HFS+ filesystems.
f19dbdb7 39989
50214199 39990 * fs/hfsplus.c: New file.
39991
39992 * DISTLIST: Added `fs/hfsplus.c'.
39993
39994 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
39995 (hfsplus_mod_SOURCES): New variable.
39996 (hfsplus_mod_CFLAGS): Likewise.
39997 (hfsplus_mod_LDFLAGS): Likewise.
39998 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
39999 (grub_setup_SOURCES): Likewise.
40000 (grub_mkdevicemap_SOURCES): Likewise.
40001 (grub_emu_SOURCES): Likewise.
40002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40003
40004 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
40005
40006 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
40007
befaed6c 400082005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40009
40010 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
40011 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
40012 include/grub/parser.h, include/grub/script.h, kern/parser.c,
40013 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
40014 normal/lexer.c, normal/parser.y, normal/script.c, and
40015 partmap/gpt.c.
40016 Removed kern/sparc64/cache.c.
40017
40018 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
40019 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
40020 grub_emu_init.c.
40021
40022 * configure.ac (AC_INIT): Bumped to 1.92.
40023
6a124103 400242005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
40025
40026 * kern/err.c (grub_error_push): Added new function to support error
40027 stacks.
40028 (grub_error_pop): Likewise.
40029 (grub_error_stack_items): New local variable to support error stacks.
40030 (grub_error_stack_pos): Likewise.
40031 (grub_error_stack_assert): Likewise.
40032 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
40033 stack depth.
40034 (grub_print_error): Added support to print errors from error stack.
40035
40036 * include/grub/err.h (grub_error_push): Added function prototype.
40037 (grub_error_pop): Likewise.
40038
be973c1b 400392005-12-09 Hollis Blanchard <hollis@penguinppc.org>
40040
40041 * configure.ac: Accept `powerpc64' as host_cpu.
40042 (amd64): Rename to `biarch32'.
40043
40044 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
40045 non-cacheline-aligned addresses.
40046
40047 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
40048 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
40049 if `size' is non-zero.
40050
b04216ab 400512005-12-03 Marco Gerards <mgerards@xs4all.nl>
40052
40053 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
40054 and `cd' to make sure the filename is not prefixed with a
40055 directory name.
40056 (pkgdata_MODULES): Add `gpt.mod'.
40057 (gpt_mod_SOURCES): New variable.
40058 (gpt_mod_CFLAGS): Likewise.
40059 (gpt_mod_LDFLAGS): Likewise.
40060
40061 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
40062
40063 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
40064 New macro.
40065
40066 * partmap/gpt.c: New file.
40067
40068 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
40069 GPT partition map is detected.
40070
41730ed9 400712005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
40072
40073 * commands/i386/pc/play.c: New file.
40074 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
40075 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
40076 macros.
f19dbdb7 40077
95dc3643 400782005-11-27 Marco Gerards <mgerards@xs4all.nl>
40079
40080 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
40081 ((unused))' to silence gcc warning.
40082
1569ec51 400832005-11-26 Hollis Blanchard <hollis@penguinppc.org>
40084
40085 * configure.ac: Correct `AC_PROG_YACC' test.
40086
9abde152 400872005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40088
40089 * util/powerpc/ieee1275/grub-install.in: Run the mount point
40090 check before installing files.
40091
44b83271 400922005-11-22 Mike Small <smallm@panix.com>
40093
40094 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
40095 number regex so multidigit numbers are recognized correctly.
40096
400972005-11-22 Mike Small <smallm@panix.com>
40098
40099 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
40100 debugging message before attempting to claim memory.
40101 (grub_rescue_cmd_initrd): Add a claim debugging message and try
40102 multiple addresses in case of failure.
40103
9c12956b 401042005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40105
40106 * term/tparm.c (get_space): Remove empty `if' statement.
40107
40108 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
40109
40110 * kern/parser.c (check_varstate): Rename `state' to 's'.
40111
aeaf81d9 401122005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40113
40114 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
40115 variable definitions to the beginning of each function. Sort stack
40116 variables by size.
40117 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
40118 `buf' argument to `char *'.
40119
79bbb63f 401202005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40121
40122 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
40123 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40124 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 40125 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40126 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40127 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40128 configfile.mod, search.mod, gzio.mod and test.mod.
40129 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40130 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40131 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40132 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40133 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40134 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40135 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40136 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40137 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40138 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40139 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40140 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40141 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40142 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40143 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40144 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40145 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40146 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40147 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40148 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40149 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40150 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40151 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
40152
40153 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
40154 `grep --include'.
40155 (pkgdata_MODULES): Add test.mod.
40156
233b1628 401572005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40158
40159 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
40160 appending to variables with "+=".
40161 (PModule): Use full pathname to generate *.lst filenames.
40162
40163 * Makefile.in: Fixed list rules moved from genmk.rb.
40164 (.DELETE_ON_ERROR): New special target.
40165 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
40166
40167 * conf/i386-pc.rmk: Include conf/common.mk.
40168 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40169 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 40170 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40171 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40172 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40173 configfile.mod, search.mod, gzio.mod and test.mod.
40174 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40175 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40176 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40177 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40178 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40179 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40180 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40181 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40182 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40183 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40184 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40185 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40186 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40187 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40188 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40189 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40190 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40191 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40192 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40193 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40194 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40195 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40196 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
40197 here...
40198 * conf/common.rmk: ... to here. New file.
40199
40200 * conf/common.mk: New file.
40201
16f820c8 402022005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
40203
40204 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
40205 (grub_script.tab.c): ... here.
40206
40207 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
40208 (grub_script.tab.c): ... here.
40209
40210 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
40211 (grub_script.tab.c): ... here.
40212
40213 * normal/command.c (grub_command_find): Fixed a memory leak of
40214 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
40215
63ba1554 402162005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40217
40218 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
40219 "@" which marks the start of a comment on ARM.
40220 (VARIABLE): Likewise.
40221
7f67dc13 402222005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40223
79bbb63f 40224 Add support for Linux/ADFS partition tables.
7f67dc13 40225
40226 * partmap/acorn.c: New file.
40227
40228 * include/grub/acorn_filecore.h: Likewise.
40229
40230 * DISTLIST: Added `partmap/acorn.c' and
40231 `include/grub/acorn_filecore.h'.
f19dbdb7 40232
7f67dc13 40233 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40234 `partmap/acorn.c'.
40235 (pkgdata_MODULES): Add `acorn.mod'.
40236 (acorn_mod_SOURCES): New variable.
40237 (acorn_mod_CFLAGS): Likewise.
40238
40239 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40240 `partmap/acorn.c'.
40241 (pkgdata_MODULES): Add `acorn.mod'.
40242 (acorn_mod_SOURCES): New variable.
40243 (acorn_mod_CFLAGS): Likewise.
40244
40245 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
40246 (pkgdata_MODULES): Add `acorn.mod'.
40247 (acorn_mod_SOURCES): New variable.
40248 (acorn_mod_CFLAGS): Likewise.
40249 (acorn_mod_LDFLAGS): Likewise.
40250
40251 * include/types.h (grub_disk_addr_t): New typedef.
40252
6d099807 402532005-11-13 Marco Gerards <mgerards@xs4all.nl>
40254
40255 * geninit.sh: New file.
40256
40257 * geninitheader.sh: Likewise.
40258
40259 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
40260 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
40261 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
40262 * commands/configfile.c (grub_configfile_init)
40263 (grub_configfile_fini): Likewise.
40264 * commands/default.c (grub_default_init, grub_default_fini):
40265 Likewise.
40266 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
40267 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
40268 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
40269 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
40270 Likewise.
40271 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
40272 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
40273 Likewise.
40274 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 40275 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 40276 Likewise.
40277 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40278 Likewise.
fe6b695a 40279 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 40280 Likewise.
40281 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40282 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40283 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40284 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40285 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40286 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40287 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40288 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40289 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40290 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40291 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40292 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40293 * partmap/amiga.c (grub_amiga_partition_map_init)
40294 (grub_amiga_partition_map_fini): Likewise.
40295 * partmap/apple.c (grub_apple_partition_map_init)
40296 (grub_apple_partition_map_fini): Likewise.
40297 * partmap/pc.c (grub_pc_partition_map_init)
40298 (grub_pc_partition_map_fini): Likewise.
40299 * partmap/sun.c (grub_sun_partition_map_init,
40300 grub_sun_partition_map_fini): Likewise.
40301 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40302 Likewise.
40303
40304 * util/grub-emu.c: Include <grub_modules_init.h>.
40305 (main): Don't initialize and de-initialize any modules directly,
40306 use `grub_init_all' and `grub_fini_all' instead.
40307
40308 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40309 `grub_vesafb_mod_init'.
40310 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40311 all users.
40312 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40313 `grub_vga_mod_init'. Updated all users.
40314 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 40315
6d099807 40316 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40317 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40318 rules.
40319
40320 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40321 Generate a function to initialize the module in utilities.
40322 Updated all callers.
40323 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40324 initialize the module in utilities. Updated all callers.
40325
9046bcf0 403262005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40327
40328 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40329 escape sequence and a literal ^L to clear the screen.
40330
40331 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40332 when returning from Open Firmware.
40333
d13ea639 403342005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40335
40336 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40337 (grub_ofconsole_height): Likewise.
40338 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
40339 manually insert a '\n'.
40340 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
40341 `grub_ofconsole_height'. Return early if these are already set.
40342
a8fcf206 403432005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
40344
40345 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40346 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
40347 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
40348 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
40349 and `normal/script.c'.
40350 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40351 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40352 (test_mod_SOURCES): New variable.
40353 (test_mod_CFLAGS): Likewise.
40354 (test_mod_LDFLAGS): Likewise.
40355 (pkgdata_MODULES): Add `test.mod'.
40356 (grub_script.tab.c): New rule.
40357 (grub_script.tab.h): Likewise.
40358
b6b32745 403592005-11-07 Marco Gerards <mgerards@xs4all.nl>
40360
40361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40362 `commands/test.c', `normal/execute.c', `normal/lexer.c',
40363 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40364 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40365 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40366 (test_mod_SOURCES): New variable.
40367 (test_mod_CFLAGS): Likewise.
40368 (pkgdata_MODULES): Add `test.mod'.
40369 (grub_script.tab.c): New rule.
40370 (grub_script.tab.h): Likewise.
40371
daac212a 403722005-11-06 Marco Gerards <mgerards@xs4all.nl>
40373
40374 Add initial scripting support.
40375
40376 * commands/test.c: New file.
40377 * include/grub/script.h: Likewise.
40378 * normal/execute.c: Likewise.
40379 * normal/function.c: Likewise.
40380 * normal/lexer.c: Likewise.
40381 * normal/parser.y: Likewise.
40382 * normal/script.c: Likewise.
40383
40384 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 40385
daac212a 40386 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
40387 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
40388 `normal/function.c' and `normal/script.c'.
40389 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40390 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 40391 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
40392 variables.
daac212a 40393 (pkgdata_MODULES): Add `test.mod'.
40394 (grub_script.tab.c): New rule.
40395 (grub_script.tab.h): Likewise.
40396
40397 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
40398
40399 * include/grub/normal.h (grub_test_init): New prototype.
40400 (grub_test_fini): Likewise.
f19dbdb7 40401
daac212a 40402 * normal/command.c: Include <grub/script.h>.
40403 (grub_command_execute): Rewritten.
f19dbdb7 40404
daac212a 40405 * util/grub-emu.c (main): Call `grub_test_init' and
40406 `grub_test_fini'.
40407
77500b2b 404082005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40409
40410 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
40411 to 0.
40412 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
40413 there are no pending characters.
40414
e45deb9e 404152005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40416
40417 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
40418 `grub_strndup' to drop device arguments. Replace unnecessary
40419 `grub_strndup' with `grub_strdup'.
40420
4ce32619 404212005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40422
40423 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
40424 `debug' environment variable has been set.
40425
404262005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40427
4ce32619 40428 * Makefile.in (install-local): Use $(DATA).
40429 (uninstall): Likewise.
40430 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
40431 (sbin_UTILITIES): ... to here.
40432 (sbin_SCRIPTS): New variable.
40433 (grub_install_SOURCES): New variable.
40434 * util/powerpc/ieee1275/grub-install.in: New file.
40435 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
40436 variable.
40437 (add_segments): Call `grub_util_get_path'.
40438
25fe6f03 404392005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40440
40441 From Timothy Baldwin:
40442 * commands/ls.c (grub_ls_list_files): Close FILE with
40443 grub_file_close.
40444 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
40445
04ccf3ec 404462005-10-24 Marco Gerards <mgerards@xs4all.nl>
40447
40448 * include/grub/parser.h: New file.
40449
40450 * kern/parser.c: Likewise.
40451
40452 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
40453 (grub_setup_SOURCES): Likewise.
40454 (grub_probefs_SOURCES): Likewise.
40455 (grub_emu_SOURCES): Likewise.
40456 (kernel_img_HEADERS): Add `parser.h'.
40457
40458 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40459 (grub_emu_SOURCES): Add `kern/parser.c'.
40460 (grubof_SOURCES): Likewise.
40461
40462 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40463 (grubof_SOURCES): Add `kern/parser.c'.
40464
40465 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
40466
40467 * kern/misc.c (grub_split_cmdline): Removed function.
40468
40469 * kern/rescue.c: Include <grub/parser.h>.
40470 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
40471 of `grub_split_cmdline'.
40472
40473 * normal/command.c: Include <grub/parser.h>.
40474 (grub_command_execute): Use `grub_parser_split_cmdline' instead
40475 of `grub_split_cmdline'.
40476
40477 * normal/completion.c: Include <grub/parser.h>.
40478 (cmdline_state): New variable.
40479 (iterate_dir): End the filename with a quote depending on the
40480 command line state.
40481 (get_state): new function.
40482 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
40483 split the arguments and determine the current argument. When the
40484 argument string is not quoted, escape all spaces.
40485
6d8f4b0e 404862005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40487
40488 * normal/sparc64/setjmp.S: New file.
40489
15cf03ed 404902005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40491
40492 * include/grub/sparc64/libgcc.h: New file.
40493 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
40494 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
40495 normal/sparc64/setjmp.c.
40496
03e8661a 404972005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40498
40499 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
40500 * kern/sparc64/cache.S: New file.
40501 * kern/sparc64/cache.c: Removed.
40502 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
40503 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
40504 -mtune=ultrasparc.
40505 (COMMON_LDFLAGS): Add -melf64_sparc.
40506 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
40507 (grubof_SOURCES): Use cache.S instead of cache.c.
40508 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
40509 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
40510 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
40511 commented though.
40512 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
40513 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
40514 (linux_mod_CFLAGS): Commented out.
40515 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
40516 out because module isn't built.
40517 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
40518 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
40519 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
40520 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
40521 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
40522 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40523 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40524 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
40525 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
40526 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
40527 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40528 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40529 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
40530 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
40531
34eeec8a 405322005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
40533
40534 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
40535 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
40536 longer, because HFS should not be used on PC.
40537
708367a3 405382005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40539
40540 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
40541 consistently within the loop.
40542
6fa1251a 405432005-10-15 Marco Gerards <mgerards@xs4all.nl>
40544
40545 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
40546 directory can not be read.
40547
4801580b 405482005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40549
40550 * configure.ac (AC_INIT): Increase the version number to 1.91.
40551
40552 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
40553 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
40554 term/i386/pc/serial.c.
40555
219ad426 405562005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40557
40558 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
40559 file size must be permitted.
40560
40561 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
40562 between %ah and %al.
40563
688e5699 405642005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40565
40566 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
40567 grub_uint64_t.
40568 Call the hook with a NUL-terminated filename.
40569 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
40570 grub_cpu_to_be32.
40571
40572 * kern/term.c (cursor_state): New variable.
40573 (grub_term_set_current): Reset the cursor state on a new
40574 terminal.
40575 (grub_setcursor): Rewritten to use CURSOR_STATE.
40576 (grub_getcursor): New function.
40577
40578 * include/grub/term.h (grub_getcursor): New prototype.
40579
40580 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
40581 integers on ARM. Reported by Timothy Baldwin
40582 <T.E.Baldwin99@members.leeds.ac.uk>.
40583
bb34586c 405842005-10-11 Marco Gerards <mgerards@xs4all.nl>
40585
40586 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
40587 allocated.
40588 (grub_sfs_dir): Likewise.
40589
9a909877 405902005-10-09 Marco Gerards <mgerards@xs4all.nl>
40591
40592 Add support for the SFS filesystem.
40593
40594 * fs/sfs.c: New file.
40595
40596 * DISTLIST: Added `fs/sfs.c'.
40597
40598 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
40599 (grub_probefs_SOURCES): Likewise.
40600 (grub_emu_SOURCES): Likewise.
40601 (pkgdata_MODULES): Add `sfs.mod'.
40602 (sfs_mod_SOURCES): New variable.
40603 (sfs_mod_CFLAGS): Likewise.
40604 (sfs_mod_LDFLAGS): Likewise.
40605
40606 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
40607 (pkgdata_MODULES): Add `sfs.mod'.
40608 (sfs_mod_SOURCES): New variable.
40609 (sfs_mod_CFLAGS): Likewise.
40610
40611 * util/grub-emu.c (main): Call `grub_sfs_init' and
40612 `grub_sfs_fini'.
40613
40614 * include/grub/fs.h (grub_sfs_init): New prototype.
40615 (grub_sfs_fini): Likewise.
40616
57bdbde3 406172005-10-07 Marco Gerards <mgerards@xs4all.nl>
40618
40619 Add support for the AFFS filesystem.
40620
40621 * fs/affs.c: New file.
40622
40623 * DISTLIST: Added `fs/affs.c'.
40624
40625 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
40626 (grub_probefs_SOURCES): Likewise.
40627 (grub_emu_SOURCES): Likewise.
40628 (pkgdata_MODULES): Add `affs.mod'.
40629 (affs_mod_SOURCES): New variable.
40630 (affs_mod_CFLAGS): Likewise.
40631 (affs_mod_LDFLAGS): Likewise.
40632
40633 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
40634 (pkgdata_MODULES): Add `affs.mod'.
40635 (affs_mod_SOURCES): New variable.
40636 (affs_mod_CFLAGS): Likewise.
40637
40638 * util/grub-emu.c (main): Call `grub_affs_init' and
40639 `grub_affs_fini'.
40640
40641 * include/grub/fs.h (grub_affs_init): New prototype.
40642 (grub_affs_fini): Likewise.
40643
047b67e0 406442005-10-01 Marco Gerards <mgerards@xs4all.nl>
40645
40646 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
40647
59b8208a 406482005-10-01 Marco Gerards <mgerards@xs4all.nl>
40649
40650 * configure.ac: Accept `x86_64' as host_cpu. In that case add
40651 `-m32' to CFLAGS.
40652
40653 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
40654 linking.
f19dbdb7 40655
59b8208a 40656 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
40657 (COMMON_LDFLAGS): New variable.
40658 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
40659 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
40660 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
40661 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
40662 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
40663 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
40664 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
40665 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
40666 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
40667 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
40668 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40669 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40670 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
40671 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
40672 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
40673 variables.
40674 (normal_mod_ASFLAGS): Add `-m32'.
40675
40676 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
40677 (grub_host_size_t, grub_host_ssize_t): New types.
40678 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 40679 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 40680 `GRUB_HOST_SIZEOF_VOID_P'.
40681
40682 * include/grub/kernel.h (struct grub_module_header): Type of
40683 member offset changed to `grub_host_off_t'. Type of member size
40684 changed to `grub_host_size_t'.
40685 (struct grub_module_info): Type of member offset changed to
40686 `grub_host_off_t'. Type of member size changed to
40687 `grub_host_size_t'.
40688
b4093103 406892005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
40690
40691 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 40692
b4093103 40693 * kern/i386/pc/startup.S (multiboot_header): New label.
40694 (multiboot_entry): Likewise.
40695 (multiboot_trampoline): Likewise.
40696
40697 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40698 Increased to 0x4A0.
40699
40700 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
40701 put parentheses after a question mark.
40702 [!GRUB_UTIL] (my_mod): New variable.
40703
40704 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
40705
b2499b29 407062005-09-28 Marco Gerards <mgerards@xs4all.nl>
40707
40708 Adds support for the XFS filesystem. Btrees are not supported
40709 yet.
40710
40711 * fs/xfs.c: New file.
40712
40713 * DISTLIST: Added `fs/xfs.c'.
40714
40715 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
40716 (grub_probefs_SOURCES): Likewise.
40717 (grub_emu_SOURCES): Likewise.
40718 (pkgdata_MODULES): Add `xfs.mod'.
40719 (xfs_mod_SOURCES): New variable.
40720 (xfs_mod_CFLAGS): Likewise.
40721
40722 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
40723 (pkgdata_MODULES): Add `xfs.mod'.
40724 (xfs_mod_SOURCES): New variable.
40725 (xfs_mod_CFLAGS): Likewise.
40726
40727 * util/grub-emu.c (main): Call `grub_xfs_init' and
40728 `grub_xfs_fini'.
40729
40730 * include/grub/fs.h (grub_xfs_init): New prototype.
40731 (grub_xfs_fini): Likewise.
40732
f19dbdb7 40733
83d37a62 407342005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
40735
40736 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
40737 color modes, allow greater than 16 colors to be configured as
40738 a default palette.
40739
47d2d65e 407402005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40741
40742 * normal/completion.c (complete_arguments): Add the qualifier
40743 const into OPTIONS.
40744
40745 From Omniflux <omniflux+lists@omniflux.com>:
40746 * include/grub/terminfo.h: New file.
40747 * include/grub/tparm.h: Likewise.
40748 * include/grub/i386/pc/serial.h: Likewise.
40749 * term/terminfo.c: Likewise.
40750 * term/tparm.c: Likewise.
40751 * term/i386/pc/serial.c: Likewise.
40752 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
40753 serial.mod.
40754 (terminfo_mod_SOURCES): New variable.
40755 (terminfo_mod_CFLAGS): Likewise.
40756 (serial_mod_SOURCES): Likewise.
40757 (serial_mod_CFLAGS): Likewise.
40758
48b671ff 407592005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
40760
40761 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
40762 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
40763 and kern/powerpc/ieee1275/cmain.c, respectively.
40764
40765 * boot/powerpc/ieee1275/crt0.S: Moved to ...
40766 * kern/powerpc/ieee1275/crt0.S: ... here.
40767
40768 * boot/powerpc/ieee1275/cmain.c: Moved to ...
40769 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 40770
48b671ff 40771 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
40772 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
40773 instead of boot/powerpc/ieee1275/crt0.S and
40774 boot/powerpc/ieee1275/cmain.c, respectively.
40775
40776 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
40777 sectors. It was not used anyway.
40778
09fc77a7 407792005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40780
40781 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
40782 `unused parameter' warning.
40783
003789c7 407842005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40785
40786 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
40787 function.
40788 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
40789 getcharwidth.
40790
67f44c86 407912005-08-28 Marco Gerards <metgerards@student.han.nl>
40792
40793 * include/grub/normal.h (enum grub_completion_type): Added
40794 `GRUB_COMPLETION_TYPE_ARGUMENT'.
40795
40796 * normal/cmdline.c (print_completion): Handle
40797 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
40798 * normal/menu_entry.c (store_completion): Likewise.
40799
40800 * normal/completion.c (complete_arguments): New function.
40801 (grub_normal_do_completion): Call `complete_arguments' when the
40802 current words start with a dash.
40803
0b5abe02 408042005-08-27 Marco Gerards <metgerards@student.han.nl>
40805
40806 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
40807 `gzio.mod' instead of `io.mod').
40808
d9864ee1 408092005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
40810
40811 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
40812 (DISTDIRS): Added io and video.
40813 Rewrite the search routine to make an output consistently.
40814
40815 * DISTLIST: Added conf/sparc64-ieee1275.mk,
40816 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
40817 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
40818 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
40819 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
40820 util/powerpc/ieee1275/misc.c.
f19dbdb7 40821
d9864ee1 40822 * include/grub/gzio.h: New file.
40823 * io/gzio.c: Likewise.
f19dbdb7 40824
d9864ee1 40825 * kern/file.c (grub_file_close): Call grub_device_close only if
40826 FILE->DEVICE is not NULL.
40827
40828 * include/grub/mm.h [!NULL] (NULL): New macro.
40829
40830 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
40831
40832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
40833 (pkgdata_MODULES): Added gzio.mod.
40834 (gzio_mod_SOURCES): New variable.
40835 (gzio_mod_CFLAGS): Likewise.
40836
40837 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
40838 (pkgdata_MODULES): Added gzio.mod.
40839 (gzio_mod_SOURCES): New variable.
40840 (gzio_mod_CFLAGS): Likewise.
40841
40842 * commands/cat.c: Include grub/gzio.h.
40843 (grub_cmd_cat): Use grub_gzfile_open instead of
40844 grub_file_open.
f19dbdb7 40845
d9864ee1 40846 * commands/cmp.c: Include grub/gzio.h.
40847 (grub_cmd_cmp): Use grub_gzfile_open instead of
40848 grub_file_open.
40849
40850 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
40851 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
40852 grub_file_open.
40853 (grub_rescue_cmd_module): Likewise.
40854
fa46f4b5 408552005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40856
40857 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
40858 kern/sparc64/ieee1275/init.c because it contains _start.
40859 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
40860
e9211b5d 408612005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40862
40863 * configure.ac: Add support for sparc64 host with ieee1275
40864 firmware.
40865 * configure: Generated from configure.ac.
40866 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
40867 instead of int.
40868 (grub_ofdisk_read): Likewise.
40869 (grub_ofdisk_open): Use %p to print pointer values, and cast the
40870 pointers as (void *) to remove a warning.
40871 (grub_ofdisk_close): Likewise.
40872 (grub_ofdisk_read): Likewise.
40873 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
40874 returns, so make it return void to remove a warning.
40875 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
40876 Corresponding prototype change.
40877 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
40878 values, and cast the pointers as (void *) to remove a warning.
40879 (grub_mm_dump): Likewise.
40880 * conf/sparc64-ieee1275.mk: New file.
40881 * conf/sparc64-ieee1275.rmk: Likewise.
40882 * include/grub/sparc64/setjmp.h: Likewise.
40883 * include/grub/sparc64/types.h: Likewise.
40884 * include/grub/sparc64/ieee1275/console.h: Likewise.
40885 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40886 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40887 * include/grub/sparc64/ieee1275/time.h: Likewise.
40888 * kern/sparc64/cache.c: Likewise.
40889 * kern/sparc64/dl.c: Likewise.
40890 * kern/sparc64/ieee1275/init.c: Likewise.
40891 * kern/sparc64/ieee1275/openfw.c: Likewise.
40892
385c6a92 408932005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
40894
40895 * util/console.c (grub_ncurses_putchar): If C is greater than
40896 0x7f, set C to a question mark.
40897 (grub_ncurses_getcharwidth): New function.
40898 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
40899 getcharwidth.
40900
40901 * normal/menu.c (print_entry): Made aware of Unicode. First,
40902 convert TITLE to UCS-4, and predict the cursor position by
40903 grub_getcharwidth.
40904
40905 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
40906 const to SRC.
40907 * kern/misc.c (grub_utf16_to_utf8): Likewise.
40908
16ccb8b1 409092005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40910
40911 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
40912 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40913 grub_strcat.
40914
40915 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
40916 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40917 grub_strcpy and grub_strlen. Take it into account that a space
40918 character is inserted as a delimiter.
40919
6a85ce79 409202005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40921
40922 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 40923 invalid magic in the error.
6a85ce79 40924
40925 * commands/search.c: New file.
f19dbdb7 40926
6a85ce79 40927 * util/grub-emu.c (main): Call grub_search_init and
40928 grub_search_fini.
40929
40930 * kern/rescue.c (grub_rescue_print_disks): Removed.
40931 (grub_rescue_print_devices): New function.
40932 (grub_rescue_cmd_ls): Use grub_device_iterate with
40933 grub_rescue_print_devices instead of grub_disk_dev_iterate with
40934 grub_rescue_print_disks.
40935
40936 * kern/partition.c (grub_partition_iterate): Return the result of
40937 PARTMAP->ITERATE instead of GRUB_ERRNO.
40938
40939 * kern/device.c: Include grub/partition.h.
40940 (grub_device_iterate): New function.
40941
40942 * include/grub/partition.h (grub_partition_iterate): Return int
40943 instead of grub_err_t.
40944
40945 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
40946 prototype.
40947 [GRUB_UTIL] (grub_search_fini): Likewise.
40948
40949 * include/grub/device.h (grub_device_iterate): New prototype.
40950
40951 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40952 commands/search.c.
40953 (pkgdata_MODULES): Added search.mod.
40954 (search_mod_SOURCES): New variable.
40955 (search_mod_CFLAGS): Likewise.
40956
40957 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
40958 (pkgdata_MODULES): Added search.mod.
40959 (search_mod_SOURCES): New variable.
40960 (search_mod_CFLAGS): Likewise.
40961
40962 * commands/ls.c (grub_ls_list_disks): Renamed to ...
40963 (grub_ls_list_devices): ... this, and use grub_device_iterate.
40964 All callers changed.
40965
40966 * DISTLIST: Added commands/search.c.
40967
ef095434 409682005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40969
40970 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
40971 conversion.
40972 (grub_getcharwidth): New function.
40973
40974 * kern/misc.c (grub_utf8_to_ucs4): New function.
40975
40976 * include/grub/term.h (struct grub_term): Added a new member
40977 "getcharwidth".
40978 (grub_getcharwidth): New prototype.
40979
40980 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
40981
40982 * term/i386/pc/console.c (map_char): New function. Segregated from
40983 grub_console_putchar.
40984 (grub_console_putchar): Use map_char.
40985 (grub_console_getcharwidth): New function.
40986 (grub_console_term): Specified grub_console_getcharwidth as
40987 getcharwidth.
40988
40989 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
40990 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
40991
40992 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
40993 GRUB_ERRNO.
40994 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
40995 on grub_strtoul completely.
40996 (write_char): Declare local variables in the beginning of the
40997 function.
40998 (grub_vesafb_getcharwidth): New function.
40999 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
41000 getcharwidth.
41001
1f0a95e4 410022005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
41003
41004 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
41005 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
41006 commands/i386/pc/vbetest.c.
41007
41008 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
41009 call grub_vbe_get_controller_info again, because the returned
41010 information is volatile.
41011 (grub_vbe_set_video_mode): Mostly rewritten.
41012 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
41013 grub_vbe_status_t correctly.
41014 (grub_vbe_get_video_mode_info): Likewise.
41015 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
41016 several if statements.
41017
41018 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
41019 * commands/i386/pc/vbeinfo.c: ... this.
41020
41021 * commands/i386/pc/vbe_test.c: Renamed to ...
41022 * commands/i386/pc/vbetest.c: ... this.
41023
41024 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
41025 ...
41026 (grub_cmd_vbeinfo): ... this. Save video modes before
41027 iterating. Skip a video mode, if it is not available, not enough
41028 information is given or it is monochrome. Show the memory
41029 model. Leave the interpretation of MODEVAR to grub_strtoul
41030 completely.
41031 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
41032 (GRUB_MOD_FINI): Likewise.
41033
41034 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
41035 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
41036 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
41037 duplicated grub_env_get. Leave the interpretation of MODEVAR to
41038 grub_strtoul completely.
41039 (real2pm): Removed.
41040 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
41041 (GRUB_MOD_FINI): Likewise.
41042
41043 * normal/misc.c: Include grub/mm.h.
41044
41045 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
41046 vbe_list_modes with vbetest.mod and vbeinfo.mod.
41047 (vbe_list_modes_mod_SOURCES): Removed.
41048 (vbe_list_modes_mod_CFLAGS): Likewise.
41049 (vbe_test_mod_SOURCES): Likewise.
41050 (vbe_test_mod_CFLAGS): Likewise.
41051 (vbeinfo_mod_SOURCES): New variable.
41052 (vbeinfo_mod_CFLAGS): Likewise.
41053 (vbetest_mod_SOURCES): Likewise.
41054 (vbetest_mod_CFLAGS): Likewise.
41055
992ffbbe 410562005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
41057
41058 * normal/misc.c: New file.
41059
41060 * DISTLIST: Added normal/misc.c.
f19dbdb7 41061
992ffbbe 41062 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
41063 DISK to HOOK. Call HOOK with DISK.
41064 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41065 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41066 * partmap/sun.c (sun_partition_map_iterate): Likewise.
41067
41068 * normal/menu_entry.c (struct screen): Added a new member
41069 "completion_shown".
41070 (completion_buffer): New global variable.
41071 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
41072 (store_completion): New function.
41073 (complete): Likewise.
41074 (clear_completions): Likewise.
41075 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
41076 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
41077 a tab, call complete.
41078
41079 * normal/completion.c (disk_dev): Removed.
41080 (print_simple_completion): Likewise.
41081 (print_partition_completion): Likewise.
41082 (print_func): New global variable.
41083 (add_completion): Do not take the arguments WHAT or PRINT any
41084 longer. Added a new argument TYPE. Instead of printing directly,
41085 call PRINT_FUNC if not NULL.
41086 All callers changed.
41087 (complete_device): Use a local variable DEV instead of
41088 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
41089 (grub_normal_do_completion): Take a new argument HOOK. Do not
41090 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
41091 empty string, return NULL instead.
41092 All callers changed.
41093
41094 * normal/cmdline.c (print_completion): New function.
41095
41096 * kern/partition.c (grub_partition_iterate): Add an argument DISK
41097 to HOOK.
41098 All callers changed.
41099
41100 * kern/disk.c (grub_print_partinfo): Removed.
41101
41102 * include/grub/partition.h (struct grub_partition_map): Add a new
41103 argument DISK into HOOK of ITERATE.
41104 (grub_partition_iterate): Add a new argument DISK to HOOK.
41105
41106 * include/grub/normal.h (enum grub_completion_type): New enum.
41107 (grub_completion_type_t): New type.
41108 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
41109 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
41110 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
41111 (GRUB_COMPLETION_TYPE_FILE): Likewise.
41112 (grub_normal_do_completion): Added a new argument HOOK.
41113 (grub_normal_print_device_info): New prototype.
41114
41115 * include/grub/disk.h (grub_print_partinfo): Removed.
41116
41117 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
41118 (normal_mod_SOURCES): Likewise.
41119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41120 (normal_mod_SOURCES): Likewise.
41121
41122 * commands/ls.c (grub_ls_list_disks): Use
41123 grub_normal_print_device_info instead of grub_print_partinfo. Free
41124 PNAME.
41125 (grub_ls_list_files): Use grub_normal_print_device_info instead of
41126 duplicating the code.
41127
0bd41162 411282005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41129
41130 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 41131 follow GCS more precisely.
41132 * commands/i386/pc/vbe_test.c: Likewise.
41133 * include/grub/i386/pc/vbe.h: Likewise.
41134 * term/i386/pc/vesafb.c: Likewise.
41135 * video/i386/pc/vbe.c: Likewise.
0bd41162 41136
6323696a 411372005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41138
41139 * DISTLIST: Added term/i386/pc/vesafb.c
41140 DISTLIST: Added video/i386/pc/vbe.c
41141 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
41142 DISTLIST: Added commands/i386/pc/vbe_test.c.
41143 * commands/i386/pc/vbe_list_modes.c: New file.
41144 * commands/i386/pc/vbe_test.c: Likewise.
41145 * term/i386/pc/vesafb.c: Likewise.
41146 * video/i386/pc/vbe.c: Likewise.
41147 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
41148 (grub_vbe_probe) Added prototype.
41149 (grub_vbe_set_video_mode) Likewise.
41150 (grub_vbe_get_video_mode) Likewise.
41151 (grub_vbe_get_video_mode_info) Likewise.
41152 (grub_vbe_set_pixel_rgb) Likewise.
41153 (grub_vbe_set_pixel_index) Likewise.
41154 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
41155 (pkgdata_MODULES): Added vesafb.mod.
41156 (pkgdata_MODULES): Added vbe_list_modes.mod.
41157 (pkgdata_MODULES): Added vbe_test.mod.
41158 (vbe_mod_SOURCES): Added.
41159 (vbe_mod_CFLAGS): Likewise.
41160 (vesafb_mod_SOURCES): Likewise.
41161 (vesafb_mod_CFLAGS): Likewise.
41162 (vbe_list_modes_mod_SOURCES): Likewise.
41163 (vbe_list_modes_mod_CFLAGS): Likewise.
41164 (vbe_test_mod_SOURCES): Likewise.
41165 (vbe_test_mod_CFLAGS): Likewise.
41166
0a74e62f 411672005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
41168
0a74e62f 41169 * normal/command.c (grub_command_execute): If INTERACTIVE is
41170 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
41171 CMDLINE. Disable the pager if INTERACTIVE is true.
41172 All callers are changed.
41173
41174 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
41175 before reading a config file.
41176 * normal/main.c (read_config_file): Even if a command is not
41177 found, register it if it is within an entry.
41178
41179 * util/grub-emu.c: Include sys/types.h and unistd.h.
41180 (options): Added --hold.
41181 (struct arguments): Added a new member "hold".
41182 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
41183 missing.
41184 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
41185 cleared by a debugger, if it is not zero.
41186
41187 * include/grub/normal.h (grub_command_execute): Add an argument
41188 INTERACTIVE.
41189
e51f85ae 411902005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
41191
41192 * DISTLIST: Added include/grub/i386/pc/vbe.h.
41193
e9c6f39b 411942005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
41195
41196 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
41197 program with another one, because the old one didn't detect a bug
41198 in gcc-3.4. Always use regparm 2, because the new test is still
41199 not enough for gcc-4.0. Someone must investigate a simple test
41200 case which detects a bug in gcc-4.0.
41201
8de3495c 412022005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
41203
41204 * DISTLIST: Added normal/completion.c.
41205
41206 * normal/completion.c: New file.
f19dbdb7 41207
8de3495c 41208 * term/i386/pc/console.c (grub_console_getwh): New function.
41209 (grub_console_term): Assign grub_console_getwh to getwh.
41210
41211 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
41212 function is defined in normal/completion.c as
41213 grub_normal_do_completion.
41214 (grub_cmdline_get): Use grub_normal_do_completion instead of
41215 grub_tab_complete.
41216
41217 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
41218 returns non-zero, otherwise return 0.
41219 (grub_partition_iterate): First, probe the partition map. Then,
41220 call ITERATE only for this partition map.
41221
41222 * kern/misc.c (grub_strncmp): Rewritten.
41223
41224 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
41225 returns non-zero. Otherwise return 0.
41226
41227 * include/grub/partition.h (grub_partition_map_iterate): Return
41228 int instead of void.
41229
41230 * include/grub/normal.h (grub_normal_do_completion): New prototype.
41231
41232 * include/grub/misc.h (grub_strncmp): Change the type of N to
41233 grub_size_t.
41234
41235 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
41236 of void.
41237
41238 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 41239 unsigned explicitly before comparing it with I.
8de3495c 41240
41241 * kern/main.c (grub_env_write_root): Add the attribute unused into
41242 VAR.
41243
41244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41245 normal/completion.c.
41246 (normal_mod_SOURCES): Likewise.
41247 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41248 (normal_mod_SOURCES): Likewise.
41249
41250 * normal/command.c (grub_iterate_commands): If ITERATE returns
41251 non-zero, return one immediately.
41252
e85e144b 412532005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
41254
41255 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
41256 * kern/i386/pc/startup.S: Updated Global Descriptor table's
41257 descriptions.
41258 (grub_vbe_get_controller_info): New function.
41259 (grub_vbe_get_mode_info): Likewise.
41260 (grub_vbe_set_mode): Likewise.
41261 (grub_vbe_get_mode): Likewise.
41262 (grub_vbe_set_memory_window): Likewise.
41263 (grub_vbe_get_memory_window): Likewise.
41264 (grub_vbe_set_scanline_length): Likewise.
41265 (grub_vbe_get_scanline_length): Likewise.
41266 (grub_vbe_set_display_start): Likewise.
41267 (grub_vbe_get_display_start): Likewise.
41268 (grub_vbe_set_palette_data): Likewise.
41269 * include/grub/i386/pc/vbe.h: New file.
41270
c46153d2 412712005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41272
41273 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41274 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41275 * DISTLIST: Likewise.
41276 * kern/ieee1275/of.c: Moved to ...
41277 * kern/ieee1275/ieee1275.c: ... here.
41278
0cb90c45 412792005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41280
41281 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41282 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41283 Pass 0 as `end' parameter to grub_strtoul().
41284
a19fb360 412852005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41286
41287 * include/grub/powerpc/ieee1275/console.h: Do not include
41288 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41289 ifdef.
41290 (grub_console_cur_color): Remove i386-specific prototype.
41291 (grub_console_real_putchar): Likewise.
41292 (grub_console_checkkey): Likewise.
41293 (grub_console_getkey): Likewise.
41294 (grub_console_getxy): Likewise.
41295 (grub_console_gotoxy): Likewise.
41296 (grub_console_cls): Likewise.
41297 (grub_console_setcursor): Likewise.
41298 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41299 Include <grub/machine/console.h>.
41300 * term/ieee1275/ofconsole.c: Likewise.
41301
4ac9bd04 413022005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41303
41304 * Makefile.in (LIBLZO): New variable.
41305
41306 * configure.ac: Check for LZO version 2.
41307
41308 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41309 lzo/lzo1x.h instead of lzo1x.h.
41310
41311 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41312 of -llzo.
41313
41314 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41315 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41316
41317 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41318 copying the data from PARTITION to P.
41319
f4917dfd 413202005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41321
41322 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41323 negative, unload the module.
41324
41325 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41326 map is "pc_partition_map" but not "pc".
41327 (usage): Fix the description. The options are --boot-image and
41328 --core-image but not --boot-file or --core-file.
41329 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41330 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41331 DEFAULT_DIRECTORY.
41332
41333 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41334 --core-file. Specify INSTALL_DEVICE as an argument.
41335
41336 * util/console.c: Include config.h.
41337 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41338 [HAVE_NCURSES_H]: Include ncurses.h.
41339 [HAVE_CURSES_H]: Include curses.h.
41340 [!A_NORMAL] (A_NORMAL): Defined as zero.
41341 [!A_STANDOUT] (A_STANDOUT): Likewise.
41342
41343 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
41344 -lncurses.
41345 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
41346
41347 * configure.ac: Check for curses libraries and headers.
41348
41349 * Makefile.in (LIBCURSES): New variable.
41350
41351 * genmk.rb (Script::rule): Set the executable bits.
41352
41353 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
41354 name of the PC partition map is "pc_partition_map" but not "pc".
41355
0e143073 413562005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41357
41358 * util/i386/pc/grub-install.in (grub_probefs): New variable.
41359 (modules): Likewise.
41360 (usage): Added descriptions for --modules and --grub-probefs.
41361 Handle --modules and --grub-probefs. Save the arguments in MODULES
41362 and GRUB_PROBEFS, respectively.
41363 Auto-detect a filesystem module against GRUBDIR. If the result is
41364 empty and modules are not specified explicitly, abort the
41365 installation. Add the result to MODULES.
41366
41367 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
41368 disk/powerpc/ieee1275/ofdisk.c,
41369 include/grub/powerpc/ieee1275/init.h and
41370 term/powerpc/ieee1275/ofconsole.c.
41371 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
41372 term/ieee1275/ofconsole.c.
41373
41374 * include/grub/powerpc/ieee1275/console.h: Resurrected.
41375
41376 * COPYING: Upgraded to the latest version. Only the address of the
41377 FSF office has changed.
f19dbdb7 41378
efd6e6d5 413792005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41380
41381 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41382 kern/ieee1275.c with kern/ieee1275/of.c.
41383
41384 * kern/ieee1275.c: Moved to ...
41385 * kern/ieee1275/of.c: ... here.
41386
8ceafda2 413872005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
41388
41389 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 41390 readability.
8ceafda2 41391
41392 * config.guess: Updated to the latest version from gnulib.
41393 * config.sub: Likewise.
41394 * install.sh: Likewise.
41395 * mkinstalldirs: Likewise.
41396
41397 * include/grub/console.h: Removed. This file is arch-specific. Do
41398 not put this in include/grub.
41399
41400 * include/grub/i386/pc/console.h: Resurrected.
41401
41402 * util/console.c: Include grub/machine/console.h instead of
41403 grub/console.h.
41404 * util/grub-emu.c: Likewise.
41405
267f6cd9 414062005-08-04 Marco Gerards <metgerards@student.han.nl>
41407
41408 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
41409 hardcoded value.
f19dbdb7 41410
267f6cd9 41411 From Vincent Pelletier <subdino2004@yahoo.fr>
41412 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
41413 Redefined to use grub_getwh.
41414 (grub_term): New member named getwh.
41415 (grub_getwh): New prototype.
41416 * kern/term.c (grub_getwh): New function.
41417 * term/i386/pc/console.c (grub_console_getwh): New function.
41418 (grub_console_term): New member `getwh'.
41419 * term/i386/pc/vga.c (grub_vga_getwh): New function.
41420 (grub_vga_term): New member `getwh'.
0b5abe02 41421 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 41422 grub_ssize_t.
41423 (grub_ofconsole_getw): New function.
41424 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
41425 (grub_ofconsole_term): New field named getwh and new initial
41426 value.
41427
3be7266d 414282005-08-03 Hollis Blanchard <hollis@penguinppc.org>
41429
41430 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
41431 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
41432 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
41433 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
41434 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
41435 of <grub/machine/ieee1275.h>.
41436 * commands/ieee1275/reboot.c: Likewise.
41437 * boot/powerpc/ieee1275/ieee1275.c: Move ...
41438 * kern/ieee1275.c: ... to here. All users updated. Change all
41439 parameter structs to use new type `grub_ieee1275_cell_t'.
41440 * term/powerpc/ieee1275/ofconsole.c: Move ...
41441 * term/ieee1275/ofconsole.c: ... to here. All users updated.
41442 * disk/powerpc/ieee1275/ofdisk.c: Move ...
41443 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
41444 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
41445 to return int.
41446 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
41447 Remove unused prototypes. All users updated.
41448 * include/grub/powerpc/ieee1275/console.h: Removed.
41449 * include/grub/powerpc/ieee1275/ieee1275.h: Define
41450 `grub_ieee1275_cell_t'.
41451 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
41452 Cast comparisons with -1 to the correct type.
41453 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
41454 type to match `grub_ieee1275_entry_fn'.
41455
8b5f3938 414562005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
41457
41458 * DISTLIST: Added util/i386/pc/grub-probefs.c.
41459
41460 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
41461 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
41462 partmap/sun.c.
41463 (grub_probefs_SOURCES): New variable.
41464
41465 * util/i386/pc/grub-probefs.c: New file.
41466
41467 * util/i386/pc/grub-setup.c (main): Call
41468 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
41469 grub_hfs_init and grub_jfs_init to initialize the system. Call
41470 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
41471 grub_pc_partition_map_fini to finish the system.
41472
ea409713 414732005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
41474
41475 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
41476 function.
41477 (grub_multiboot_load_elf32): Likewise.
41478 (grub_multiboot_is_elf64): Likewise.
41479 (grub_multiboot_load_elf64): Likewise.
41480 (grub_multiboot_load_elf): Likewise.
41481 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
41482 an ELF32 or ELF64 file.
41483 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
41484
41485 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
41486 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
41487 NULL before calling FS->LABEL.
41488 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
41489 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
41490 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
41491 before calling FS->LABEL.
41492
141a288b 414932005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
41494
41495 * util/i386/pc/grub-install.in (datadir): New variable.
41496 (libdir): Removed.
41497 (pkgdatadir): New variable.
41498 (pkglibdir): Removed.
41499
0d5f8a54 415002005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
41501
41502 * DISTLIST: Added util/i386/pc/grub-install.in.
41503
41504 * util/i386/pc/grub-install.in: New file.
41505
41506 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
41507 (grub_install_SOURCES): Likewise.
41508
41509 * genmk.rb: Added support for scripts.
41510 (Script): New class.
41511 (scripts): New variable.
41512
41513 * Makefile.in (install-local): Install sbin_SCRIPTS by
41514 INSTALL_SCRIPT.
41515 (uninstall): Remove sbin_SCRIPTS.
41516
41517 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
41518 device, try to get a GRUB device by
41519 grub_util_biosdisk_get_grub_dev.
41520 Free DEST_DEV.
41521
41522 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
41523 description for --device-map.
41524
5f968e1e 415252005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41526
41527 Change the semantics of variable hooks. They now return strings
41528 instead of error values.
f19dbdb7 41529
5f968e1e 41530 * util/i386/pc/grub-setup.c: Include grub/env.h.
41531 (setup): Use grub_device_set_root instead of grub_env_set.
41532
41533 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
41534 grub_env_get instead of grub_device_set_root and
41535 grub_device_get_root, respectively.
41536
41537 * kern/main.c (grub_env_write_root): New function.
41538 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
41539 grub_env_set instead of grub_device_set_root.
41540
41541 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
41542 many variables.
41543 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
41544 rather than calling ENV->WRITE_HOOK afterwards.
41545 (grub_env_get): Return the result of ENV->READ_HOOK rather than
41546 passing a pointer of a pointer.
41547 (grub_register_variable_hook): Change the types of "read_hook" and
41548 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
41549 respectively.
41550 Allocate the default empty string on the heap, because this string
41551 may be freed later.
41552
41553 * kern/device.c: Include grub/env.h.
41554 (grub_device_set_root): Removed.
41555 (grub_device_get_root): Likewise.
41556 (grub_device_open): Use grub_env_get instead of
41557 grub_device_get_root.
41558
41559 * include/grub/env.h (grub_env_read_hook_t): New type.
41560 (grub_env_write_hook_t): Likewise.
41561 (grub_env_var): Change the types of "read_hook" and "write_hook"
41562 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
41563 (grub_register_variable_hook): Likewise.
41564
41565 * include/grub/device.h (grub_device_set_root): Removed.
41566 (grub_device_set_root): Likewise.
41567
41568 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
41569 make sure that DIRNAME terminates with '/', so that
41570 grub_fat_find_dir will fail if PATH is not a directory.
41571
41572 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
41573 from DIRNAME.
41574 Use the qualifier auto for print_files and print_files_long.
41575 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
41576 as a regular file.
41577 Put a newline only if there is no error.
41578 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
41579 used.
41580
896f0afd 415812005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41582
41583 * kern/partition.c (grub_partition_probe): Initialize PART to
41584 NULL. Otherwise, when no partition map is registered, this returns
41585 a garbage.
41586
b28b81b2 415872005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
41588
41589 * partmap/apple.c (apple_partition_map_iterate): Check if POS
41590 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
41591 valid.
41592
5f3607e0 415932005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
41594
41595 * commands/ls.c (grub_ls_list_disks): Print the filesystem
41596 information on each device, if it does not have partitions. Print
41597 "Device" instead of "Disk", because this function is not specific
41598 to disk devices.
41599
41600 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
41601 static to ensure that it is put on the memory rather than a
41602 register.
41603
502c87e8 416042005-07-17 Yoshinori Okuji <okuji@enbug.org>
41605
41606 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
41607 (grub_cat_init): Likewise.
41608 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
41609 (options): Likewise.
41610 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
41611 (grub_configfile_init): Likewise.
41612 * font/manager.c (GRUB_MOD_INIT): Likewise.
41613 * commands/help.c (GRUB_MOD_INIT): Likewise.
41614 (grub_help_init): Likewise.
41615 * normal/command.c (grub_command_init): Likewise.
41616 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
41617 * disk/loopback.c (grub_loop_init): Likewise.
41618 (GRUB_MOD_INIT): Likewise.
41619 * commands/ls.c (grub_ls_init): Likewise.
41620 (GRUB_MOD_INIT): Likewise.
41621 (options): Likewise.
41622 * commands/boot.c (grub_boot_init): Likewise.
41623 (GRUB_MOD_INIT): Likewise.
41624 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
41625 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
41626 (GRUB_MOD_INIT): Likewise.
41627 * commands/cmp.c (grub_cmp_init): Likewise.
41628 (GRUB_MOD_INIT): Likewise.
41629
41630 * normal/arg.c: Use <> instead of "" to include header files.
41631 (SHORT_ARG_HELP): New macro.
41632 (SHORT_ARG_USAGE): Likewise.
41633 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
41634 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
41635 descriptions.
41636 (find_short): Check if C is 'h' or 'u' explicitly.
41637 (grub_arg_show_help): Use space characters instead of tabs. Treat
41638 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
41639 are shown with --help and --usage only if they are not used for
41640 the command itself.
41641 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
41642 'h' and 'u'.
41643
41644 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
41645 const into "longarg". Change the type of "shortarg" to int.
41646
f806d18e 416472005-07-17 Yoshinori Okuji <okuji@enbug.org>
41648
41649 * boot/i386/pc/boot.S (boot_drive_check): New label.
41650
41651 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
41652 macro.
41653
41654 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
41655 which do not pass a boot drive correctly. Copied from GRUB Legacy.
41656
e293232b 416572005-07-17 Yoshinori Okuji <okuji@enbug.org>
41658
41659 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
41660 When turning off Gate A20, skip the check and return immediately,
41661 because this is not fatal usually.
41662
ebedfd00 416632005-07-17 Yoshinori Okuji <okuji@enbug.org>
41664
41665 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
41666 be 0x7C00 instead of 0x8000.
41667
41668 * boot/i386/pc/pxeboot.S: Rewritten.
41669
41670 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
41671 EXT_C.
41672 (gate_a20_check_state): Read a byte from 0x108000. Invert the
41673 result.
41674
654fc59f 416752005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
41676
41677 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
41678 robustness. This routine now supports a BIOS call and System
41679 Control Port A to modify the gate A20.
41680
41681 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41682 Increased to 0x440.
41683
09f9923f 416842005-07-12 Hollis Blanchard <hollis@penguinppc.org>
41685
41686 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
41687 device path and resulting ihandle.
41688 (grub_ofdisk_close): dprintf the ihandle being closed.
41689 (grub_ofdisk_read): dprintf function parameters.
41690 * kern/mm.c (grub_mm_init_region): Likewise.
41691 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
41692 (grub_linux_boot): dprintf the Linux entry point, initrd address and
41693 size, and boot arguments.
41694 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
41695 before loading into memory.
41696 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
41697 before loading into memory.
41698
7ef504d8 416992005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
41700
41701 * kern/mm.c: Added much documentation.
41702 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
41703 8, set to 5 instead of 8.
41704
e0f050c2 417052005-07-10 Yoshinori Okuji <okuji@enbug.org>
41706
41707 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
41708
41709 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
41710 (grub_mkdevicemap_SOURCES): New variable.
41711
41712 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
41713 lib/device.c of GRUB Legacy.
41714
7224189a 417152005-07-10 Yoshinori Okuji <okuji@enbug.org>
41716
41717 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
41718 instead of PATH is NULL.
41719
68c864eb 417202005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
41721
41722 * commands/cmp.c (BUFFER_SIZE): New macro.
41723 (grub_cmd_cmp): Close the right file at the right time. Compare
41724 only data just read. Don't report files of different size as
41725 identical. Dynamically allocate buffers. Move variable
41726 declarations at the beginning of function.
41727
e6f3e614 417282005-07-09 Yoshinori Okuji <okuji@enbug.org>
41729
41730 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
41731 reverse.
41732
f8f1559a 417332004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
41734
41735 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
41736 when backspace is pressed at beginning of line.
41737
39c9d41d 417382005-07-03 Yoshinori Okuji <okuji@enbug.org>
41739
41740 * DISTLIST: Added genfslist.sh.
41741
41742 * normal/main.c (fs_module_list): New variable.
41743 (autoload_fs_module): New function.
41744 (read_fs_list): Likewise.
41745 (grub_normal_execute): Call read_fs_list.
41746
41747 * kern/fs.c (grub_fs_autoload_hook): New variable.
41748 (grub_fs_probe): Added support for auto-loading.
41749
41750 * include/grub/normal.h (struct grub_fs_module_list): New struct.
41751 (grub_fs_module_list_t): New type.
41752
41753 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
41754 (grub_fs_autoload_hook): New prototype.
41755
41756 * genfslist.sh: New file.
f19dbdb7 41757
39c9d41d 41758 * genmk.rb: Added a rule to generate a filesystem list.
41759
121c1d83 417602005-06-30 Marco Gerards <metgerards@student.han.nl>
41761
41762 * configure.ac: Fix the test for cross-compiling.
41763
41764 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
41765 define GRUB_UTIL anymore.
41766
41767 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
41768 so this function works on other systems than just big endian.
41769 (load_modules): Likewise.
41770 (add_segments): Likewise.
41771
e75d76e1 417722005-06-23 Hollis Blanchard <hollis@penguinppc.org>
41773
41774 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
41775 contains `l' modifier, get a long from va_arg().
41776
50b5a0a7 417772005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
41778
41779 * kern/mm.c (grub_free): If the next free block which is being
41780 merged is the first free block, set the first block to the block
41781 being freed.
41782 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
41783
89371b20 417842005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41785
41786 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
41787 `grub_ieee1275_chosen'.
41788
168d6e58 417892005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41790
41791 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
41792 (grub_ieee1275_chosen): New variable.
41793 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
41794 `chosen'.
41795 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
41796 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41797 Rename first argument to `phandle' for consistency.
41798 (grub_ieee1275_get_property_length): Likewise.
41799 (grub_ieee1275_next_property): Likewise. Change type of first argument
41800 to grub_ieee1275_phandle_t.
41801 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
41802 Move export next to declaration.
41803 (grub_ieee1275_chosen): New variable.
41804 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
41805 Correct cosmetic typo.
41806 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
41807 `grub_ieee1275_chosen'.
41808 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
41809 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
41810 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
41811 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
41812 `grub_ieee1275_chosen'.
41813
ca5baa3f 418142005-05-10 Hollis Blanchard <hollis@penguinppc.org>
41815
41816 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
41817 /chosen/bootargs.
41818 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
41819 /chosen/bootargs as "variable=value" pairs.
41820
708b345f 418212005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
41822
41823 * include/grub/misc.h (grub_dprintf): New macro.
41824 (grub_real_dprintf): New prototype.
41825 (grub_strword): Likewise.
41826 (grub_iswordseparator): Likewise.
41827 * kern/misc.c (grub_real_dprintf): New function.
41828 (grub_strword): Likewise.
41829 (grub_iswordseparator): Likewise.
41830
f4c5e67c 418312005-04-30 Hollis Blanchard <hollis@penguinppc.org>
41832
41833 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
41834 (roundup): Remove macro.
41835 (grub_ieee1275_flags): Make static.
41836 (grub_ieee1275_realmode): Remove.
41837 (grub_ieee1275_test_flag): New function.
41838 (grub_ieee1275_set_flag): Likewise.
41839 (find_options): Rename to `grub_ieee1275_find_options'; update
41840 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
41841 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
41842 (cmain): New prototype.
41843 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
41844 `grub_ieee1275_flags' directly.
41845 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
41846 machine/biosdisk.h.
41847 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
41848 Don't include grub/machine/init.h.
41849 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
41850 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41851 Remove prototype.
41852 (grub_ieee1275_realmode): Likewise.
41853 (grub_ieee1275_flag): New enum.
41854 (grub_ieee1275_test_flag): New prototype.
41855 (grub_ieee1275_set_flag): New prototype.
41856 * include/grub/powerpc/ieee1275/init.h: Remove file.
41857 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
41858 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
41859 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
41860 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
41861 comment.
41862 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
41863 `grub_ieee1275_test_flag'.
41864 (grub_ieee1275_encode_devname): Likewise.
41865
ed16607e 418662005-04-21 Hollis Blanchard <hollis@penguinppc.org>
41867
41868 * include/grub/powerpc/ieee1275/ieee1275.h
41869 (grub_ieee1275_encode_devname): New prototype.
41870 (grub_ieee1275_get_filename): Likewise.
41871 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
41872 function.
41873 (grub_set_prefix): Likewise.
41874 (grub_machine_init): Call grub_set_prefix.
41875 * kern/powerpc/ieee1275/openfw.c: Fix typos.
41876 (grub_parse_type): New enum.
41877 (grub_ieee1275_get_devargs): New function.
41878 (grub_ieee1275_get_devname): Likewise.
41879 (grub_ieee1275_parse_args): Likewise.
41880 (grub_ieee1275_get_filename): Likewise.
41881 (grub_ieee1275_encode_devname): Likewise.
41882
be369920 418832005-03-30 Marco Gerards <metgerards@student.han.nl>
41884
41885 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
41886 `grub_loader_unset'.
41887
a5ce3a4a 418882005-03-26 Hollis Blanchard <hollis@penguinppc.org>
41889
41890 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
41891 instead of grub_ieee1275_interpret.
41892 (grub_halt_init): New function.
41893 (grub_halt_fini): Likewise.
41894 (GRUB_MOD_INIT): Correct message grammar.
41895 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
41896 instead of grub_ieee1275_interpret.
41897 (grub_reboot_init): New function.
41898 (grub_reboot_fini): Likewise.
41899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
41900 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
41901 util/i386/pc/misc.c with commands/ieee1275/halt.c,
41902 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
41903 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
41904 function.
41905 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
41906 Add prototype.
41907 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
41908 prototype.
41909 (grub_halt): Likewise.
41910 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
41911 (cmain): Remove __attribute__((unused)).
41912 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
41913 (grub_heap_len): Likewise.
41914 (grub_machine_fini): New function.
41915 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
41916 (grub_halt): Likewise.
41917 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
41918 function.
41919 * util/powerpc/ieee1275/misc.c: New file.
41920
0058f771 419212005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41922
41923 * DISTLIST: New file.
41924 * gendistlist.sh: Likewise.
f19dbdb7 41925
0058f771 41926 * Makefile.in (COMMON_DISTFILES): Removed.
41927 (BOOT_DISTFILES): Likewise.
41928 (CONF_DISTFILES): Likewise.
41929 (DISK_DISTFILES): Likewise.
41930 (FS_DISTFILES): Likewise.
41931 (INCLUDE_DISTFILES): Likewise.
41932 (KERN_DISTFILES): Likewise.
41933 (LOADER_DISTFILES): Likewise.
41934 (TERM_DISTFILES): Likewise.
41935 (UTIL_DISTFILES): Likewise.
41936 (DISTFILES): Likewise.
41937 (uninstall): Uninstall files in $(pkgdata_DATA).
41938 (DISTLIST): New target.
41939 (distdir): Use the contents of the file DISTLIST to get a list of
41940 distributed files.
41941
46b3b8a5 419422005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41943
41944 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
41945 descriptor. This is ported from GRUB Legacy.
41946
41947 * gencmdlist.sh: Added an extra semicolon to make it work with
41948 old sed versions. Reported by Robert Bihlmeyer
41949 <robbe@orcus.priv.at>.
41950
5822ff87 419512005-03-08 Yoshinori Okuji <okuji@enbug.org>
41952
41953 Automatic loading of commands is supported.
f19dbdb7 41954
5822ff87 41955 * normal/main.c (read_command_list): New function.
41956 (grub_normal_execute): Call read_command_list.
41957
41958 * normal/command.c (grub_register_command): Return zero or CMD.
41959 Allocate CMD->NAME from the heap.
41960 Initialize CMD->MODULE_NAME to zero.
41961 Find the same name as well. If the same command is found and it is
41962 a dummy command, overwrite members. If it is not a dummy command,
41963 return zero.
41964 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
41965 (grub_command_find): If a dummy command is found, load a module
41966 and retry to find a command only once.
41967
41968 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
41969 make sure that each command is loaded.
41970
41971 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
41972 macro.
41973 (struct grub_command): Remove const from the member `name'.
41974 Add a new member `module_name'.
41975 (grub_register_command): Return grub_command_t.
41976
41977 * commands/help.c (grub_cmd_help): Call grub_command_find to make
41978 sure that each command is loaded.
41979
41980 * genmk.rb (PModule::rule): Specify a module name without the
41981 suffix ".mod" to gencmdlist.sh.
41982
7b1f4b57 419832005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41984
41985 * gencmdlist.sh: New file.
f19dbdb7 41986
7b1f4b57 41987 * genmk.rb (PModule::rule): Generate a rule for a command list.
41988 Clean command.lst.
41989 Generate command.lst from $(COMMANDFILES).
41990
41991 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
41992 (DATA): Added $(pkgdata_DATA).
41993 (install-local): Install files in $(pkgdata_DATA).
41994
062aaf39 419952005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41996
41997 * term/i386/pc/vga.c (debug_command): Removed.
41998 (GRUB_MOD_INIT): Do not register the command "debug".
41999
42000 From Hollis Blanchard:
42001 * commands/configfile.c: New file.
42002 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42003 commands/configfile.c.
42004 (pkgdata_MODULES): Added configfile.mod.
42005 (configfile_mod_SOURCES): New variable.
42006 (configfile_mod_CFLAGS): Likewise.
42007 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42008 commands/configfile.c.
42009 (pkgdata_MODULES): Added configfile.mod.
42010 (configfile_mod_SOURCES): New variable.
42011 (configfile_mod_CFLAGS): Likewise.
42012 * util/grub-emu.c (main): Call grub_configfile_init and
42013 grub_configfile_fini.
42014 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
42015 prototype.
42016 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 42017
cee01aa6 420182005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42019
42020 * normal/arg.c (grub_arg_show_help): Do not show the bug report
42021 address.
42022
42023 * commands/help.c (grub_cmd_help): Do not print newlines after
42024 the last command in print_command_help.
42025
93f3a1d8 420262005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42027
42028 * commands/default.h: New file.
42029 * commands/timeout.h: Likewise.
42030 * normal/context.c: Likewise.
f19dbdb7 42031
93f3a1d8 42032 * util/misc.c: Do not include sys/times.h.
42033 Include sys/time.h and grub/machine/time.h.
42034 (grub_get_rtc): Rewritten with gettimeofday.
42035
42036 * util/grub-emu.c (main): Call grub_default_init and
42037 grub_timeout_init before grub_normal_init, and call
42038 grub_timeout_fini and grub_default_fini after grub_main.
42039
42040 * util/console.c (grub_ncurses_checkkey): Return the read
42041 character or -1.
42042
42043 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
42044 timeouts.
42045
42046 * normal/main.c (read_config_file): Push MENU. If this fails,
42047 print an error and wait for a user input.
42048 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
42049 If a menu is empty or an error occurs, pop MENU.
42050 (grub_normal_execute): Pop and free MENU after grub_menu_run
42051 returns.
42052
42053 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
42054
42055 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
42056 include time.h.
42057 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42058 without GRUB_UTIL.
42059 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
42060 time.h.
42061 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42062 without GRUB_UTIL.
42063
42064 * include/grub/normal.h (struct grub_menu_list): New struct.
42065 (grub_menu_list_t): New type.
42066 (struct grub_context): New struct.
42067 (grub_context_t): New type.
42068 (grub_register_command): Got rid of EXPORT_FUNC.
42069 (grub_unregister_command): Likewise.
42070 (grub_context_get): New prototype.
42071 (grub_context_get_current_menu): Likewise.
42072 (grub_context_push_menu): Likewise.
42073 (grub_context_pop_menu): Likewise.
42074 [GRUB_UTIL] (grub_default_init): Likewise.
42075 [GRUB_UTIL] (grub_default_fini): Likewise.
42076 [GRUB_UTIL] (grub_timeout_init): Likewise.
42077 [GRUB_UTIL] (grub_timeout_fini): Likewise.
42078
42079 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
42080 commands/timeout.c and normal/context.c.
42081 (pkgdata_MODULES): Added default.mod and timeout.mod.
42082 (normal_mod_SOURCES): Added normal/context.c.
42083 (default_mod_SOURCES): New variable.
42084 (default_mod_CFLAGS): Likewise.
42085 (timeout_mod_SOURCES): Likewise.
42086 (timeout_mod_CFLAGS): Likewise.
42087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
42088 conf/i386-pc.rmk.
42089 (pkgdata_MODULES): Added default.mod and timeout.mod.
42090 (normal_mod_SOURCES): Added normal/context.c.
42091 (default_mod_SOURCES): New variable.
42092 (default_mod_CFLAGS): Likewise.
42093 (timeout_mod_SOURCES): Likewise.
42094 (timeout_mod_CFLAGS): Likewise.
42095
42096 * Makefile.in (all-local): Added $(MKFILES).
42097
4ed2e1dd 420982005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
42099
42100 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
42101 (grub_emu_SOURCES): Likewise.
42102 (pkgdata_MODULES): Add `sun.mod'.
42103 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42104 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42105 `partmap/sun.c'.
42106 (pkgdata_MODULES): Add `sun.mod'.
42107 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42108 * include/grub/partition.h (grub_sun_partition_map_init): New
42109 prototype.
42110 (grub_sun_partition_map_fini): Likewise.
42111 * partmap/sun.c: New file.
42112 * util/grub-emu.c (main): Initialize and de-initialize the sun
42113 partitionmap support.
42114
4d4e372e 421152005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
42116
42117 This implements an Emacs-like menu entry editor.
f19dbdb7 42118
4d4e372e 42119 * normal/menu_entry.c: New file.
f19dbdb7 42120
4d4e372e 42121 * util/console.c (grub_ncurses_putchar): Translate some Unicode
42122 characters to ASCII.
42123 (saved_char): New variable.
42124 (grub_ncurses_checkkey): Rewritten completely.
42125 (grub_ncurses_getkey): Likewise.
42126 (grub_ncurses_init): Call raw instead of cbreak.
42127
42128 * normal/menu.c (print_entry): Do not put a space.
42129 (init_page): Renamed to ...
42130 (grub_menu_init_page): ... this. All callers changed.
42131 (edit_menu_entry): Removed.
42132 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
42133
42134 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
42135
42136 * kern/misc.c (grub_vprintf): Call grub_refresh.
42137
42138 * normal/menu.c (DISP_LEFT): Renamed to ...
42139 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
42140 * normal/menu.c (DISP_UP): Renamed to ...
42141 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
42142 * normal/menu.c (DISP_RIGHT): Renamed to ...
42143 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
42144 * normal/menu.c (DISP_DOWN): Renamed to ...
42145 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
42146 * normal/menu.c (DISP_HLINE): Renamed to ...
42147 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
42148 * normal/menu.c (DISP_VLINE): Renamed to ...
42149 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
42150 * normal/menu.c (DISP_UL): Renamed to ...
42151 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
42152 * normal/menu.c (DISP_UR): Renamed to ...
42153 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
42154 * normal/menu.c (DISP_LL): Renamed to ...
42155 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
42156 * normal/menu.c (DISP_LR): Renamed to ...
42157 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
42158 * normal/menu.c (TERM_WIDTH): Renamed to ...
42159 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
42160 * normal/menu.c (TERM_HEIGHT): Renamed to ...
42161 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
42162 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
42163 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
42164 * normal/menu.c (TERM_MARGIN): Renamed to ...
42165 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
42166 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
42167 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
42168 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
42169 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
42170 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
42171 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
42172 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
42173 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
42174 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
42175 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
42176 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
42177 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
42178 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
42179 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
42180 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
42181 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
42182 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
42183 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
42184 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
42185 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
42186 All callers changed.
42187
42188 * include/grub/normal.h: New prototype.
42189
42190 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42191 normal/menu_entry.c.
42192 (normal_mod_SOURCES): Likewise.
42193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42194 (normal_mod_SOURCES): Likewise.
42195
e6b92c8a 421962005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
42197
42198 * include/grub/normal.h (grub_halt_init): New prototype.
42199 (grub_halt_fini): Likewise.
42200 (grub_reboot_init): Likewise.
42201 (grub_reboot_fini): Likewise.
42202
42203 * util/grub-emu.c: Include signal.h.
42204 (main_env): New global variable.
42205 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
42206 catch C-c.
42207 (grub_machine_fini): New function.
42208 (main): Call grub_halt_init and grub_reboot_init before
42209 grub_main, and grub_reboot_fini and grub_halt_fini after it.
42210 Call setjmp with MAIN_ENV to go back afterwards.
42211 Call grub_machine_fini right before return.
42212
42213 * include/grub/util/misc.h: Include setjmp.h.
42214 (main_env): New prototype.
42215
42216 * include/grub/kernel.h (grub_machine_fini): New prototype.
42217 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
42218 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
42219
42220 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
42221 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
42222 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 42223
e6b92c8a 42224 * util/i386/pc/misc.c: New file.
f19dbdb7 42225
e6b92c8a 42226 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42227 util/i386/pc/misc.c, commands/i386/pc/halt.c and
42228 commands/i386/pc/reboot.c.
42229
c642636f 422302005-02-14 Guillem Jover <guillem@hadrons.org>
42231
42232 * include/grub/dl.h (grub_dl_check_header): New prototype.
42233 (grub_arch_dl_check_header): Change return type to grub_err_t,
42234 remove size parameter and export function. Update all callers.
42235 * kern/dl.c (grub_dl_check_header): New function.
42236 (grub_dl_load_core): Use `grub_dl_check_header' instead of
42237 `grub_arch_dl_check_header'. Check ELF type. Check if sections
42238 are inside the core.
42239 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
42240 independent ELF header checks.
42241 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42242 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
42243 `grub_dl_check_header' instead of explicit checks. Check for the
42244 ELF type.
42245 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
42246 `grub_dl_check_header' instead of explicit checks. Remove arch
42247 specific ELF header checks.
42248
e6b92c8a 42249 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
42250 argument SIZE.
42251
5eabe94b 422522005-02-13 Hollis Blanchard <hollis@penguinppc.org>
42253
42254 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
42255 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
42256
1b14a681 422572005-02-12 Hollis Blanchard <hollis@penguinppc.org>
42258
42259 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 42260 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 42261 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 42262 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 42263 * partmap/amiga.c (amiga_partition_map_iterate): Return
42264 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
42265 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42266
aca108aa 422672005-02-01 Guillem Jover <guillem@hadrons.org>
42268
42269 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
42270 help info.
42271
c9f9c556 422722005-01-31 Marco Gerards <metgerards@student.han.nl>
42273
42274 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42275 Removed prototype.
42276 (grub_rescue_cmd_linux): New prototype.
42277 (grub_rescue_cmd_initrd): Likewise.
42278 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42279 `bi_rec'.
42280 (grub_linux_release_mem): Release the memory for the initrd.
42281 (grub_load_linux): Renamed from this...
42282 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42283 Changed `entry' not to be static. Loop over memory regions to
42284 find another one when the default fails.
42285 (grub_rescue_cmd_initrd): New function.
42286 (grub_linux_init): Remove function.
42287 (grub_linux_fini): Likewise.
42288 (GRUB_MOD_INIT): Register `initrd'.
42289 (GRUB_MOD_FINI): Unregister `initrd'.
42290 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42291 Function removed.
42292 (grub_linux_normal_fini): Likewise.
42293 (GRUB_MOD_INIT): Register `initrd'.
42294 (GRUB_MOD_FINI): Unregister `initrd'.
42295
990cf3aa 422962005-01-31 Marco Gerards <metgerards@student.han.nl>
42297
42298 * commands/help.c: New file.
42299 * normal/arg.c (show_help): Renamed to...
42300 (grub_arg_show_help): ... this.
42301 * commands/i386/pc/halt.c: New file.
42302 * commands/i386/pc/reboot.c: Likewise.
42303 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42304 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42305 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42306 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42307 variables.
42308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42309 `commands/help.c'.
42310 (pkgdata_MODULES): Add `help.mod'.
42311 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42312 * grub/i386/pc/init.h (grub_reboot): New prototype.
42313 (grub_halt): Likewise.
42314 * include/grub/normal.h (grub_arg_show_help): New prototype.
42315 (grub_help_init): Likewise.
42316 (grub_help_fini): Likewise.
42317 * util/grub-emu.c (main): Initialize and deinitialize the help
42318 command.
42319
42320 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42321
42322 * normal/command.c (grub_command_init): Fixed the description of
42323 the `set' and `unset' commands.
42324
423252005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 42326
42327 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42328 function.
42329 * commands/ieee1275/halt.c: New file.
42330 * commands/ieee1275/reboot.c: Likewise.
42331 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42332 `__attribute__ ((unused))'. Some GCS related fixed.
42333 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42334 (grub_suspend_fini): Likewise.
42335 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42336 and `halt.mod'.
42337 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42338 (halt_mod_CFLAGS): New variables.
42339 * include/grub/powerpc/ieee1275/ieee1275.h
42340 (grub_ieee1275_interpret): New prototype.
42341
1ab09cc7 423422005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
42343
42344 * include/grub/misc.h (memmove): New prototype.
42345 (memcpy): Likewise.
42346
8b8cbdb2 423472005-01-22 Hollis Blanchard <hollis@penguinppc.org>
42348
42349 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
42350 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
42351
e3741a27 423522005-01-22 Marco Gerards <metgerards@student.han.nl>
42353
42354 * kern/misc.c (grub_strndup): Function rewritten.
42355
776bd780 423562005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
42357
42358 * normal/menu.c (TERM_WIDTH): Macro redefined.
42359 (TERM_TOP_BORDER_Y): Likewise.
42360 (draw_border): Replaced while-loop by a for-loop. Make the number
42361 of lines consistent with the number of lines displayed in
42362 print_entries. Added a margin below the rectangle.
42363 (print_entry): Make the entry fit in the rectangle.
42364 (print_entries): Display the scroll arrows next to the right
42365 border.
42366
78026bce 423672005-01-21 Marco Gerards <metgerards@student.han.nl>
42368
42369 * fs/minix.c (grub_minix_find_file): Reserve more space for
42370 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
42371 `grub_strncpy' to copy `path' into it.
42372
67bbaf0f 423732005-01-21 Marco Gerards <metgerards@student.han.nl>
42374
42375 Add the loopback device, a device via which files can be accessed
42376 as devices.
f19dbdb7 42377
67bbaf0f 42378 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
42379 (pkgdata_MODULES): Add loopback.mod.
42380 (loopback_mod_SOURCES): New variable.
42381 (loopback_mod_CFLAGS): Likewise.
42382 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42383 `disk/loopback.c'.
42384 (pkgdata_MODULES): Add loopback.mod.
42385 (loopback_mod_SOURCES): New variable.
42386 (loopback_mod_CFLAGS): Likewise.
42387 * disk/loopback.c: new file.
42388 * include/grub/normal.h (grub_loop_init): New prototype.
42389 (grub_loop_fini): New prototype.
42390 * util/grub-emu.c (main): Initialize and de-initialize loopback
42391 support.
42392 * include/grub/disk.h (grub_disk_dev_id): Add
42393 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
42394
6f1c18bd 423952005-01-20 Hollis Blanchard <hollis@penguinppc.org>
42396
42397 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
42398 function.
42399 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
42400 (suspend_mod_SOURCES): New variable.
42401 (suspend_mod_CFLAGS): Likewise.
42402 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
42403 New prototype.
42404 * commands/ieee1275/suspend.c: New file.
42405
b38551da 424062005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42407
42408 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 42409 ((unused))' to `__attribute__ ((used))'.
b38551da 42410 (GRUB_MOD_FINI): Likewise.
42411 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
42412 * genmk.rb (PModule): Assign space to common symbols when linking
42413 modules.
42414
777aff39 424152005-01-20 Marco Gerards <metgerards@student.han.nl>
42416
42417 * include/grub/mm.h (grub_mm_init_region): Change the type of the
42418 `unsigned' arguments to `grub_size_t'.
42419 (grub_malloc): Likewise.
42420 (grub_realloc): Likewise.
42421 (grub_memalign): Likewise.
42422 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
42423 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42424 * util/misc.c (grub_malloc): Likewise.
42425 (grub_realloc): Likewise.
42426 * kern/mm.c (get_header_from_pointer): Change the casts to
42427 `unsigned' into a cast to `grub_size_t'.
42428
42429 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
42430 point to `currnode' when `currnode' is changed.
42431
42432 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
42433 Schottelius <nico-linux@schottelius.org>.
42434
d0ff18e1 424352005-01-09 Hollis Blanchard <hollis@penguinppc.org>
42436
42437 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
42438 (note_path): Remove variable.
42439 (GRUB_IEEE1275_NOTE_NAME): New macro.
42440 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
42441 (grub_ieee1275_note_hdr): New structure.
42442 (grub_ieee1275_note_desc): Likewise.
42443 (grub_ieee1275_note): Likewise.
42444 (load_note): Remove `dir' argument. All callers updated. Remove
42445 `note_img' and `path'. Do not load a file from `note_path'.
42446 Initialize a struct grub_ieee1275_note and write that to `out'.
42447 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
42448
4ca7004c 424492005-01-05 Marco Gerards <metgerards@student.han.nl>
42450
42451 * util/misc.c (grub_util_read_image): Revert last change. It
42452 called `grub_util_read_at', which seeks from the beginning of the
42453 file.
42454
0b412211 424552005-01-04 Hollis Blanchard <hollis@penguinppc.org>
42456
42457 * TODO: Add note about endianness in grub-mkimage.
42458 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
42459 section.
42460 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
42461 (grub_mkimage_SOURCES): New target.
42462 * include/grub/kernel.h (grub_start_addr): Remove variable.
42463 (grub_end_addr): Likewise.
42464 (grub_total_module_size): Likewise.
42465 (grub_kernel_image_size): Likewise.
42466 (GRUB_MODULE_MAGIC): New constant.
42467 (grub_module_info): New structure.
42468 (grub_arch_modules_addr): New prototype.
42469 (grub_get_end_addr): Remove prototype.
42470 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
42471 * include/grub/powerpc/ieee1275/kernel.h: New file.
42472 * include/grub/util/misc.h (grub_util_get_fp_size): New
42473 prototype.
42474 (grub_util_read_at): Likewise.
42475 (grub_util_write_image_at): Likewise.
42476 * kern/main.c (grub_get_end_addr): Remove function.
42477 (grub_load_modules): Call grub_arch_modules_addr instead of using
42478 grub_end_addr. Look for a grub_module_info struct in memory. Use
42479 the grub_module_info fields instead of calling grub_get_end_addr
42480 as loop conditions. Move grub_add_unused_region code here.
42481 (grub_add_unused_region): Remove function.
42482 * kern/i386/pc/init.c: Include grub/cache.h.
42483 (grub_machine_init): Remove call to grub_get_end_addr. Remove
42484 one call to add_mem_region.
42485 (grub_arch_modules_addr): New function.
42486 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
42487 (grub_total_module_size): Likewise.
42488 Include grub/machine/kernel.h.
42489 (grub_arch_modules_addr): New function.
42490 * util/grub-emu.c (grub_end_addr): Remove variable.
42491 (grub_total_module_size): Likewise.
42492 (grub_arch_modules_addr): New function.
42493 * util/misc.c: Include unistd.h.
42494 (grub_util_get_fp_size): New function.
42495 (grub_util_read_at): Likewise.
42496 (grub_util_write_image_at): Likewise.
42497 (grub_util_read_image): Call grub_util_read_at.
42498 (grub_util_write_image): Call grub_util_write_image_at.
42499 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
42500 additional memory in kernel_img for a struct grub_module_info.
42501 Fill in that grub_module_info.
42502 * util/powerpc/ieee1275/grub-mkimage.c: New file.
42503
458786f8 425042005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42505
42506 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
42507 New function.
42508 * include/grub/powerpc/ieee1275/ieee1275.h
42509 (grub_ieee1275_milliseconds): New prototype.
42510 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
42511 Change to 1000.
42512 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
42513 grub_ieee1275_milliseconds.
42514
ac507d1b 425152005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42516
42517 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
42518 variable.
42519 (find_options): New function.
42520 (cmain): Call find_options.
42521 * include/grub/powerpc/ieee1275/ieee1275.h
42522 (grub_ieee1275_realmode): New extern variable.
42523 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
42524 grub_map if grub_ieee1275_realmode is false.
42525
6b8fd1c4 425262004-12-29 Marco Gerards <metgerards@student.han.nl>
42527
42528 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
42529 lines are inserted and make it work like readline. Reported by
42530 Vincent Pelletier <subdino2004@yahoo.fr>.
42531
8514a1e0 425322004-12-28 Marco Gerards <metgerards@student.han.nl>
42533
42534 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
42535
42536 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
42537 `kern/powerpc/cache.S'.
42538
924b6140 425392004-12-27 Marco Gerards <metgerards@student.han.nl>
42540
42541 * genmk.rb: Handle the `Program' class in the main loop. Written
42542 by Johan Rydberg <jrydberg@gnu.org>.
42543 (Program): New class.
42544 (programs): New variable.
42545 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
42546 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
42547 instead of "grub/kernel.h". Include <grub/machine/init.h>.
42548 (help_arch): Function removed.
42549 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
42550 `powerpc/libgcc.h' and `loader.h'.
42551 (pkgdata_PROGRAMS): New variable.
42552 (sbin_UTILITIES): Variable removed.
42553 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
42554 (grubof_SOURCES): Variable re-defined so it only includes the
42555 core functionality.
42556 (grubof_CFLAGS): Remove `-DGRUBOF'.
42557 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
42558 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
42559 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
42560 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
42561 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
42562 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
42563 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
42564 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
42565 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
42566 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
42567 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42568 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
42569 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
42570 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
42571 (pc_mod_CFLAGS): New variables.
42572 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
42573 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
42574 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
42575 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
42576 Moved from here...
42577 * include/grub/i386/pc/init.h (grub_os_area_addr)
42578 (rub_os_area_size): ... to here.
42579 * include/grub/powerpc/ieee1275/ieee1275.h
42580 (grub_ieee1275_entry_fn): Export symbol.
42581 * include/grub/powerpc/ieee1275/init.h: New file.
42582 * include/grub/powerpc/libgcc.h: Likewise.
42583 * include/grub/cache.h: Likewise.
42584 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
42585 <hollis@penguinppc.org>.
42586 * kern/dl.c: Include <grub/cache.h>.
42587 (grub_dl_flush_cache): New function.
42588 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
42589 for this module.
42590 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
42591 (grub_console_init): Removed prototypes.
42592 (grub_machine_init): Don't initialize the modules anymore.
42593 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
42594 static.
42595 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
42596 Macro undef removed.
42597 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
42598 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
42599 relocation `R_PPC_REL32'. Return an error when the relocation is
42600 unknown.
42601 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
42602 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
42603 * util/misc.c (grub_arch_sync_caches): Likewise.
42604
e4b47e0c 426052004-12-19 Marco Gerards <metgerards@student.han.nl>
42606
42607 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
42608 `symlist.c', add `grubof_symlist.c'.
42609 (symlist.c): Variable removed.
42610 (grubof_HEADERS): Variable added.
42611 (grubof_symlist.c): New target.
42612 (kernel_syms.lst): Use `grubof_HEADERS' instead of
42613 `kernel_img_HEADERS'.
42614 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
42615 * kern/powerpc/dl.c: New file.
42616 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
42617 Function removed.
42618 (grub_arch_dl_relocate_symbols): Likewise.
42619 (grub_register_exported_symbols): Likewise.
42620
4ceb3636 426212004-12-13 Marco Gerards <metgerards@student.han.nl>
42622
42623 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
42624 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
42625 to fail instead. Reported by Vincent Pelletier
42626 <subdino2004@yahoo.fr>.
42627
42628 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
42629 it is not allocated. Reported by Vincent Pelletier
42630 <subdino2004@yahoo.fr>.
42631
42632 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
42633 output so the output looks better.
f19dbdb7 42634
3f1578fe 426352004-12-04 Marco Gerards <metgerards@student.han.nl>
42636
42637 Modulize the partition map support and add support for the amiga
42638 partition map.
f19dbdb7 42639
3f1578fe 42640 * commands/ls.c: Include <grub/partition.h> instead of
42641 <grub/machine/partition.h>.
42642 * kern/disk.c: Likewise.
42643 * kern/rescue.c: Likewise.
42644 * loader/i386/pc/chainloader.c: Likewise.
42645 * normal/cmdline.c: Likewise.
42646 * kern/powerpc/ieee1275/init.c: Likewise.
42647 (grub_machine_init): Call `grub_pc_partition_map_init',
42648 `grub_amiga_partition_map_init' and
42649 `grub_apple_partition_map_init'.
42650 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
42651 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
42652 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
42653 `partition.h' and `pc_partition.h'.
42654 (grub_setup_SOURCES): Remove
42655 `disk/i386/pc/partition.c'. Add `kern/partition.c',
42656 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42657 (grub_emu_SOURCES): Likewise.
42658 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
42659 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
42660 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
42661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42662 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
42663 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42664 (grubof_SOURCES): Likewise.
42665 * disk/i386/pc/partition.c: File removed.
42666 * disk/powerpc/ieee1275/partition.c: Likewise.
42667 * include/grub/powerpc/ieee1275/partition.h: Likewise.
42668 * include/grub/i386/pc/partition.h: Likewise.
42669 * kern/partition.c: New file.
42670 * partmap/amiga.c: Likewise.
42671 * partmap/apple.c: Likewise.
42672 * partmap/pc.c: Likewise.
42673 * include/grub/partition.h: Likewise..
42674 * include/grub/pc_partition.h: Likewise.
42675 * util/grub-emu.c: Include <grub/partition.h> instead of
42676 <grub/machine/partition.h>.
42677 (main): Call `grub_pc_partition_map_init',
42678 `grub_amiga_partition_map_init' and
42679 `grub_apple_partition_map_init' and deinitialize afterwards.
42680 * util/i386/pc/biosdisk.c: Include `#include
42681 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42682 `<grub/machine/partition.h>'.
42683 * util/i386/pc/grub-setup.c: Likewise.
42684 * util/i386/pc/biosdisk.c: Likewise.
42685 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
42686 partition information in case of a PC partition.
42687 * util/i386/pc/grub-setup.c: Include `#include
42688 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42689 `<grub/machine/partition.h>'.
42690 (setup): Only access the PC specific partition information in case
42691 of a PC partition.
42692
0ef4ced9 426932004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42694
0ef4ced9 42695 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
42696 (grub_longjmp): Likewise.
42697 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
42698 20.
42699 * normal/powerpc/setjmp.S: New file.
42700 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42701 `normal/powerpc/setjmp.S'.
42702 (grubof_CFLAGS): Add `-DGRUBOF'.
42703 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
42704 [GRUB_UTIL && !GRUBOF].
f19dbdb7 42705
19950e29 427062004-11-16 Marco Gerards <metgerards@student.han.nl>
42707
42708 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
42709 property named `name'. Correctly handle the error returned by
42710 `grub_ieee1275_finddevice' if a device can not be opened.
42711
a2fea427 427122004-11-02 Hollis Blanchard <hollis@penguinppc.org>
42713
42714 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
42715 `actual' for negativity.
42716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42717 kern/fshelp.c.
42718
41ea0ea3 427192004-11-01 Marco Gerards <metgerards@student.han.nl>
42720
42721 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
42722 (PAGE_OFFSET): New macro.
42723 (CRTC_ADDR_PORT): Likewise.
42724 (CRTC_DATA_PORT): Likewise.
42725 (START_ADDR_HIGH_REGISTER): Likewise.
42726 (START_ADDR_LOW_REGISTER): Likewise.
42727 (GRAPHICS_ADDR_PORT): Likewise.
42728 (GRAPHICS_DATA_PORT): Likewise.
42729 (READ_MAP_REGISTER): Likewise.
42730 (INPUT_STATUS1_REGISTER): Likewise.
42731 (INPUT_STATUS1_VERTR_BIT): Likewise.
42732 (page): New variable.
42733 (wait_vretrace): New function.
42734 (set_read_map): Likewise.
42735 (set_start_address): Likewise.
42736 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
42737 the right page.
42738 (check_vga_mem): Take the page into account.
42739 (write_char): Likewise.
42740 (write_cursor): Likewise.
42741 (scroll_up): Likewise. Copy the page to the page that is not
42742 shown and switch between both pages.
42743 (grub_vga_putchar): Fix off by one error.
42744 (grub_vga_cls): Wait for the vertical retrace. Take the page into
42745 account.
42746
ad0bd20b 427472004-11-01 Marco Gerards <metgerards@student.han.nl>
42748
42749 Add support for iso9660 (including rockridge).
f19dbdb7 42750
ad0bd20b 42751 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42752 (iso9660_mod_SOURCES): New variable.
42753 (iso9660_mod_CFLAGS): Likewise.
42754 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42755 * include/grub/fs.h (grub_iso9660_init): New prototype.
42756 * util/grub-emu.c (main): Call `grub_iso9660_init'.
42757 * fs/iso9660.c: New file.
42758
42759 * include/grub/misc.h (grub_strncat): New prototype.
42760 * kern/misc.c (grub_strncat): New function.
f19dbdb7 42761
ad0bd20b 42762 * fs/hfs.c (grub_hfs_mount): Translate the error
42763 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
42764 * fs/jfs.c (grub_jfs_mount): Likewise.
42765 * fs/ufs.c (grub_ufs_mount): Likewise.
42766
a5477a59 427672004-10-28 Hollis Blanchard <hollis@penguinppc.org>
42768
42769 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
42770 which initialized BAT registers.
42771 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
42772 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42773 Move from here...
42774 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
42775 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42776 ... to here.
42777 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
42778 (grub_mapclaim): Likewise.
42779 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
42780 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
42781 hand.
42782
9304c1f8 427832004-10-19 Hollis Blanchard <hollis@penguinppc.org>
42784
42785 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
42786 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
42787 -ffreestanding and -msoft-float.
42788
86f4ae25 427892004-10-15 Hollis Blanchard <hollis@penguinppc.org>
42790
42791 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
42792 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
42793 set in grub_ieee1275_flags.
42794
38912228 427952004-10-14 Hollis Blanchard <hollis@penguinppc.org>
42796
42797 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
42798 prototype.
42799 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
42800 grub_console_init first.
42801 Change the memory range used for grub_ieee1275_claim and
42802 grub_mm_init_region.
42803 Print an error message if the claim fails.
42804 Include <grub/misc.h>.
42805
d1923dc8 428062004-10-13 Hollis Blanchard <hollis@penguinppc.org>
42807
42808 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
42809 Call grub_children_iterate for device nodes of type `scsi',
42810 `ide', or `ata'.
42811 (grub_ofdisk_open): Remove manual device alias resolution.
42812 Fix memory leak when device cannot be opened.
f19dbdb7 42813 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 42814 (grub_children_iterate): New prototype.
42815 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
42816 New function.
42817 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42818 Return -1 if args.size was -1.
42819
4512e4f3 428202004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42821
42822 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
42823 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
42824 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
42825 Open Firmware's memory for it; claim memory from _start to _end.
42826 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
42827 (_end): New extern.
42828 (_start): Zero BSS from __bss_start to _end.
42829 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42830 New extern.
42831 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
42832
4d61feb0 428332004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42834
ad0bd20b 42835 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
42836 -1 if args.base was -1.
4d61feb0 42837
026fa2f9 428382004-10-08 Hollis Blanchard <hollis@penguinppc.org>
42839
42840 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
42841 escape sequence instead of a literal ^L. Also call
42842 grub_ofconsole_gotoxy.
42843
9f2220ef 428442004-10-03 Hollis Blanchard <hollis@penguinppc.org>
42845
42846 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
42847 void * arguments to grub_addr_t. All callers updated. Also make
42848 the `result' argument optional.
42849 (grub_ieee1275_release): change void * arguments to grub_addr_t.
42850 All callers updated.
42851
8a572cd7 428522004-09-22 Hollis Blanchard <hollis@penguinppc.org>
42853
42854 * commands/ls.c (grub_ls_list_files): Use the string following the
42855 initial ')', if present, as the filesystem path.
42856 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
42857
42858 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
42859
18aa81f2 428602004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
42861
42862 Make the source code of the menu interface more readable.
f19dbdb7 42863
18aa81f2 42864 * normal/menu.c: Include grub/mm.h.
42865 (TERM_WIDTH): New macro.
42866 (TERM_HEIGHT): Likewise.
42867 (TERM_INFO_HEIGHT): Likewise.
42868 (TERM_MARGIN): Likewise.
42869 (TERM_SCROLL_WIDTH): Likewise.
42870 (TERM_TOP_BORDER_Y): Likewise.
42871 (TERM_LEFT_BORDER_X): Likewise.
42872 (TERM_BORDER_WIDTH): Likewise.
42873 (TERM_MESSAGE_HEIGHT): Likewise.
42874 (TERM_BORDER_HEIGHT): Likewise.
42875 (TERM_NUM_ENTRIES): Likewise.
42876 (TERM_FIRST_ENTRY_Y): Likewise.
42877 (TERM_ENTRY_WIDTH): Likewise.
42878 (TERM_CURSOR_X): Likewise.
42879 (draw_border): Use macros instead of magic numbers.
42880 (print_entry): Likewise.
42881 (print_entries): Likewise.
42882 (run_menu): Likewise. Also, handle the key 'e'.
42883 (run_menu_entry): Ignore empty command lines.
42884 (print_message): Added a new argument EDIT. If EDIT is true,
42885 print a different message.
42886 (init_page): Likewise.
42887 (edit_menu_entry): New function. Not implemented yet.
42888
b47efe30 428892004-09-17 Marco Gerards <metgerards@student.han.nl>
42890
42891 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
42892 can be loaded from normal mode.
f19dbdb7 42893
b47efe30 42894 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
42895 `multiboot.mod'.
42896 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
42897 (multiboot_mod_CFLAGS): New variables.
42898 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 42899 * loader/i386/pc/multiboot_normal.c: Likewise.
42900
b47efe30 42901 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
42902 attribute `unused'.
f19dbdb7 42903
b47efe30 42904 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
42905 `fdiro' to read the mode information from instead of `diro'.
42906
42907 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
42908 looking up a symlink.
42909
42910 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
42911 macro.
42912 * normal/command.c (grub_command_execute): Don't parse the
42913 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
42914 flags of the command.
42915
42916 * normal/menu.c (grub_menu_run): Fix typo.
42917
da75ac71 429182004-09-14 Hollis Blanchard <hollis@penguinppc.org>
42919
42920 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
42921
42922 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
42923 `y + 1' instead of `y - 1'.
42924
42925 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 42926
062b24c2 429272004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
42928
42929 From Hollis Blanchard <hollis@penguinppc.org>:
42930 * kern/misc.c (memmove): New alias for grub_memmove.
42931 (memcmp): New alias for grub_memcmp.
42932 (memset): New alias for grub_memset.
f19dbdb7 42933 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 42934 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 42935 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 42936 (grub_ieee1275_get_property): Likewise.
f19dbdb7 42937
8ddad845 429382004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
42939
42940 Added normal mode command `chainloader' as module chain.mod, which
42941 depends on normal.mod and _chain.mod.
f19dbdb7 42942
8ddad845 42943 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
42944 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
42945 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
42946 Deleted prototype.
42947 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
42948 but arguments parsing moved to ...
42949 (grub_chainloader_cmd): ... here. New function.
42950 * include/grub/i386/pc/chainloader.h: New file.
42951 * loader/i386/pc/chainloader_normal.c: Likewise.
42952
2c1f4ce3 429532004-09-11 Marco Gerards <metgerards@student.han.nl>
42954
42955 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
42956 (grub_mkimage_LDFLAGS): Likewise.
42957 (grub_emu_SOURCES): Likewise.
42958 (kernel_img_HEADERS): Added fshelp.h.
42959 * fs/ext2.c: Include <grub/fshelp.h>.
42960 (FILETYPE_REG): New macro.
42961 (FILETYPE_INO_REG): Likewise.
42962 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
42963 Changed all users.
42964 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
42965 all users.
42966 (grub_fshelp_node): New struct.
42967 (grub_ext2_data): Added member `diropen'. Changed member `inode'
42968 to a pointer.
42969 (grub_ext2_get_file_block): Removed function.
42970 (grub_ext2_read_block): New function.
42971 (grub_ext2_read_file): Replaced parameter `data' by `node'.
42972 This function was written.
42973 (grub_ext2_mount): Read the root inode. Create a diropen struct.
42974 (grub_ext2_find_file): Removed function.
42975 (grub_ext2_read_symlink): New function.
42976 (grub_ext2_iterate_dir): Likewise.
42977 (grub_ext2_open): Rewritten.
42978 (grub_ext2_dir): Rewritten.
42979 * include/grub/fshelp.h: New file.
42980 * fs/fshelp.c: Likewise.
42981
3c52136a 429822004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
42983
42984 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
42985 (print_message): Add a missing newline.
42986 (run_menu): Added timeout support.
42987 (run_menu_entry): New local function.
42988 (grub_menu_run): Added support for booting.
42989
42990 * kern/loader.c (grub_loader_is_loaded): New function.
42991
42992 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
42993 (grub_get_rtc): Exported.
42994
42995 * include/grub/i386/pc/time.h: Include grub/symbol.h.
42996 (grub_get_rtc): Exported.
42997
42998 * include/grub/normal.h (struct grub_command_list): Remove
42999 constant from the member `command'.
43000
43001 * include/grub/loader.h (grub_loader_is_loaded): Declared.
43002
43003 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
43004
43005 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
43006
aa033560 430072004-08-28 Marco Gerards <metgerards@student.han.nl>
43008
43009 Add support for the JFS filesystem.
43010
43011 * fs/jfs.c: New file.
43012 * include/grub/fs.h (grub_jfs_init): New prototype.
43013 (grub_jfs_fini): New prototype.
43014 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
43015 (grub_emu_SOURCES): Likewise.
43016 (pkgdata_MODULES): Add jfs.mod.
43017 (jfs_mod_SOURCES): New variable.
43018 (jfs_mod_CFLAGS): Likewise.
43019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
43020 (grubof_SOURCES): Likewise.
43021 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
43022
43023 * fs/fat.c (grub_fat_find_dir): Convert the filename little
43024 endian to the host endian.
43025 (grub_fat_utf16_to_utf8): Move function from there...
43026 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 43027 the endianness of the source string anymore.
aa033560 43028 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
43029
94bc45af 430302004-08-24 Marco Gerards <metgerards@student.han.nl>
43031
43032 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
43033 (grub_boot_fini) [GRUB_UTIL]: Likewise.
43034 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
43035 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 43036
94bc45af 43037 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
43038 (grub_hfs_iterate_dir): Make the function static. Add prototypes
43039 for `node_found' and `it_dir'.
43040 (grub_hfs_dir): Add prototype for `dir_hook'.
43041
43042 * fs/minix.c (grub_minix_get_file_block): Add prototype for
43043 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
43044 and `indir32' to silence a gcc warning.
43045
43046 * include/grub/fs.h (grub_hfs_init): New prototype.
43047 (grub_hfs_fini): Likewise.
f19dbdb7 43048
43049
97543f08 430502004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43051
43052 Each disk device has its own id now. This is useful to make use
43053 of multiple disk devices.
f19dbdb7 43054
97543f08 43055 * include/grub/disk.h (grub_disk_dev_id): New enum.
43056 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
43057 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
43058
43059 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
43060 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43061
43062 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
43063 GRUB_DISK_DEVICE_OFDISK_ID as an id.
43064
43065 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
43066 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43067
43068 * include/grub/disk.h (struct grub_disk_dev): Added a new member
43069 "id" which is used by the cache manager.
43070
43071 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
43072 of just "GRUB".
43073
64372eb4 430742004-08-18 Marco Gerards <metgerards@student.han.nl>
43075
43076 * fs/hfs.c: New file.
43077 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
43078 (grub_emu_SOURCES): Likewise.
43079 (pkgdata_MODULES): Add hfs.mod.
43080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
43081 (grubof_SOURCES): Likewise.
43082 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
43083
43084 * include/grub/misc.h (grub_strncasecmp): Add prototype.
43085 * kern/misc.c (grub_strncasecmp): Add function.
43086
cc61b58f 430872004-08-14 Marco Gerards <metgerards@student.han.nl>
43088
43089 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
43090 with parentheses.
43091
43092 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
43093 (grub_ext2_dir): In case the directory entry type is unknown, read
43094 it from the inode.
43095
0ef123f6 430962004-08-02 Peter Bruin <pjbruin@dds.nl>
43097
43098 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
43099 grub_load_linux instead of grub_rescue_cmd_linux as second
43100 argument of grub_rescue_register_command.
43101
43102 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
43103
a447c5df 431042004-07-27 Marco Gerards <metgerards@student.han.nl>
43105
43106 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
43107 function.
43108 * commands/boot.c: Remove the check for `GRUB_UTIL'.
43109 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43110 `loader/powerpc/ieee1275/linux.c',
43111 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
43112 * include/grub/powerpc/ieee1275/ieee1275.h
43113 (grub_ieee1275_release): New prototype.
43114 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
43115 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
43116 normal, boot, linux and linux_normal.
43117 * loader/powerpc/ieee1275/linux.c: New file.
43118 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43119
5a9e3546 431202004-07-12 Marco Gerards <metgerards@student.han.nl>
43121
43122 * normal/arg.c (grub_arg_parse): Correct error handling after
43123 reallocating the argumentlist (check if `argl' is not null instead
43124 of checking if `args' is not null).
43125 * kern/mm.c (grub_realloc): Return the same pointer when using the
43126 same region, instead of returning the header address.
43127
e15199cb 431282004-07-11 Marco Gerards <metgerards@student.han.nl>
43129
43130 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
43131 one block instead of two when looking for the initial partition.
43132 (grub_partition_probe): Initialize the local variable `p' with 0.
43133 Use base 10 for the grub_strtoul call.
43134 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
43135 need for one local variable.
43136 (grub_strtoul): Don't add the new value to `num', instead of that
43137 just assign it.
43138
020616c2 431392004-07-11 Marco Gerards <metgerards@student.han.nl>
43140
43141 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
43142 (pxeboot_img_SOURCES): New variable.
43143 (pxeboot_img_ASFLAGS): Likewise.
43144 (pxeboot_img_LDFLAGS): Likewise.
43145 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
43146 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
43147 <lode_leroy@hotmail.com>.
43148
6c51eb64 431492004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43150
43151 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
43152 there was no input.
43153
cfb12aff 431542004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43155
43156 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
43157 the history buffer logic.
43158
6eabba74 431592004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43160
43161 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
43162 (FILETYPE_INO_SYMLINK): New macros.
43163 (grub_ext2_find_file): Check if the node is a directory using the
43164 inode stat information instead of using the filetype in the
43165 dirent. Exclude the first character of an absolute symlink.
43166 (grub_ext2_dir): Mask out the filetype part of the mode member of
43167 the inode.
43168
66e19ef8 431692004-05-24 Marco Gerards <metgerards@student.han.nl>
43170
43171 Add support for UFS version 1 and 2. Add support for the minix
43172 filesystem version 1 and 2, both the variants with 14 and 30 long
43173 filenames.
f19dbdb7 43174
66e19ef8 43175 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
43176 fs/minix.c.
43177 (grub_emu_SOURCES): Likewise.
43178 (pkgdata_MODULES): Add ufs.mod and minix.mod.
43179 (ufs_mod_SOURCES): New variable.
43180 (ufs_mod_CFLAGS): Likewise.
43181 (minix_mod_SOURCES): Likewise.
43182 (minix_mod_CFLAGS): Likewise.
43183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
43184 fs/minix.c.
43185 (grubof_SOURCES): Likewise.
43186 * fs/ufs.c: New file.
43187 * fs/minix.c: New file.
43188 * include/grub/fs.h (grub_ufs_init): New prototype.
43189 (grub_ufs_fini): Likewise.
43190 (grub_minix_init): Likewise.
43191 (grub_minix_fini): Likewise.
43192 * util/grub-emu.c (main): Initialize and deinitialize UFS and
43193 minix fs.
43194
cc2e748a 431952004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
43196
43197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
43198 commands/ls.c, commands/terminal.c, commands/boot.c,
43199 commands/cmp.c and commands/cat.c.
43200 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
43201
43202 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
43203 "env.h"
43204
4b13b216 432052004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43206
43207 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
43208 and grub_, respectively. Because the conversion is trivial and
43209 mechanical, I omit the details here. Please refer to the CVS
43210 if you need more information.
43211
6a142551 432122004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43213
43214 * include/pupa: Renamed to ...
43215 * include/grub: ... this.
43216 * util/i386/pc/pupa-mkimage.c: Renamed to ...
43217 * util/i386/pc/grub-mkimage.c: ... this.
43218 * util/i386/pc/pupa-setup.c: Renamed to ...
43219 * util/i386/pc/grub-setup.c: ... this.
43220 * util/pupa-emu.c: Renamed to ...
43221 * util/grub-emu.c: ... this.
43222
e56cdf21 432232004-03-29 Marco Gerards <metgerards@student.han.nl>
43224
43225 Add support for the newworld apple macintosh (PPC). This has been
43226 tested on the powerbook 2000 only. It only adds support for
43227 generic ieee1275 functions, console and disk support. This should
43228 be easy to port to other architectures with support for Open
43229 Firmware.
f19dbdb7 43230
e56cdf21 43231 * configure.ac: Accept the powerpc as host_cpu. In the case of
43232 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
43233 specific tests are only executed while building for the i386.
43234 Inverse test for crosscompile.
43235 * genmk.rb (Utility): Allow assembler files.
43236 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
43237 * conf/powerpc-ieee1275.rmk: New file.
43238 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
43239 * disk/powerpc/ieee1275/partition.c: Likewise.
43240 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
43241 * include/pupa/powerpc/ieee1275/console.h: Likewise.
43242 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
43243 * include/pupa/powerpc/ieee1275/time.h: Likewise.
43244 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
43245 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
43246 * include/pupa/powerpc/ieee1275/loader.h
43247 * include/pupa/powerpc/setjmp.h: Likewise.
43248 * include/pupa/powerpc/types.h: Likewise.
43249 * kern/powerpc/ieee1275/init.c: Likewise.
43250 * kern/powerpc/ieee1275/openfw.c: Likewise.
43251 * term/powerpc/ieee1275/ofconsole.c: Likewise.
43252
43253 These files were written by Johan Rydberg
43254 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 43255
e56cdf21 43256 * boot/powerpc/ieee1275/cmain.c: New file.
43257 * boot/powerpc/ieee1275/crt0.S: Likewise.
43258 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
43259 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
43260
8c8cc205 432612004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
43262
43263 * Makefile.in: Update copyright.
43264 * genmodsrc.sh: Likewise.
43265 * gensymlist.sh: Likewise.
43266 * term/i386/pc/vga.c: Indent correctly.
43267
43268 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
43269 bugreporting address.
43270 * util/i386/pc/pupa-setup.c (usage): Likewise,
43271 (main): Call pupa_ext2_init and pupa_ext2_fini.
43272
f19dbdb7 43273 * fs/fat.c (log2): Renamed to ...
8c8cc205 43274 (fat_log2): ... this.
43275 All callers changed.
43276 * kern/misc.c (memcpy): Alias to pupa_memmove.
43277 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43278 lvalue cast.
43279 * util/console.c (pupa_ncurses_fini): Return 0.
43280
43281 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43282 Move fail label here.
43283 [__GNU__]: Don't warn when using stat.
43284 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43285 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43286 long int. Use strtol instead of strtoul.
f19dbdb7 43287
db1771cf 432882004-03-14 Marco Gerards <metgerards@student.han.nl>
43289
43290 * commands/boot.c: New file.
43291 * commands/cat.c: Likewise.
43292 * commands/cmp.c: Likewise.
43293 * commands/ls.c: Likewise.
43294 * commands/terminal.c: Likewise.
43295 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43296 (pupa_register_command): Changed interface to match the new
43297 argument parser.
43298 (pupa_command_execute): Changed (almost rewritten) so it uses
43299 pupa_split_command. Added support for setting variables using the
43300 syntax `foo=bar'.
43301 (rescue_command): Changed to work with the new argument parser.
43302 (terminal_command): Moved from here to commands/terminal.c.
43303 (set_command): New function.
43304 (unset_command): New function.
43305 (insmod_command): New function.
43306 (rmmod_command): New function.
43307 (lsmod_command): New function.
43308 (pupa_command_init): Don't initialize the command terminal
43309 anymore. Initialize the commands set, unset, insmod, rmmod and
43310 lsmod.
43311 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43312 (kernel_img_HEADERS): Add arg.h and env.h.
43313 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43314 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43315 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43316 normal/arg.c.
43317 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43318 terminal.mod.
43319 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43320 (boot_mod_SOURCES): New variable.
43321 (terminal_mod_SOURCES): Likewise.
43322 (ls_mod_SOURCES): Likewise.
43323 (cmp_mod_SOURCES): Likewise.
43324 (cat_mod_SOURCES): Likewise.
43325
43326 * normal/arg.c: New file.
43327 * kern/env.c: Likewise.
43328 * include/pupa/arg.h: Likewise.
43329 * include/pupa/env.h: Likewise.
43330 * font/manager.c (font_command): Changed to match argument parsing
43331 interface changes.
43332 (PUPA_MOD_INIT): Likewise.
43333 * hello/hello.c (pupa_cmd_hello): Likewise.
43334 (PUPA_MOD_INIT): Likewise.
43335 * include/pupa/disk.h: Include <pupa/device.h>.
43336 (pupa_print_partinfo): New prototype.
43337 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43338 (pupa_dl_get_prefix): Likewise.
43339 * include/pupa/misc.h: Include <pupa/err.h>.
43340 (pupa_isgraph): New prototype.
43341 (pupa_isdigit): Likewise.
43342 (pupa_split_cmdline): Likewise.
43343 * include/pupa/normal.h: Include <pupa/arg.h>.
43344 (pupa_command): Changed the prototype of the member `func' to
43345 match the argument parsing interface. Added member `options'.
43346 (pupa_register_command): Updated to match function.
43347 (pupa_arg_parse): New prototype.
43348 (pupa_hello_init) [PUPA_UTIL]: New prototype.
43349 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
43350 (pupa_ls_init) [PUPA_UTIL]: Likewise.
43351 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
43352 (pupa_cat_init) [PUPA_UTIL]: Likewise.
43353 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
43354 (pupa_boot_init) [PUPA_UTIL]: Likewise.
43355 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
43356 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
43357 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
43358 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
43359 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
43360 * kern/disk.c: Include <pupa/file.h>.
43361 (pupa_print_partinfo): New function.
43362 * kern/dl.c: Include <pupa/env.h>.
43363 (pupa_dl_dir): Variable removed.
43364 (pupa_dl_load): Use the environment variable `prefix' instead of
43365 the variable pupa_dl_dir.
43366 (pupa_dl_set_prefix): Function removed.
43367 (pupa_dl_get_prefix): Likewise.
43368 * kern/i386/pc/init.c: Include <pupa/env.h>.
43369 (pupa_machine_init): Use the environment variable `prefix' instead of
43370 using pupa_dl_set_prefix to set the prefix.
43371 * kern/main.c: Include <pupa/env.h>.
43372 (pupa_set_root_dev): Use the environment variable `prefix' instead of
43373 using pupa_dl_get_prefix to get the prefix.
43374 * kern/misc.c: Include <pupa/env.h>.
43375 (pupa_isdigit): New function.
43376 (pupa_isgraph): Likewise.
43377 (pupa_ftoa): Likewise.
43378 (pupa_vsprintf): Added support for printing values of the type
43379 `double'. Make it possible to format variable output when using
43380 formatting like `%1.2%f'.
43381 (pupa_split_cmdline): New function.
43382 * kern/rescue.c: Include <pupa/env.h>.
43383 (next_word): Removed function.
43384 (pupa_rescue_cmd_prefix): Likewise.
43385 (pupa_rescue_cmd_set): New function.
43386 (pupa_rescue_cmd_unset): New function.
43387 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
43388 split the command line instead of splitting it here. Added
43389 support for setting variables using the syntax `foo=bar'. Don't
43390 initialize the prefix command anymore. Initialized the set and
43391 unset commands.
43392 * normal/cmdline.c: Include <pupa/env.h>.
43393 (pupa_tab_complete): Added prototypes for print_simple_completion,
43394 print_partition_completion, add_completion, iterate_commands,
43395 iterate_dev, iterate_part and iterate_dir. Moved code to print
43396 partition information from here to kern/disk.c.
fe6b695a 43397 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 43398 * normal/main.c: Include <pupa/env.h>.
43399 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
43400 instead of using pupa_dl_get_prefix to get the prefix.
43401 * term/i386/pc/vga.c: Include <pupa/arg.h>.
43402 (check_vga_mem): Cast pointers to `void *' to silence a gcc
43403 warning.
43404 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
43405 (pupa_vga_setcolor): Declare unused variables with `__attribute__
43406 ((unused))' to silence a gcc warning.
43407 (pupa_vga_setcolor): Likewise.
43408 (debug_command): Changed to match argument parsing
43409 interface changes.
43410 * util/pupa-emu.c: Include <pupa/env.h>.
43411 (options): Added 0's for unused fields to silence a gcc warning.
43412 (argp): Likewise.
43413 (main): Use the environment variable `prefix' instead of using
43414 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
43415 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
43416 and terminal.
43417
43418 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
43419 * util/misc.c: Include <malloc.h>.
43420 (pupa_malloc): Rewritten so errors are correctly reported.
43421 (pupa_realloc): Likewise.
43422 (pupa_memalign): Likewise.
43423 (pupa_mm_init_region): Declare unused variables with
43424 `__attribute__ ((unused))' to silence a gcc warning.
43425 * normal/i386/setjmp.S: Remove tab at the end of the file to
43426 silence a gcc warning.
43427 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
43428 variables with `__attribute__ ((unused))' to silence a gcc
43429 warning.
43430 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
43431 local variable i unsigned to silence a gcc warning.
43432
43433 * kern/term.c: Include <pupa/misc.h>.
43434 (pupa_more_lines): New variable.
43435 (pupa_more): Likewise.
43436 (pupa_putcode): When the pager is active pause at the end of every
43437 screen.
43438 (pupa_set_more): New function.
43439 * include/pupa/term.h (pupa_set_more): New prototype.
43440
43441
3b1139cb 434422004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
43443
43444 Now this project is GRUB 2 rather than PUPA. The location of
43445 the CVS repository was moved to GRUB's.
f19dbdb7 43446
3b1139cb 43447 * configure.ac: Use bug-grub as the reporting address.
43448 Use GRUB instead of PUPA.
43449 Change the version number to 1.90.
43450
8367695c 434512004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
43452
43453 * genkernsyms.sh: Updated copyright information.
43454 * genmk.rb: Likewise.
43455 * genmodsrc.sh: Likewise.
43456 * gensymlist.sh: Likewise.
43457 * boot/i386/pc/boot.S: Likewise.
43458 * boot/i386/pc/diskboot.S: Likewise.
43459 * disk/i386/pc/biosdisk.c: Likewise.
43460 * disk/i386/pc/partition.c: Likewise.
43461 * font/manager.c: Likewise.
43462 * fs/ext2.c: Likewise.
43463 * fs/fat.c: Likewise.
43464 * include/pupa/boot.h: Likewise.
43465 * include/pupa/device.h: Likewise.
43466 * include/pupa/disk.h: Likewise.
43467 * include/pupa/dl.h: Likewise.
43468 * include/pupa/elf.h: Likewise.
43469 * include/pupa/err.h: Likewise.
43470 * include/pupa/file.h: Likewise.
43471 * include/pupa/font.h: Likewise.
43472 * include/pupa/fs.h: Likewise.
43473 * include/pupa/kernel.h: Likewise.
43474 * include/pupa/loader.h: Likewise.
43475 * include/pupa/misc.h: Likewise.
43476 * include/pupa/mm.h: Likewise.
43477 * include/pupa/net.h: Likewise.
43478 * include/pupa/normal.h: Likewise.
43479 * include/pupa/rescue.h: Likewise.
43480 * include/pupa/setjmp.h: Likewise.
43481 * include/pupa/symbol.h: Likewise.
43482 * include/pupa/term.h: Likewise.
43483 * include/pupa/types.h: Likewise.
43484 * include/pupa/i386/setjmp.h: Likewise.
43485 * include/pupa/i386/types.h: Likewise.
43486 * include/pupa/i386/pc/biosdisk.h: Likewise.
43487 * include/pupa/i386/pc/boot.h: Likewise.
43488 * include/pupa/i386/pc/console.h: Likewise.
43489 * include/pupa/i386/pc/init.h: Likewise.
43490 * include/pupa/i386/pc/kernel.h: Likewise.
43491 * include/pupa/i386/pc/linux.h: Likewise.
43492 * include/pupa/i386/pc/loader.h: Likewise.
43493 * include/pupa/i386/pc/memory.h: Likewise.
43494 * include/pupa/i386/pc/multiboot.h: Likewise.
43495 * include/pupa/i386/pc/partition.h: Likewise.
43496 * include/pupa/i386/pc/time.h: Likewise.
43497 * include/pupa/i386/pc/vga.h: Likewise.
43498 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
43499 * include/pupa/util/getroot.h: Likewise.
43500 * include/pupa/util/misc.h: Likewise.
43501 * include/pupa/util/resolve.h: Likewise.
43502 * kern/device.c: Likewise.
43503 * kern/disk.c: Likewise.
43504 * kern/dl.c: Likewise.
43505 * kern/err.c: Likewise.
43506 * kern/file.c: Likewise.
43507 * kern/fs.c: Likewise.
43508 * kern/loader.c: Likewise.
43509 * kern/main.c: Likewise.
43510 * kern/misc.c: Likewise.
43511 * kern/mm.c: Likewise.
43512 * kern/rescue.c: Likewise.
43513 * kern/term.c: Likewise.
43514 * kern/i386/dl.c: Likewise.
43515 * kern/i386/pc/init.c: Likewise.
43516 * kern/i386/pc/lzo1x.S: Likewise.
43517 * kern/i386/pc/startup.S: Likewise.
43518 * loader/i386/pc/chainloader.c: Likewise.
43519 * loader/i386/pc/linux.c: Likewise.
43520 * loader/i386/pc/multiboot.c: Likewise.
43521 * normal/cmdline.c: Likewise.
43522 * normal/command.c: Likewise.
43523 * normal/main.c: Likewise.
43524 * normal/menu.c: Likewise.
43525 * normal/i386/setjmp.S: Likewise.
43526 * term/i386/pc/console.c: Likewise.
43527 * term/i386/pc/vga.c: Likewise.
43528 * util/console.c: Likewise.
43529 * util/genmoddep.c: Likewise.
43530 * util/misc.c: Likewise.
43531 * util/pupa-emu.c: Likewise.
43532 * util/resolve.c: Likewise.
43533 * util/unifont2pff.rb: Likewise.
43534 * util/i386/pc/biosdisk.c: Likewise.
43535 * util/i386/pc/getroot.c: Likewise.
43536 * util/i386/pc/pupa-mkimage.c: Likewise.
43537 * util/i386/pc/pupa-setup.c: Likewise.
43538
e6eced71 435392004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
43540
43541 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
43542 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
43543 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
43544 reading and reset it after reading.
43545 (pupa_ext2_close): Return PUPA_ERR_NONE.
43546
43547 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
43548 Correct value.
43549 (struct linux_kernel_header): Add kernel_version and
43550 initrd_addr_max.
43551 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
43552 pupa_file_read succeeds.
43553 (pupa_rescue_cmd_initrd): Implement.
43554
5aded270 435552003-12-03 Marco Gerards <metgerards@student.han.nl>
43556
43557 * fs/ext2.c (pupa_ext2_label): New function.
43558 (pupa_ext2_fs): Added label.
43559 * fs/fat.c (pupa_fat_label): New function.
43560 (pupa_fat_fs): Added label.
43561 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
43562
43563 * kern/misc.c (pupa_strndup): New function.
43564 * include/pupa/misc.h (pupa_strndup): New prototype.
43565
43566 * include/pupa/normal.h: Include <pupa/err.h>.
43567 (pupa_set_history): New prototype.
43568 (pupa_iterate_commands): New prototype.
43569 * normal/cmdline.c: Include <pupa/machine/partition.h>,
43570 <pupa/disk.h>, <pupa/file.h>.
43571 (hist_size): New variable.
43572 (hist_lines): Likewise.
43573 (hist_end): Likewise.
43574 (hist_used): Likewise.
43575 (pupa_set_history): New function.
43576 (pupa_history_get): Likewise.
43577 (pupa_history_add): Likewise.
43578 (pupa_history_replace): Likewise.
43579 (pupa_tab_complete): Likewise.
43580 (pupa_cmdline_run): Added tab completion and history buffer. Tab
43581 completion shows partitionnames while completing partitions, this
43582 feature was suggested by Jeff Bailey.
43583 * normal/command.c (pupa_iterate_commands): New function.
43584 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
43585 (pupa_normal_init): Initialize history buffer.
43586 (PUPA_MOD_INIT): Likewise.
43587 (pupa_normal_fini): Free the history buffer.
43588 (PUPA_MOD_FINI): Likewise.
43589
43590 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
43591 key.
43592
43593 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
43594 * configure.ac [i386]: Check for regparam bug.
43595 (NESTED_FUNC_ATTR) [! i386]: Defined.
43596
1f7315a3 435972003-11-17 Marco Gerards <metgerards@student.han.nl>
43598
43599 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
43600 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
43601 (pupa_emu_SOURCES): New variable.
43602 (pupa_emu_LDFLAGS): Likewise.
43603 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
43604 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
43605 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
43606 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43607 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
43608 (pupa_jmp_buf): New typedef.
43609 (pupa_setjmp) [PUPA_UTIL]: New macro.
43610 (pupa_longjmp) [PUPA_UTIL]: Likewise.
43611 * include/pupa/term.h (struct pupa_term): New member `refresh'.
43612 (pupa_refresh): New prototype.
43613 * include/pupa/util/getroot.h: New file.
43614 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
43615 it.
43616 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
43617 (pupa_rescue_cmd_cat): Likewise.
43618 (pupa_rescue_cmd_ls): Likewise.
43619 (pupa_rescue_cmd_testload): Likewise.
43620 (pupa_rescue_cmd_lsmod): Likewise.
43621 * normal/cmdline.c (pupa_cmdline_get): Likewise.
43622 * normal/menu.c (run_menu): Likewise.
43623 * kern/term.c (pupa_cls): Likewise.
43624 (pupa_refresh): New function.
43625 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
43626 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43627 * util/console.c: New file.
f19dbdb7 43628
1f7315a3 43629 * util/i386/pc/getroot.c: New file.
43630 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
43631 (pupa_putchar): New function.
43632 (pupa_refresh): Likewise.
43633 (xgetcwd): Function moved to ...
43634 (strip_extra_slashes): Likewise.
43635 (get_prefix): Likewise.
f19dbdb7 43636 * util/i386/pc/getroot.c: ... here.
1f7315a3 43637 (find_root_device): Function moved and renamed to...
43638 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
43639 Changed all callers.
43640 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
43641 and renamed to...
43642 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
43643 Changed all callers.
43644 * util/misc.c (pupa_memalign): New function.
43645 (pupa_mm_init_region): Likewise.
43646 (pupa_register_exported_symbols): Likewise.
43647 (pupa_putchar): Function removed.
43648 * util/pupa-emu.c: New file.
43649
9a5c1ade 436502003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
43651
43652 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
43653 (_multiboot_mod_SOURCES): New variable.
43654 (_multiboot_mod_CFLAGS): Likewise.
43655 * loader/i386/pc/multiboot.c: New file.
43656 * include/pupa/i386/pc/multiboot.h: Likewise.
43657 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
43658 (pupa_multiboot_real_boot): New function.
43659 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
43660 (pupa_multiboot_real_boot): New prototype.
43661 (pupa_rescue_cmd_multiboot): Likewise
43662 (pupa_rescue_cmd_module): Likewise.
43663
43664 * kern/loader.c (pupa_loader_set): Continue when
43665 pupa_loader_unload_func() fails.
43666 (pupa_loader_unset): New function.
43667 * include/pupa/loader.h (pupa_loader_unset): New prototype.
43668
43669 * kern/misc.c (pupa_stpcpy): New function.
43670 * include/pupa/misc.h (pupa_stpcpy): New prototype.
43671
8e72a9c0 436722003-11-12 Marco Gerards <metgerards@student.han.nl>
43673
43674 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
43675 for available extensions.
43676
43677 * include/pupa/i386/pc/time.h: New file.
43678 * kern/disk.c: Include <pupa/machine/time.h>.
43679 (PUPA_CACHE_TIMEOUT): New macro.
43680 (pupa_last_time): New variable.
43681 (pupa_disk_open): Flush the cache when there was a timeout.
43682 (pupa_disk_close): Reset the timer.
43683 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
43684 pupa_currticks.
43685 * util/misc.c: Include <sys/times.h>
43686 (pupa_get_rtc): New function.
43687
c4adbd32 436882003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43689
43690 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
43691 as blocks.
43692 (pupa_ext2_get_file_block): Use blocks member.
43693
43694 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
43695 first block. Return -1 instead of pupa_errno on error.
43696
bfd30f06 436972003-10-27 Marco Gerards <metgerards@student.han.nl>
43698
43699 * README: In the pupa-mkimage example use _chain instead of chain
43700 and ext2 instead of fat.
43701 * TODO: Replace ext2fs with jfs as an example. Add an item for
43702 adding journal playback for ext2fs.
43703 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
43704 (pkgdata_MODULES): Added ext2.mod.
43705 (ext2_mod_SOURCES): New variable.
43706 (ext2_mod_CFLAGS): Likewise.
43707 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
43708 * include/pupa/misc.h (pupa_strncpy): New prototype.
43709 (pupa_strcat): Likewise.
43710 (pupa_strncmp): Likewise.
43711 * kern/misc.c (pupa_strcat): Enable function.
43712 (pupa_strncpy): New function.
43713 (pupa_strncmp): Likewise.
43714 * fs/ext2.c: New file.
f19dbdb7 43715
bfd30f06 43716 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
43717 when the read failed before retrying.
43718 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
43719 (_FILE_OFFSET_BITS): Likewise.
43720 * configure.ac: Added AC_SYS_LARGEFILE.
43721
98d15063 437222003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43723
43724 * genmk.rb (PModule#rule): Make sure to get only symbol names
43725 from the output of nm.
59cad637 43726 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 43727
18d9c7cd 437282003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43729
43730 I forgot to check in these changes for a long time. This adds
43731 incomplete support for VGA console, and this is still very
43732 buggy. Also, a lot of consideration is required for I18N,
43733 UNICODE, and VGA font issues. Therefore, assume that this is
43734 such that "better than nothing".
f19dbdb7 43735
18d9c7cd 43736 * font/manager.c: New file.
43737 * include/pupa/font.h: Likewise.
43738 * include/pupa/i386/pc/vga.h: Likewise.
43739 * term/i386/pc/vga.c: Likewise.
43740 * util/unifont2pff.rb: Likewise.
43741
43742 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
43743 (pkgdata_MODULES): Added vga.mod and font.mod.
43744 (vga_mod_SOURCES): New variables.
43745 (vga_mod_CFLAGS): Likewise.
43746 (font_mod_SOURCES): Likewise.
43747 (font_mod_CFLAGS): Likewise.
43748
43749 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
43750
43751 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 43752 (struct pupa_term): Added init and fini.
18d9c7cd 43753 Changed the argument of putchar to pupa_uint32_t.
43754
43755 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
43756 (pupa_console_real_putchar): New prototype.
43757 (pupa_console_putchar): Removed.
43758 (pupa_console_checkkey): Exported.
43759 (pupa_console_getkey): Likewise.
43760
43761 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
43762 characters.
43763
43764 * kern/term.c (pupa_term_set_current): Rewritten.
43765 (pupa_putchar): Likewise.
43766 (pupa_putcode): New function.
43767
43768 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
43769 (pupa_console_real_putchar): ... this.
43770 (pupa_vga_set_mode): New function.
43771 (pupa_vga_get_font): Likewise.
43772
43773 * normal/command.c: Include pupa/term.h.
43774 (terminal_command): New function.
43775 (pupa_command_init): Register the command "terminal".
43776
43777 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
43778 (DISP_UP): Likewise.
43779 (DISP_RIGHT): Likewise.
43780 (DISP_DOWN): Likewise.
43781 (DISP_HLINE): Likewise.
43782 (DISP_VLINE): Likewise.
43783 (DISP_UL): Likewise.
43784 (DISP_UR): Likewise.
43785 (DISP_LL): Likewise.
43786 (DISP_LR): Likewise.
43787
43788 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 43789
977329f5 437902003-02-08 NIIBE Yutaka <gniibe@m17n.org>
43791
43792 * util/resolve.c (pupa_util_resolve_dependencies): BUG
43793 FIX. Reverse the path_list.
43794
43795 * include/pupa/normal.h: Export pupa_register_command and
43796 pupa_unregister_command.
43797
43798 * hello/hello.c (pupa_cmd_hello): New module.
43799 * conf/i386-pc.rmk: Added hello.mod.
43800
1f5ab428 438012003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
43802
43803 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 43804
1f5ab428 43805 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
43806 (compress_kernel): New variable.
43807 (generate_image): Heavily modified to support compressing a
43808 large part of the core image.
43809
43810 * util/misc.c (pupa_util_read_image): Fix a file descriptor
43811 leak.
43812 (pupa_util_load_image): New function.
43813
43814 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
43815 (pupa_compressed_size): New variable.
43816 (codestart): Enable Gate A20 here.
43817 Decompress the compressed part of the core image.
43818 Rearrange the code to put functions and variables which are
43819 required for initialization in the non-compressed part.
43820 Include lzo1x.S.
43821
43822 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
43823 here.
43824
43825 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
43826
f19dbdb7 43827 * include/pupa/i386/pc/kernel.h
1f5ab428 43828 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
43829 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
43830 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43831 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43832 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
43833
43834 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
43835
43836 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
43837 (Utility#rule): Likewise.
43838
43839 * configure.ac: Check if LZO is available.
43840
ce5bf700 438412003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
43842
43843 * include/pupa/normal.h: New file.
43844 * include/pupa/setjmp.h: Likewise.
43845 * include/pupa/i386/setjmp.h: Likewise.
43846 * normal/cmdline.c: Likewise.
43847 * normal/command.c: Likewise.
43848 * normal/main.c: Likewise.
43849 * normal/menu.c: Likewise.
43850 * normal/i386/setjmp.S: Likewise.
f19dbdb7 43851
ce5bf700 43852 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
43853 (pupa_rescue_cmd_initrd): Likewise.
43854
43855 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
43856 Likewise.
43857
43858 * kern/i386/pc/startup.S (translation_table): New variable.
43859 (translate_keycode): New function.
43860 (pupa_console_getkey): Call translate_keycode.
43861
43862 * kern/rescue.c (attempt_normal_mode): New function.
43863 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
43864 it failed, print a message.
43865
43866 * kern/mm.c (pupa_real_malloc): Print more information when a
43867 free magic is broken.
43868 (pupa_free): If the first free header is not free actually, set
43869 it to P.
43870
43871 * kern/main.c (pupa_load_normal_mode): Just load the module
43872 "normal".
43873 (pupa_main): Don't print the message
43874 "Entering into rescue mode..." here.
43875
43876 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
43877 Declared.
43878 (pupa_rescue_cmd_initrd): Likewise.
43879 (pupa_rescue_cmd_initrd): Likewise.
43880
43881 * include/pupa/symbol.h (FUNCTION): Specify the type.
43882 (VARIABLE): Likewise.
43883
43884 * include/pupa/err.h (pupa_err_t): Added
43885 PUPA_ERR_UNKNOWN_COMMAND.
43886
43887 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
43888 (pupa_dl_get_prefix): Likewise.
43889
43890 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
43891 Added _chain.mod and _linux.mod instead of chain.mod and
43892 linux.mod.
43893 (chain_mod_SOURCES): Renamed to ...
43894 (_chain_mod_SOURCES): ... this.
43895 (chain_mod_CFLAGS): Renamed to ...
43896 (_chain_mod_CFLAGS): ... this.
43897 (linux_mod_SOURCES): Renamed to ...
43898 (_linux_mod_SOURCES): ... this.
43899 (linux_mod_CFLAGS): Renamed to ...
43900 (_linux_mod_CFLAGS): ... this.
43901 (normal_mod_SOURCES): New variable.
43902 (normal_mod_CFLAGS): Likewise.
43903 (normal_mod_ASFLAGS): Likewise.
43904
439052003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
43906
43907 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
43908 possible.
43909
fe6b695a 43910 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 43911 recursively.
43912 (pupa_dl_unref): Unrefer depending modules recursively.
43913 Don't call pupa_dl_unload implicitly, because PUPA can crash if
43914 a module is unloaded before one depending on that module is
43915 unloaded.
43916 (pupa_dl_unload): Unload depending modules explicitly,
43917 if possible.
43918
c04da074 439192003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
43920
43921 * include/pupa/i386/pc/linux.h: New file.
43922 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 43923
c04da074 43924 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
43925 Removed.
43926 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
43927 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
43928 of PUPA_CHAINLOADER_BOOT_SECTOR.
43929
43930 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
43931 (pupa_linux_prot_size): New variable.
43932 (pupa_linux_tmp_addr): Likewise.
43933 (pupa_linux_real_addr): Likewise.
43934 (pupa_linux_boot_zimage): New function.
43935 (pupa_linux_boot_bzimage): Likewise.
43936
43937 * kern/i386/pc/init.c (struct mem_region): New structure.
43938 (MAX_REGIONS): New macro.
43939 (mem_regions): New variable.
43940 (num_regions): Likewise.
43941 (pupa_os_area_addr): Likewise.
43942 (pupa_os_area_size): Likewise.
43943 (pupa_lower_mem): Likewise.
43944 (pupa_upper_mem): Likewise.
43945 (add_mem_region): New function.
43946 (compact_mem_regions): Likewise.
43947 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
43948 the size of the conventional memory and that of so-called upper
43949 memory (before the first memory hole).
43950 Instead of adding each found region to free memory, use
43951 add_mem_region and add them after removing overlaps.
43952 Also, add only 1/4 of the upper memory to free memory. The rest
43953 is used for loading OS images. Maybe this is ad hoc, but this
43954 makes it much easier to relocate OS images when booting.
43955
43956 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
43957 (pupa_enter_rescue_mode): Don't register initrd and module.
43958
43959 * kern/mm.c: Include pupa/dl.h.
43960
43961 * kern/main.c: Include pupa/file.h and pupa/device.h.
43962
43963 * kern/loader.c (pupa_loader_load_module_func): Removed.
43964 (pupa_loader_load_module): Likewise.
43965
43966 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
43967 ``.o''.
43968
43969 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
43970 (pupa_linux_tmp_addr): Likewise.
43971 (pupa_linux_real_addr): Likewise.
43972 (pupa_linux_boot_zimage): Likewise.
43973 (pupa_linux_boot_bzimage): Likewise.
43974
43975 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
43976 (pupa_upper_mem): Likewise.
43977 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
43978 module is too dangerous.
43979
43980 * include/pupa/loader.h (pupa_os_area_addr): Declared.
43981 (pupa_os_area_size): Likewise.
43982 (pupa_loader_set): Remove the first argument. Loader doesn't
43983 manage modules or initrd any longer.
43984 (pupa_loader_load_module): Removed.
43985
43986 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
43987 (linux_mod_SOURCES): New variable.
43988 (linux_mod_CFLAGS): Likewise.
43989
a13f9237 439902003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
43991
43992 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
43993 the length of a blocklist correctly.
43994
43995 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
43996 Use ioctl only if the OS file is a block device.
43997 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
43998 not very useful for normal files.
43999
44000 * kern/main.c (pupa_set_root_dev): New function.
44001 (pupa_load_normal_mode): Likewise.
44002 (pupa_main): Call those above.
44003
44004 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
44005 pupa_uint16_t.
44006
44007 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
44008
a5ffe966 440092003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44010
44011 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
44012 (setup): Configure the installed partition information and the
44013 dl prefix.
44014
44015 * loader/i386/pc/chainloader.c (my_mod): New variable.
44016 (pupa_chainloader_unload): New function.
44017 (pupa_rescue_cmd_chainloader): Refer itself.
44018 (PUPA_MOD_INIT): Save its own module in MY_MOD.
44019
44020 * kern/i386/pc/startup.S (install_partition): Removed.
44021 (version_string): Likewise.
44022 (config_file): Likewise.
44023 (pupa_install_dos_part): New variable.
44024 (pupa_install_bsd_part): Likewise.
44025 (pupa_prefix): Likewise.
44026 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
44027
44028 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
44029 and pupa/misc.h.
44030 (make_install_device): New function.
44031 (pupa_machine_init): Set the dl prefix.
44032
44033 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
44034 (buf): Renamed to ...
44035 (linebuf): ... this.
44036 (pupa_rescue_cmd_prefix): New function.
44037 (pupa_rescue_cmd_insmod): Likewise.
44038 (pupa_rescue_cmd_rmmod): Likewise.
44039 (pupa_rescue_cmd_lsmod): Likewise.
44040 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
44041 rmmod and lsmod.
44042
44043 * kern/mm.c (pupa_memalign): If failed even after invalidating
44044 disk caches, unload unneeded modules and retry.
44045
44046 * kern/misc.c (pupa_memmove): New function.
44047 (pupa_memcpy): Removed.
44048 (pupa_strcpy): New function.
44049 (pupa_itoa): Made static.
44050
44051 * kern/dl.c (pupa_dl_iterate): New function.
44052 (pupa_dl_ref): Likewise.
44053 (pupa_dl_unref): Likewise.
44054 (pupa_dl_unload): Return if succeeded or not.
44055 (pupa_dl_unload_unneeded): New function.
44056 (pupa_dl_unload_all): Likewise.
44057 (pupa_dl_init): Renamed to ...
44058 (pupa_dl_set_prefix): ... this.
44059 (pupa_dl_get_prefix): New function.
44060
44061 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
44062 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
44063 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44064 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44065 (pupa_install_dos_part): Declared.
44066 (pupa_install_bsd_part): Likewise.
44067 (pupa_prefix): Likewise.
44068 (pupa_boot_drive): Likewise.
44069
44070 * include/pupa/types.h: Fix a typo.
44071
44072 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
44073 pupa_memmove.
44074 (pupa_memmove): Declared.
44075 (pupa_strcpy): Likewise.
44076
44077 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
44078 pupa_mod_init takes one argument, its own module.
44079 (pupa_dl_unload_unneeded): Declared.
44080 (pupa_dl_unload_all): Likewise.
44081 (pupa_dl_ref): Likewise.
44082 (pupa_dl_unref): Likewise.
44083 (pupa_dl_iterate): Likewise.
44084 (pupa_dl_init): Renamed to ...
44085 (pupa_dl_set_prefix): ... this.
44086 (pupa_dl_get_prefix): Declared.
44087
44088 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 44089 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 44090 unloaded.
44091 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
44092 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
44093
44094 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
44095 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
44096
012d7999 440972003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44098
44099 * util/i386/pc/pupa-setup.c (setup): Define the internal
44100 function find_first_partition_start at the top level, because GCC
44101 3.0.x cannot compile internal functions in deeper scopes
44102 correctly.
44103 (find_root_device): Use lstat instead of stat.
44104 Don't follow symbolic links.
44105 Fix the path-constructing code.
44106
44107 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
44108 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
44109 by a BLKGETSIZE ioctl first, because block devices don't fill
44110 the member st_mode of the structure stat on Linux.
44111 [__linux__] (linux_find_partition): Use a temporary buffer
44112 REAL_DEV for the working space. Copy it to DEV before returning.
44113 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
44114 buffer cache consistent.
44115 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
44116 strncmp. The previous value was merely wrong.
44117 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
44118
44119 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
44120 FAT size is 12. The previous value was merely wrong.
44121
44122 * kern/main.c (pupa_main): Don't split the starting message from
44123 newlines.
44124
44125 * kern/term.c (pupa_putchar): Put CR after LF instead of before
44126 LF, because BIOS goes crazy about character attributes in this
44127 case.
44128
1cc73a62 441292003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44130
44131 * include/i386/pc/util/biosdisk.h: New file.
44132 * util/i386/pc/biosdisk.c: Likewise.
44133 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 44134
1cc73a62 44135 * Makefile.in (INCLUDE_DISTFILES): Added
44136 include/pupa/i386/pc/util/biosdisk.h.
44137 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
44138 directory util/i386/pc.
44139 (install-local): Added a rule for sbin_UTILITIES.
44140 (uninstall): Likewise.
44141
44142 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
44143
44144 * util/misc.c (xrealloc): New function.
44145 (pupa_malloc): Likewise.
44146 (pupa_free): Likewise.
44147 (pupa_realloc): Likewise.
44148 (pupa_stop): Likewise.
44149 (pupa_putchar): Likewise.
44150
44151 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
44152
44153 * include/pupa/util/misc.h (xrealloc): Declared.
44154
44155 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
44156 macro.
44157 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
44158 (PUPA_BOOT_MACHINE_BPB_END): ... this.
44159
44160 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
44161 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44162
44163 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
44164 way should be implemented.
44165 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44166
44167 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
44168 the size of NAME for safety.
44169 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
44170 0x88.
44171
44172 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
44173 (pupa_setup_SOURCES): Likewise.
44174
44175 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
44176
08b70fe8 441772002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44178
44179 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
44180 bunch of pushl's from pusha, because this destroys the return
44181 value.
44182
62ddcc8f 441832002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44184
44185 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
44186 This means that any missing prototypes could be fatal. Also, you
44187 must take care when writing assembly code. See the comments at
44188 the beginning of startup.S, for more details.
f19dbdb7 44189
62ddcc8f 44190 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
44191 compilation mechanism.
44192 (pupa_chainloader_real_boot): Likewise.
44193 (pupa_biosdisk_rw_int13_extensions): Likewise.
44194 (pupa_biosdisk_rw_standard): Likewise.
44195 (pupa_biosdisk_check_int13_extensions): Likewise.
44196 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
44197 (pupa_biosdisk_get_diskinfo_standard): Likewise.
44198 (pupa_get_memsize): Likewise.
44199 (pupa_get_mmap_entry): Likewise.
44200 (pupa_console_putchar): Likewise.
44201 (pupa_console_setcursor): Likewise.
44202 (pupa_getrtsecs): Use pushl instead of push.
44203
44204 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
44205 memory instead of the stack for a mmap entry, because some
44206 BIOSes may ignore the maximum size and overflow.
44207
44208 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
44209
44210 * genmk.rb (PModule#rule): Compile automatically generated
44211 sources with module-specific CFLAGS as well as other sources.
44212
9962ed99 442132002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44214
44215 * configure.ac: Check ld.
44216 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
44217 respectively, before checking endianness and sizes.
44218
44219 * Makefile.in (LD): New variable.
f19dbdb7 44220
abdfc3c5 442212002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44222
44223 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
44224
6a161fa9 442252002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44226
44227 * Changelog: New file.
44228