]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
[grub2.git] / ChangeLog
CommitLineData
2282da4a
VS
12012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
4 beyond 4 GiB.
5 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
6 images independently of preffered adderss field.
7
0ae4f0bd
VS
82012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9
10 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
11 * grub-core/commands/regexp.c: Likewise.
12 * grub-core/loader/i386/linux.c: Likewise.
13 * grub-core/partmap/msdos.c: Likewise.
14 * grub-core/script/execute.c: Likewise.
15 * grub-core/term/gfxterm.c: Likewise.
16
546fbe9b
VS
172012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
18
19 Add variable parsing in $"..." and fix several mismatches with bash.
20
21 * Makefile.util.def (grub_script_gettext): New test.
22 * grub-core/script/execute.c (parse_string): New function.
23 (gettext_append): Likewise.
24 (grub_script_arglist_to_argv): Use gettext_append.
25 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
26 * tests/grub_script_gettext.in: New file.
27
9fdb2d7b
VS
282012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
29
30 Fix handling of leading spaces in scripts.
31
32 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
33 spaces.
34 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
35 other than skipping \r. All users updated.
36 * tests/grub_script_echo1.in: Add space-related tests.
37 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
38
1a1ac4f6
VS
392012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
42
b63d89b6
VS
432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * configure.ac: Bump up the version to beta2.
46
17f38c0f
VS
472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
48
49 Fix gettext reload bugs (e.g. inability to disable gettext
50 once enabled).
51
52 * grub-core/gettext/gettext.c: Encapsulate all static variables in
53 main_context and secondary_context. All functions updated.
54 (grub_gettext_translate): Rename to ...
55 (grub_gettext_translate_real): ... this. Return NULL on failed
56 translate.
57 (grub_gettext_translate): Handle secondary context.
58 (grub_gettext_delete_list): Close file and zero-out the context.
59 (grub_mofile_open): Don't call grub_gettext_delete_list.
60 Don't close file.
61 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
62 if locale="" to avoid pointless error message.
63 (grub_gettext_env_write_lang): Update lang even if load fails.
64 Handle secondary context.
65 (grub_gettext_reread_prefix): New function.
66 (read_main): Likewise.
67 (read_secondary): Likewise.
68 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
69 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
70 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
71 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
72
8e56f870
VS
732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * configure.ac: Decrease warning level to avoid spurious warnings and
76 to be able to compile with GCC 4.2.
77 * Makefile.util.def: Remove -Wno-error=logical-op.
78
82f6d455
WB
792012-03-10 William Bittner <william.bittner@gmail.com>
80
81 * util/import_unicode.py: Add missing brackets around string for
82 python 3 support.
83
1ecd61a4
VS
842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
85
86 Fix efi chainloader on network root.
87
88 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
89 network devices.
90 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
91 New function.
92
14361ee8
VS
932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
96 unused show_text member.
97 * docs/grub.texi: Document "text" property.
98
922aabf3
VS
992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
102 in dprintf.
103
ec316771
VS
1042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
105
106 Fix IMSM handling on Fedora.
107
108 * util/getroot.c (grub_util_is_imsm): New function.
109 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
110
0f021838
VS
1112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * Makefile.am: Strip gold section.
114 * conf/Makefile.common: Likewise.
115 * gentpl.py: Likewise.
116 * grub-core/Makefile.core.def: Likewise.
117 * grub-core/genmod.sh.in: Likewise.
118
1039c8eb
VS
1192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
122 * util/grub.d/20_linux_xen.in: Likewise.
123 Based on Debian patch.
124
6dd412cd
VS
1252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * util/grub.d/10_linux.in: Fix syntax error resulting in
128 Richard Laager's patch.
129 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
130
3fd8bae5
VS
1312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
134 dependencies.
135
7eea1671
RL
1362012-03-10 Richard Laager <rlaager@wiktel.com>
137
138 * util/grub.d/10_linux.in: Fix ZFS root passing.
139
e8e0566b
VS
1402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
141
142 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
143 * grub-core/commands/xnu_uuid.c: Likewise.
144 * grub-core/loader/efi/appleloader.c: Likewise.
145 * grub-core/script/execute.c: Likewise.
146 * grub-core/script/main.c: Likewise.
147 * util/grub-mkfont.c: Likewise.
148
1acc5b1f
VS
1492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * util/grub-mkfont.c (options): Use more appropriate "select" that
152 "set" for face index.
153
35d70620
VS
1542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
155
156 * util/grub-editenv.c (options): Gettextize command summaries.
157
c9eb96b5
VS
1582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
161 "out of memory" error messagge.
162
1f493136
VS
1632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
166 of diskfilter for diskfilter on diskfilter support.
167
6d790129
VS
1682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
171
005f46c9
VS
1722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * util/grub-install.in: Check for themes/starfield/theme.txt and not
175 themes/starfield.
176
c8f778a0
VS
1772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
180
de1e64eb
VS
1812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
182
183 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
184
c6d54211
VS
1852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
188 of error message.
189
dd390777
VS
1902012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
193
5fd1c522
VS
1942012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
197 message.
c6d54211 198 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 199
fae01f6c
VS
2002012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
203 Gettextize.
204 * util/grub-mount.c (options): Likewise.
205
292fdaff
VS
2062012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
209 gettextize.
210 * grub-core/commands/search_wrap.c (options): Likewise.
211
ecdbae77
VS
2122012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
215
52bfedfa
VS
2162012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
217
218 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
219 size calculation.
220 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
221 none is known.
222
55b20e58
VS
2232012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
226 "temporary" since it's used in identifier and is limited in space.
227
fda9d101
VS
2282012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * po/POTFILES.in: Regenerate. Include *.h since they contain
231 translatable strings as well.
232
6a0295e2
VS
2332012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
236 byte-swap on big-endian.
237 Reported by: Lennart Sorensen
238
807fb77c
VS
2392012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
242 (allocate_pages): Improve dprintf.
243 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
244 code32_start. Fill code32_start and kernel_alignment in params.
245 (grub_cmd_initrd): Use prot_init_space.
246
61ac50ba
VS
2472012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
250
abdd26dd
VS
2512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * util/grub-install.in: Add missing dot at the end of sentence.
254
6e69da9c
VS
2552012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
258 * grub-core/commands/videotest.c: Likewise.
259 * grub-core/loader/i386/linux.c: Likewise.
260
4a929343
VS
2612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
264 sentence.
265 Reported by: Milo Casagrande.
266
bb51c6c6
VS
2672012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
270 * grub-core/commands/gptsync.c: Likewise.
271 * grub-core/commands/hashsum.c: Likewise.
272 * grub-core/commands/i386/pc/sendkey.c: Likewise.
273 * grub-core/commands/legacycfg.c: Likewise.
274 * grub-core/io/gzio.c: Likewise.
275 * grub-core/net/net.c: Likewise.
276 * grub-core/term/gfxterm.c: Likewise.
277 * grub-core/term/terminfo.c: Likewise.
278 * grub-core/tests/test_blockarg.c: Likewise.
279 * grub-core/video/video.c: Likewise.
280 * util/grub-install.in: Likewise.
281 * util/grub-mkfont.c: Likewise.
282
b2b149cb
VS
2832012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
286
c7c080ad
VS
2872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 290 Reported by: David Prévot.
c7c080ad 291
f2e243c0
VS
2922012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
295 description.
296
09963c76
VS
2972012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * util/grub-script-check.c (main): Fix a syntax error message which was
300 unclear.
301
a50514a8
VS
3022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
303
304 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
305
4650daec
VS
3062012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
309 messages.
310
3112012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
312
313 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
314 without argument.
315 * util/grub-mount.c (options): Likewise.
316
bbc5a342
VS
3172012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
320
ef292a87
VS
3212012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * grub-core/net/http.c: Add TRANSLATORS comments.
324 * grub-core/normal/cmdline.c: Likewise.
325 * grub-core/normal/misc.c: Likewise.
326 * grub-core/partmap/msdos.c: Likewise.
327 * grub-core/parttool/msdospart.c: Likewise.
328 * grub-core/script/execute.c: Likewise.
329 * grub-core/script/main.c: Likewise.
330 * grub-core/term/terminfo.c: Likewise.
331 * grub-core/video/bitmap.c: Likewise.
332 * util/grub-install.in: Likewise.
333 * util/grub-mkimage.c: Likewise.
334 * util/grub-mklayout.c: Likewise.
335 * util/grub-setup.c: Likewise.
336
0fc19bd0
VS
3372012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
338
339 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
340 with similar messages in grub-fstest.
341
d95862ef
VS
3422012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * util/grub-install.in: Unify "option requires an argument" message
345 with similar messages in other files.
346 * util/grub-mkconfig.in: Likewise.
347
b7308f90
VS
3482012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * util/grub-set-default.in: Replace printf with gettext_printf (the
351 string in in question is already translated from grub-reboot)
352
559dc587
VS
3532012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * configure.ac: Bump up the version to beta1.
356
1a11761f
VS
3572012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
360 case when min_align = 0.
361
24539abd
VS
3622012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
365 and fix a case when line_start overflows.
366
32bd735b
VS
3672012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * util/grub-reboot.in (usage): Mention id posibility.
370 * util/grub-set-default.in (usage): Likewise.
371
1a2fd1e6
VS
3722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
375 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
376 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
377 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
378 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
379 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
380 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
381
90eeab76
VS
3822012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * grub-core/commands/menuentry.c (options): Remove
385 GRUB_ARG_OPTION_REPEATABLE.
386 Reported by: Andreas Vogel
387
5ad1be82
AV
3882012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
389
390 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
391
cb055286
HE
3922012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
393
394 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
395 error.
396
93b1cd79
VS
3972012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
398
399 Use sort -V by the idea of Georgi Georgiev.
400
401 * util/grub-mkconfig_lib.in (version_sort): New function.
402 (version_test_numeric): Use version_sort.
403
0cdc126c
VS
4042012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
405
406 Use submenus in grub-mkconfig.
407
408 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
409 * util/grub-mkconfig_lib.in (grub_quote): New function.
410 (gettext_printf): Use gettext and not gettext_quoted to fix several
411 messages.
412 * util/grub.d/10_hurd.in: Use submenus.
413 * util/grub.d/10_kfreebsd.in: Likewise.
414 * util/grub.d/10_linux.in: Likewise.
415 * util/grub.d/10_netbsd.in: Likewise.
416 * util/grub.d/20_linux_xen.in: Likewise.
417 * util/grub.d/30_os-prober.in: Likewise.
418 * util/grub.d/10_illumos.in: Add missing quoting.
419 * util/grub.d/10_windows.in: Likewise.
420
d9bef9bc
VS
4212012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
422
423 Fix menu title instability bug.
424
425 * grub-core/commands/menuentry.c (options): New option --id.
426 (grub_normal_add_menu_entry): New argument id. All users updated.
427 (grub_cmd_menuentry): Handle --id.
428 (grub_menu_init): Accept unknown arguments.
429 * grub-core/normal/main.c (features): Add feature_menuentry_id and
430 feature_menuentry_options.
431 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
432 saved_entry.
433 (get_entry_number): Match with id as well.
434 * include/grub/menu.h (grub_menu_entry): New member id.
435 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
436 * util/grub.d/00_header.in: Define menuentry_id_option.
437 * util/grub.d/10_hurd.in: Define id.
438 * util/grub.d/10_illumos.in: Likewise.
439 * util/grub.d/10_kfreebsd.in: Likewise.
440 * util/grub.d/10_linux.in: Likewise.
441 * util/grub.d/10_netbsd.in: Likewise.
442 * util/grub.d/10_windows.in: Likewise.
443 * util/grub.d/20_linux_xen.in: Likewise.
444 * util/grub.d/30_os-prober.in: Likewise.
445
4462012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
447
448 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
449 "scope" with "body".
450
7c8d0ce7
VS
4512012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
454 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
455 prot_size and prot_file_size.
456
49de079b
VS
4572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
460 All users updated. If easily=1 require raid-5/-6 to be full.
461 (is_node_readable): Likewise.
462 (scan_devices): Scan incomplete but readable LVs at the end.
463 (grub_diskfilter_memberlist): Pull missing devices.
464 (insert_array): Skip scanning until device is complete or scan is
465 done otherwise.
466 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
467 check.
468 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
469 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
470
aff05d45
MG
4712012-03-03 Matthew Garrett <mjg@redhat.com>
4722012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
473
474 Avoid EFI boot services when loading Linux.
475
476 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
477 avoid_efi_bootservices. All users updated.
478 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
479 argument avoid_efi_bootservices. All users updated.
480 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
481 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
482 align, min_align, relocatable, prefered_address. All users updated.
483 Allocate avoiding boot services if kernel is relocatable.
484 (grub_cmd_linux): Check if kernel is relocatable.
485 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
486 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
487 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
488 avoid_efi_boot_services.
489 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
490 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
491 (linux_kernel_params): Likewise.
492
3935dde2
MG
4932012-03-03 Matthew Garrett <mjg@redhat.com>
4942012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
495
496 Use EDID on EFI.
497
498 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
499 datasize_out.
500 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
501 modes. Set gop_handle.
502 (grub_video_gop_get_edid): New function.
503 (grub_gop_get_preferred_mode): Likewise.
504 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
505 (grub_video_efi_gop_adapter): Set .get_edid.
506 * include/grub/efi/edid.h: New file.
507 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
508
32107ec0
VS
5092012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * util/grub-install.in: Load efivars unconditionally.
512
e70a2c50
VS
5132012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * po/Rules-piglatin: Change suffix from .po-update-en to
516 .po-update-en-piglatin.
517
8f9cace1
VS
5182012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
519
520 Add a pig farm.
521
522 * po/piglatin.sed: New file.
523 * po/en@piglatin.header: Likewise.
524 * po/Rules-piglatin: Likewise.
525 * po/README: Add en@piglatin to autogenerated languages.
526
8f95d002
VS
5272012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
530 "Command for ...".
531 * grub-core/commands/hdparm.c (options): Use "Display" rather than
532 "Check" since we don't check anything.
533 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
534 is 64-bit one.
535 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
536 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
537 (grub_md_sha512_real): Likewise.
538
805a8dcc
VS
5392012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/commands/gptsync.c: Fix typographic quoting.
542 * grub-core/commands/ieee1275/suspend.c: Likewise.
543 * grub-core/commands/parttool.c: Likewise.
544 * grub-core/commands/search_wrap.c: Likewise.
545 * grub-core/commands/videoinfo.c: Likewise.
546 * grub-core/gfxmenu/gui_label.c: Likewise.
547 * grub-core/hello/hello.c: Likewise.
548 * grub-core/kern/emu/main.c: Likewise.
549 * grub-core/net/net.c: Likewise.
550 * grub-core/normal/menu.c: Likewise.
551 * grub-core/normal/menu_text.c: Likewise.
552 * grub-core/normal/misc.c: Likewise.
553 * util/grub-editenv.c: Likewise.
554 * util/grub-install.in: Likewise.
555 * util/grub-kbdcomp.in: Likewise.
556 * util/grub-mkconfig.in: Likewise.
557 * util/grub-mknetdir.in: Likewise.
558 * util/grub-mkrescue.in: Likewise.
559 * util/grub-mkstandalone.in: Likewise.
560 * util/grub-reboot.in: Likewise.
561 * util/grub-set-default.in: Likewise.
562 * util/grub-setup.c: Likewise.
563 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
564
40211ab8
VS
5652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
566
567 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
568 * grub-core/commands/keystatus.c: Likewise.
569 * grub-core/commands/loadenv.c: Likewise.
570 * grub-core/commands/probe.c: Likewise.
571 * grub-core/commands/regexp.c: Likewise.
572 * grub-core/commands/true.c: Likewise.
573 * grub-core/commands/videoinfo.c: Likewise.
574 * grub-core/disk/cryptodisk.c: Likewise.
575 * grub-core/disk/ldm.c: Likewise.
576 * grub-core/disk/loopback.c: Likewise.
577 * grub-core/disk/luks.c: Likewise.
578 * grub-core/fs/zfs/zfsinfo.c: Likewise.
579 * grub-core/kern/disk.c: Likewise.
580 * grub-core/kern/emu/hostdisk.c: Likewise.
581
0c7d99c7
VS
5822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
585 * util/grub-install.in: Add missing quote in the comment.
586
e7d2559b
VS
5872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
588
589 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
590 * grub-core/commands/lsmmap.c: Likewise.
591 * grub-core/commands/minicmd.c: Likewise.
592 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
593 * grub-core/commands/regexp.c: Likewise.
594 * grub-core/gdb/gdb.c: Likewise.
595 * grub-core/term/gfxterm.c: Likewise.
596 * util/grub-mkconfig.in: Likewise.
597 * util/grub-mkfont.c: Likewise.
598 * util/grub-mklayout.c: Likewise.
599 * util/grub-mknetdir.in: Likewise.
600 * util/grub-mkrescue.in: Likewise.
601 * util/grub.d/30_os-prober.in: Likewise.
602
49ce9e50
VS
6032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
606 with "Direct color" and "Packed" with "Packed pixel".
607 (grub_cmd_videoinfo): Simplify legend.
608
e4b791fa
VS
6092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
612 absolutely unclear error message.
613
fd1265cb
VS
6142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * util/grub-mkstandalone.in: Remove confusing leftover print.
617
8822a8a0
VS
6182012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
621 comments.
622 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
623 (GRUB_MOD_INIT): Likewise.
624 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
625 VGA mode.
626 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
627 comments.
628 * util/grub-install.in (usage): Likewise.
629 Spell ID in whole letters.
630 Add missing ending dot.
631 Quote variables.
632 * util/grub-reboot.in: Fix capitalisation.
633 * util/grub-set-default.in: Likewise.
634
937fd0cc
VS
6352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
638 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
639 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
640 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
641 Disable -Werror for -Wdeprecated-declarations.
642 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
643 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
644 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
645 (grub_util_get_grub_dev): Make luks handling dependent on
646 HAVE_DEVICE_MAPPER and not __linux__.
647 (get_win32_path): Fix format security.
648 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
649 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
650 Don't try grub_find_zpool_from_dir.
651 (grub_make_system_path_relative_to_its_root) [!__linux__]:
652 #ifdef-out paresdir.
653
1bab1ae3
VS
6542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * util/grub-pe2elf.c (usage): Add missing noreturn.
657 (write_section_data): Rename name to shname to avoid shadowing.
658 (write_symbol_table): Rename name to symname to avoid shadowing.
659 Fix write_reloc_section call.
660
ef023e42
VS
6612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
664 to ensure that it's after the last byte of .text.
665
48afcb75
VS
6662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
667
668 * util/ieee1275/ofpath.c (my_isdigit): New function.
669 (trailing_digits): Use my_isdigit.
670 (strip_trailing_digits): Likewise.
671
88d51eff
VS
6722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
675 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
676
17edc2ba
VS
6772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/kern/i386/pc/startup.S: Define __start.
680
ad5518d7
VS
6812012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
684 strip already transforms he format.
685
9e95e1bf
VS
6862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
689
9cc3ee5c
VS
6902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
691
692 * util/grub-install.in: Add missing gettext init.
693 * util/grub-kbdcomp.in: Likewise.
694 * util/grub-mkconfig.in: Likewise.
695 * util/grub-mknetdir.in: Likewise.
696 * util/grub-mkrescue.in: Likewise.
697 * util/grub-mkstandalone.in: Likewise.
698 * util/grub-reboot.in: Likewise.
699 * util/grub-set-default.in: Likewise.
700 * util/grub.d/00_header.in: Likewise.
701 * util/grub.d/10_hurd.in: Likewise.
702 * util/grub.d/10_windows.in: Likewise.
703 * util/grub.d/30_os-prober.in: Likewise.
704 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
705
49e08a06
VS
7062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * po/Rules-swiss: Fix header comment.
709
3809cb41
AV
7102012-02-29 Andreas Vogel <anvoit>
711
712 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
713 resulted in leak of arguments.
714
fa6ec573
VS
7152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * grub-core/boot/i386/pc/startup_raw.S: Use separate
718 reed_solomon_size const definition instead of computing it since
719 Apple assembler doesn't support the later.
720
22899b9c
VS
7212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * gentpl.py (kernel): Rewrite Apple part.
724
a132afc3
VS
7252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * include/grub/kernel.h (FOR_MODULES): Check module magic.
728
9d742bd4
VS
7292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * util/grub-mkimagexx.c (locate_sections): Support non-standard
732 ELF section gap.
733 (load_image): Likewise.
734
f04a9a21
VS
7352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * configure.ac: Fix a typo in previous commit.
738
46cf439c
VS
7392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
740
741 Don't add -Wl,-N on Apple platform.
742
743 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
744 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
745
c4c48c54
VS
7462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * grub-core/Makefile.core.def (lzma_decompress): Use
749 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
750
31a12124
VS
7512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * grub-core/genmod.sh.in: Rewrite the Apple part.
754
4f3aa1af
VS
7552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
758 comparison.
759
7bd8b0c7
VS
7602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * acinclude.m4 (grub_CHECK_PIC): New test.
763 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
764
97304d7c
VS
7652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
768 to avoid the warning.
769
fb883812
VS
7702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
773 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
774 after. All users updated.
775
a121c964
VS
7762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
777
778 Use the common size routine in hostfs so we can read disks as well.
779
780 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
781 (grub_util_get_fd_size): ... this. Return size in bytes.
782 All users updated.
783 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
784 grub_util_get_fd_size.
785
c66d6410
VS
7862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
789 Add blocksize retrieval.
790
dfc8aeb0
VS
7912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * configure.ac: Restore CFLAGS after efiemu check.
794
403e25a5
VS
7952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
798 Apple bug.
799
382775d1
VS
8002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
803
6fd4e6e4
VS
8042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
807 (grub_cmd_halt): Likewise.
808
bea359d6
VS
8092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
812 for local arithmetics.
813 Break %sp init into 2 instructions.
814 Add 0 byte at the end.
815
32eb6ee1
VS
8162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * grub-core/disk/diskfilter.c (read_segment): Initialise err
819 before loops.
820
e8377389
VS
8212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
824 for context.
825
8cb17de7
VS
8262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * grub-core/disk/ldm.c (make_vg): Init part.name.
829 (grub_ldm_detect): Silence spurious warning.
830 (grub_util_is_ldm): Likewise.
831
595717e6
VS
8322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
835 sane value to avoid a spurious warning.
836
c4b7e588
VS
8372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
840 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
841
59824957
VS
8422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
845 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
846
70115b99
VS
8472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
850 hardcoding the relevant info.
851
56733740
VS
8522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
855 missing const qualifiers.
856 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
857
43481481
VS
8582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * util/getroot.c [__APPLE__]: Add missing includes.
861 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
862
3cb38f01
VS
8632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * util/grub-mkimage.c (generate_image): Silence spurious warning.
866
d9dbf11e
VS
8672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
870 avoid conflicts.
871
0c42a45d
VS
8722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
875
46c34eb0
VS
8762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
879 and grub_file_close call.
880
99ce1597
VS
8812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
882
883 Add LZSS Mach-O support (needed for new xnu kernelcache).
884
885 * grub-core/Makefile.core.def (xnu): Add file lzss.c
886 * grub-core/loader/lzss.c: New file.
887 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
888 on Mach-O open failure.
889 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
890 Don't free cmdsXX in uncompressedXX is set.
891 (grub_macho_file): Init new fields.
892 New argument is_64bit. All users updated.
893 Handle compressed. Error out if no suitable architecture is found.
894 Don't close file.
895 (grub_macho_open): New argument is_64bit. All users updated.
896 * grub-core/loader/macho32.c: Add defines for new fields.
897 * grub-core/loader/macho64.c: Likewise.
898 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
899 (grub_macho_parse): Handle compressed.
900 Defer actual processing if compressed.
901 (grub_macho_cmds_iterate): Decompress if compressed. New argument
902 "filename". All users updated.
903 (grub_macho_size): New argument "filename". All users updated.
904 (grub_macho_get_entry_point): Likewise.
905 (grub_macho_load): Handle compressed.
906 * include/grub/macho.h (grub_macho_lzss_header): New struct.
907 (GRUB_MACHO_LZSS_OFFSET): New define.
908 (grub_decompress_lzss): New proto.
909 * include/grub/machoload.h (grub_macho_file): New fields to handle
910 compressed.
911 (grub_macho_contains_macho64): Remove proto.
912 (grub_macho_contains_macho32): Likewise.
913 * util/grub.d/30_os-prober.in: Use kernel cache if available.
914
ebd17d6f
VS
9152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
918
2702b4e4
VS
9192012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
920
921 Fix make dist.
922
923 * Makefile.am (starfield_theme_files): New var.
924 (starfield_DATA): Use starfield_theme_files.
925 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
926 Add bootcheck-related files.
927 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
928 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
929 and font_char_metrics.txt.
930 * grub-core/Makefile.core.def (kernel): Update extra_dist.
931 (setjmp): Add lib/ia64/longjmp.S.
932 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
933 * po/POTFILES.in: Regenerate.
934 * po/Rules-swiss: use DISTFILES.common.extra2 and not
935 DISTFILES.common.extra1.
936 * util/devicemap.c: Removed.
937 * grub-core/lib/i386/relocator_backward.S: Likewise.
938 * util/import_gcry.py: Remove unused files. Add extra_dist for
939 ChangeLog.
940
cf1adfdf
VS
9412012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * grub-core/gettext/gettext.c (grub_mofile_open): Call
944 grub_gettext_delete_list before changing grub_gettext_max to avoid
945 running out of array bounds.
946
9472012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
948
949 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
950 grub_vga_text_init/grub_vga_text_fini.
951
cf1adfdf 9522012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
953
954 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
955
541d92e9
VS
9562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * configure.ac: Bump to 2.00~beta0.
959
7931dddf
VS
9602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
963 missing initialisation.
964
f1b16fa3
VS
9652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
968
83ddae23
VS
9692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
970
971 Support v2 xnu boot arguments.
972
973 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
974 New argument fsbfreq_out.
975 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
976 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
977 be used.
978 * grub-core/loader/machoXX.c (grub_macho_load): New argument
979 darwin_version.
980 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
981 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
982 (grub_xnu_boot_params): Rename to ...
983 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
984 (grub_xnu_boot_params_v2): New struct.
985
dc693fe6
VS
9862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
989 zeroing of CRC field before computing CRC.
990
5a6e39c2
VS
9912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
994 Change order of allocations to decrease fragmentation.
995
6c21f5d7
VS
9962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
999
cfe456dc
CW
10002012-02-27 Colin Watson <cjwatson@ubuntu.com>
1001
1002 Use write-combining MTRR to speed up video with buggy BIOSes.
1003
1004 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
1005 (cpuid): New define.
1006 (rdmsr): Likewise.
1007 (wrmsr): Likewise.
1008 (mtrr_base): Likewise.
1009 (mtrr_mask): Likewise.
1010 (grub_vbe_enable_mtrr_entry): New function.
1011 (grub_vbe_enable_mtrr): Likewise.
1012 (grub_vbe_disable_mtrr): Likewise.
1013 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
1014 control off to BIOS.
1015 (grub_video_vbe_init): Fill mtrr.
1016 (grub_video_vbe_fini): Disable mtrr.
1017 (grub_video_vbe_get_info_and_fini): Likewise.
1018 (grub_video_vbe_setup): Enable mtrr.
1019
e3c78337
CW
10202012-02-27 Colin Watson <cjwatson@ubuntu.com>
1021
1022 * include/grub/partition.h (grub_partition_map): Change prototype of
1023 embed to take a maximum value for nsectors.
1024 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
1025 * include/grub/fs.h (grub_fs): Likewise.
1026 * grub-core/partmap/msdos.c (embed_signatures): New array.
1027 (pc_partition_map_embed): Check for and avoid sectors matching any
1028 of the signatures in embed_signatures, up to max_nsectors.
1029 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
1030 returned sector map to max_nsectors.
1031 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
1032 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
1033 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
1034 * util/grub-setup.c (setup): Allow for the embedding area being
1035 split into multiple blocklists. Tell dest_partmap->embed the
1036 maximum number of sectors we care about.
1037
10382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
1041 Specify blocklist_install and reserver_first_sector for all fs.
1042 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
1043 blocklists.
1044
984b973f
VS
10452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * util/grub-install.in: Clarify strings.
1048 Fix source dir check.
1049
f122e0d6
RL
10502012-02-27 Richard Laager <rlaager@wiktel.com>
1051
1052 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
1053 "zfs" and "fuse.zfs" as synonyms.
1054
071114bb
VS
10552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * configure.ac: Put platform and target_cpu substitutions back since
1058 they are used for directories.
1059
817e6abc
RL
10602012-02-27 Richard Laager <rlaager@wiktel.com>
10612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * util/grub.d/10_linux.in: Add ZFS-related arguments.
1064 * util/grub.d/20_linux_xen.in: Likewise.
1065
897b7419
RL
10662012-02-27 Richard Laager <rlaager@wiktel.com>
1067
1068 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
1069 with full paths.
1070
a414bd15
RL
10712012-02-27 Richard Laager <rlaager@wiktel.com>
1072
1073 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
1074 unescape.
1075
30ac48c4
VS
10762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 Don't use insecure popen in getroot.
1079
1080 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
1081 (exec_pipe): ... here.
1082 (find_root_devices_from_poolname): Use exec_pipe.
1083
53f13848
VS
10842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 Remove platform and target_cpu replacement.
1087
1088 * configure.ac: Remove platform and target_cpu substitutions.
1089 * tests/util/grub-shell.in: Use modinfo.
1090 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
1091 explicitly.
1092
90cb2803
VS
10932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 Autodetect platform in grub-install but allow override.
1096
1097 * util/grub-install.in: Autodetect platform. Support --target and
1098 --directory. Read platform from modinfo.sh.
1099
b9136427
VS
11002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 Support btrfs multi-volume probe.
1103
1104 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
1105 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
1106 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
1107 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
1108 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
1109 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1110 grub_find_root_devices_from_btrfs if on btrfs.
1111
c36e5cd1
VS
11122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 Remove any awareness of *.c util files about target.
1115
1116 * Makefile.util.def (grub-setup): Split to ...
1117 (grub-bios-setup): ... and this.
1118 (grub-sparc64-setup): ... and this.
1119 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1120 * docs/man/grub-setup.h2m: Split into ...
1121 * docs/man/grub-sparc64-setup.h2m: ... this.
1122 * docs/man/grub-bios-setup.h2m: ... and this.
1123 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1124 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1125 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1126 (grub_target_addr_t): Remove.
1127 (grub_target_size_t): Remove.
1128 (grub_target_ssize_t): Remove.
1129 * util/grub-install.in: Use new grub-*-setup.
1130 * util/grub-mkimagexx.c (Elf_Word): New define.
1131 (Elf_Half): Likewise.
1132 (Elf_Section): Likewise.
1133 (ELF_ST_TYPE): Likewise.
1134 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1135 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1136
584b2f8a
VS
11372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 Replace grub_target_addr with more appropriate types.
1140
1141 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1142 grub_target_addr with grub_addr.
1143 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1144 grub_target_addr with grub_port.
1145 (grub_cmd_write): Likewise.
1146 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1147 grub_target_addr with grub_addr.
1148 (grub_cmd_write): Likewise.
1149 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1150
5a0dc6fb
VS
11512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1154 const qualifier for vendor_guid.
1155
786aff6e
VS
11562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1159 const qualifier.
1160 (efiemu_memequal): Likewise.
1161 (find_variable): Likewise.
1162
49017b17
VS
11632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 Fix missing console prototype on qemu-mips.
1166
1167 * include/grub/mips/qemu_mips/console.h: New file.
1168
c5988629
MG
11692012-02-27 Matthew Garrett <mjg@redhat.com>
11702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1173 * include/grub/efi/efi.h: Likewise.
1174 * include/grub/efi/api.h: Add guid for EFI-specified variables.
1175 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
1176 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
1177 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
1178 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
1179 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
1180
e33f8d69
MG
11812012-02-27 Matthew Garrett <mjg@redhat.com>
1182
1183 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
1184
fb312cd9
VS
11852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
1188 error.
1189
7134247c
VS
11902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * configure.ac: Remove inappropriate use of program_transform_name
1193 on grubdir and bootdir but allow explicit specification of those
1194 variables.
1195
6a313124
VS
11962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * util/grub-mknetdir.in (grub_prefix): Removed.
1199 (subdir): Use @bootdirname@ and @grubdirname@.
1200
2311c5ca
VS
12012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
1204
7d5d60f7
VS
12052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * po/POTFILES.in: Regenerated.
1208
8151bc82
VS
12092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 Remove improper use of program_transform_name on pkglibrootdir.
1212
1213 * configure.ac (pkglibrootdir): Removed.
1214 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
1215 * util/grub-mkimage.c: Likewise.
1216
b4a6a533
VS
12172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
1220 warning.
1221
668f304f
VS
12222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * util/grub-install.in: Use file identifier if no UUID is available
1225 or user explicitly prompted for it.
1226
665f2341
NP
12272012-02-27 Navdeep Parhar <nparhar@gmail.com>
1228
1229 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
1230 (freebsd_get_zfs): New function.
1231 (grub_freebsd_boot): Pass zfs UUID.
1232 (grub_cmd_freebsd): Set zfs UUID.
1233
8151bc82 12342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
1235
1236 * conf/Makefile.common (platformdir): Base on pkglibdir and not
1237 pkglibrootdir.
1238
e4c498a1
MG
12392012-02-27 Mike Gilbert <floppym@gentoo.org>
1240
1241 Add configure flag to control libzfs integration.
1242
1243 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
1244
1e9a9a3f
VS
12452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
1248 device.
1249 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
1250 small devices.
1251
036985b8
VS
12522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 Remove grub_{modname}_init and grub_{modname}_fini. They should never
1255 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
1256 be used on non-modules.
1257
1258 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
1259 Rename to grub_boot_init.
1260 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
1261 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
1262 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
1263 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
1264 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
1265 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
1266 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
1267 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
1268 includes.
1269 (grub_machine_init): Remove empty inits.
1270 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
1271 includes.
1272 (grub_machine_init): Remove empty inits.
1273 * grub-core/term/arc/console.c: Remove explicit proto.
1274 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
1275 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
1276 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1277 grub_at_keyboard_fini.
1278 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
1279 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
1280 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1281 grub_gfxterm_fini.
1282 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
1283 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
1284 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1285 grub_vgatext_fini.
1286 * grub-core/term/ieee1275/console.c: Remove explicit proto.
1287 * grub-core/term/serial.c (GRUB_MOD_INIT)
1288 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
1289 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1290 grub_serial_fini.
1291 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
1292 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
1293 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1294 grub_terminfo_fini.
1295 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
1296 (GRUB_MOD_FINI): Likewise.
1297 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
1298 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
1299 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1300 grub_video_radeon_fuloong2e_fini.
1301 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
1302 [LOONGSON]: Rename to grub_video_sis315pro_init.
1303 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1304 grub_video_sis315pro_fini.
1305 * grub-core/video/sm712.c (GRUB_MOD_INIT)
1306 [LOONGSON]: Rename to grub_video_sm712_init.
1307 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1308 grub_video_sm712_fini.
1309 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
1310 (grub_at_keyboard_fini): Likewise.
1311 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
1312 Don't declare grub_{modname}_init.
1313 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
1314 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
1315 New proto.
1316 (grub_keylayouts_fini) [!EMU]: Likewise.
1317 * include/grub/serial.h (grub_serial_init) [!EMU]:
1318 New proto.
1319 (grub_serial_fini) [!EMU]: Likewise.
1320 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
1321 New proto.
1322 (grub_terminfo_fini) [!EMU]: Likewise.
1323 * include/grub/video.h (grub_font_init) [!EMU]:
1324 New proto.
1325 (grub_font_fini) [!EMU]: Likewise.
1326 (grub_gfxterm_init) [!EMU]: Likewise.
1327 (grub_gfxterm_fini) [!EMU]: Likewise.
1328 (grub_video_sm712_init) [!EMU]: Likewise.
1329 (grub_video_sm712_fini) [!EMU]: Likewise.
1330 (grub_video_sis315pro_init) [!EMU]: Likewise.
1331 (grub_video_sis315pro_fini) [!EMU]: Likewise.
1332 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
1333 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
1334
d5534665
VS
13352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 Make nand a prefix for nand devices.
1338
1339 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
1340
10133b5f
VS
13412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
1344 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
1345
8e307a62
VS
13462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * include/grub/env.h (grub_env_find): Remove prototype.
1349 * grub-core/kern/env.c (grub_env_find): Make static.
1350 (grub_env_set): Remove useless set.
1351
a4c65f34
VS
13522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/kern/i386/realmode.S: Remove useless align.
1355
d87893d5
VS
13562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 * include/grub/dl.h (grub_dl_load_file): Don't export.
1359
50159add
VS
13602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
1363 grub_dprintf.
1364
b2582b84
VS
13652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
1368 grub_errors.
1369 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
1370 not reloading whole superblock but only the part which is really needed.
1371 Remove useless grub_errors.
1372 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
1373 grub_errors.
1374
e2a83395
VS
13752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 Don't export grub_get_rtc.
1378
1379 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
1380 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
1381
e7d2a906
VS
13822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
1385
6cf1363b
VS
13862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 1389 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 1390
eece3349
VS
13912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 Remove prio_list.
1394
1395 * include/grub/list.h (grub_prio_list): Removed.
1396 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
1397 GRUB_COMMAND_PRIO_MASK.
1398 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
1399 GRUB_COMMAND_FLAG_ACTIVE.
1400 (grub_prio_list_insert): Removed.
1401 (grub_prio_list_remove): Likewise.
1402 (GRUB_AS_PRIO_LIST): Likewise.
1403 (GRUB_AS_PRIO_LIST_P): Likewise.
1404 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
1405 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
1406 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
1407 * grub-core/kern/command.c (grub_register_command_prio): Inline
1408 the prio_list code.
1409 (grub_unregister_command): Likewise.
1410
94f064b4
VS
14112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 Fix interrupt mixup from previous commit.
1414
1415 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
1416 (grub_realidt): New var.
1417 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
1418 Load idt.
1419 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
1420 New declaration.
1421 (grub_relocator16_boot): Set grub_relocator16_idt.
1422 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
1423 (LOCAL(realidt)): ... this.
1424 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
1425 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
1426 (grub_realidt): New variable.
1427
27317084
VS
14282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
1431 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
1432 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
1433 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
1434 Gettextize.
1435 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
1436 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
1437 * po/POTFILES.in: Regenerate.
1438
47b40053
VS
14392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
1442 errors.
1443
2b343101
VS
14442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
1447 \0.
1448 (add_length): Likewise.
1449
ff27c3dd
LK
14502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
14512012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
1452
1453 GDB serial and backtrace support.
1454
1455 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
1456 (prot_to_real): Likewise.
1457 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
1458 * grub-core/Makefile.core.def (backtrace): New module.
1459 (gdb): Likewise.
1460 * grub-core/gdb/cstub.c: New file.
1461 * grub-core/gdb/gdb.c: Likewise.
1462 * grub-core/gdb/i386/idt.c: Likewise.
1463 * grub-core/gdb/i386/machdep.S: Likewise.
1464 * grub-core/gdb/i386/signal.c: Likewise.
1465 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 1466 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
1467 * include/grub/backtrace.h: Likewise.
1468 * include/grub/gdb.h: Likewise.
1469 * include/grub/i386/gdb.h: Likewise.
1470
14712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
1472
1473 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
1474 New function.
1475 (add_length): Likewise.
1476 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
1477 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
1478 proto.
1479 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
1480 __argp_get_display_len.
1481
ff27c3dd 14822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
1483
1484 $"..." support in scripts.
1485
1486 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
1487 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
1488 * grub-core/script/yylex.l: Likewise.
1489 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
1490 value.
1491
ff27c3dd 14922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
1493
1494 * gentpl.py: Remove obsolete pkglib_DATA handling.
1495
ff27c3dd 14962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
1497
1498 Don't transform PACKAGE_TARNAME following a discussion on autoconf
1499 mailing list.
1500
1501 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
1502 * util/grub-kbdcomp.in: Likewise.
1503 * util/grub-mkconfig.in: Likewise.
1504 * util/grub-mkconfig_lib.in: Likewise.
1505 * util/grub-mknetdir.in: Likewise.
1506 * util/grub-mkrescue.in: Likewise.
1507 * util/grub-mkstandalone.in: Likewise.
1508 * util/grub-reboot.in: Likewise.
1509 * util/grub-set-default.in: Likewise.
1510 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1511
ff27c3dd 15122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
1513
1514 Remove GRUB_PREFIX.
1515
1516 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
1517 * util/grub.d/00_header.in: Compute prefix in the only place it's still
1518 used for backward compatibility.
1519
ff27c3dd 15202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
1521
1522 Add new all_video module.
1523
1524 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
1525 * grub-core/Makefile.core.def (all_video): New module.
1526 * grub-core/genmoddep.awk: Generate dependency of all_video from
1527 video.lst.
1528 * grub-core/lib/fake_module.c: New file.
1529 * grub-core/normal/main.c (features): Add feature_all_video_module.
1530 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
1531 don't do explicit search again.
47454da5 1532 insmod all_video in load_video if available.
22c7ce85 1533
ff27c3dd 15342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
1535
1536 Another round of string clarification and adding TRANSLATORS comments.
1537
ff27c3dd 15382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
1539
1540 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
1541
ff27c3dd 15422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
1543
1544 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
1545 to grub_ssize_t.
1546 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
1547 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
1548
ff27c3dd 15492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
1550
1551 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
1552 trailing newline implicitly. All users updated.
1553
ff27c3dd 15542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
1555
1556 Implement serial on IEEE1275 and EFI.
1557
1558 * docs/grub.texi (Platform-specific limitations): Fix the columen video
1559 on emu. Mention arc and emu as the only platforms without serial
1560 support.
1561 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
1562 ieee1275 platforms.
1563 * grub-core/term/efi/serial.c: New file.
1564 * grub-core/term/ieee1275/serial.c: Likewise.
1565 * grub-core/term/serial.c (grub_serial_find): Disable direct port
1566 specification if no ns8250 driver is available.
1567 (grub_cmd_serial): Likewise.
1568 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
1569 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
1570 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
1571 (grub_efi_parity_type_t): New type.
1572 (grub_efi_stop_bits_t): Likewise.
1573 (grub_efi_serial_io_interface): New struct.
1574 * include/grub/serial.h (grub_serial_port): Make 'broken' field
1575 available for all interfaces.
1576 Add EFI and IEEE1275 fields.
1577 (grub_ofserial_init): New proto.
1578 (grub_efiserial_init): Likeiwse.
1579 * util/grub.d/00_header.in: Don't check for the presence of serial
1580 module.
1581
ff27c3dd 15822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
1583
1584 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
1585 name as if it was an alias.
1586
114076ef
VS
15872012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * grub-core/commands/lsacpi.c (options): Fix typo.
1590
6a656b0e
VS
15912012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 Convert grub-emu to argp.
1594
1595 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
1596 emu.
1597 * util/argp_common.c: Rename to ...
1598 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
1599 Add missing includes.
1600 * grub-core/kern/emu/main.c: Convert to argp.
1601 * po/POTFILES.in: Regenerate.
1602 * util/grub-install.in (usage): Make first letter lowcase in messages
1603 for uniformity.
1604 * util/grub-setup.c (options): Likewise.
1605
1e3f8ae8
VS
16062012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
1609 Put back accidently commented-out code.
1610
ed167a80
VS
16112012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
1614 loop check using Brent algorithm.
1615 (grub_hfsplus_btree_search): Likewise.
1616
6753c0ec
VS
16172012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * util/grub-install.in: Fix usage of wrong device for PreP install.
1620
4e27343f
VS
16212012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * conf/Makefile.common (CFLAGS_GNULIB): Add
1624 -Wno-unsafe-loop-optimizations.
1625 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
1626 on tools.
1627 * grub-core/commands/legacycfg.c: Add pragma to skip
1628 -Wunsafe-loop-optimizations.
1629 (check_password_md5_real): Fix loop counter type.
1630 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
1631 reading.
1632 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
1633 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
1634 loop condition.
1635 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
1636 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
1637 * grub-core/net/net.c (grub_net_route_address): Add safety loop
1638 condition.
1639 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
1640 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
1641 avoid possible infinite loops.
1642 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
1643 and -Wunsafe-loop-optimizations.
1644 * grub-core/script/yylex.l: Likewise.
1645 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
1646 (print_glyphs): Avoid infinite loops.
1647 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
1648
697f18b0
GS
16492012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
1650
1651 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
1652 to avoid infinite loop.
1653 (disp_acpi_rsdt_table): Likewise.
1654
274416e8
VS
16552012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 * grub-core/font/font.c (grub_font_load): Add support for default
1658 path for fonts ($prefix/fonts).
1659 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
1660 for checking if string is a path.
1661 * grub-core/normal/main.c (features): Add feature_default_font_path.
1662 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
1663 * util/grub.d/00_header.in: Use default directory if possible.
1664 * util/grub-install.in: Install unicode.pf2.
1665
b3e08622
VS
16662012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
1669 * po/Rules-swiss: New file.
1670 * po/swiss.sed: Likewise.
1671
fe42ce09
VS
16722012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * grub-core/fs/btrfs.c (find_device): Fix typos.
1675 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
1676 * util/grub-mkrelpath.c (argp_parser): Likewise.
1677 Reported by: Yuri Chornoivan.
1678
72f1d065
DO
16792012-02-23 Dalet Omega <daletomega@gmail.com>
1680
1681 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
1682 for usual informative messages.
1683
c5884973
DO
16842012-02-23 Dalet Omega <daletomega@gmail.com>
1685
1686 Starfield theme.
1687
1688 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
1689 * conf/Makefile.common: Define starfielddir.
1690 * configure.ac: Configure starfield.
1691 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
1692 * themes/starfield/README: Likewise.
1693 * themes/starfield/blob_w.png: Likewise.
1694 * themes/starfield/boot_menu_c.png: Likewise.
1695 * themes/starfield/boot_menu_e.png: Likewise.
1696 * themes/starfield/boot_menu_n.png: Likewise.
1697 * themes/starfield/boot_menu_ne.png: Likewise.
1698 * themes/starfield/boot_menu_nw.png: Likewise.
1699 * themes/starfield/boot_menu_s.png: Likewise.
1700 * themes/starfield/boot_menu_se.png: Likewise.
1701 * themes/starfield/boot_menu_sw.png: Likewise.
1702 * themes/starfield/boot_menu_w.png: Likewise.
1703 * themes/starfield/slider_c.png: Likewise.
1704 * themes/starfield/slider_n.png: Likewise.
1705 * themes/starfield/slider_s.png: Likewise.
1706 * themes/starfield/src/blob_nw.xcf: Likewise.
1707 * themes/starfield/src/bootmenu/: Likewise.
1708 * themes/starfield/src/bootmenu/center.xcf: Likewise.
1709 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
1710 * themes/starfield/src/bootmenu/side.xcf: Likewise.
1711 * themes/starfield/src/slider_c.xcf: Likewise.
1712 * themes/starfield/src/slider_n.xcf: Likewise.
1713 * themes/starfield/src/slider_s.xcf: Likewise.
1714 * themes/starfield/src/terminalbox/: Likewise.
1715 * themes/starfield/src/terminalbox/center.xcf: Likewise.
1716 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
1717 * themes/starfield/src/terminalbox/side.xcf: Likewise.
1718 * themes/starfield/starfield.png: Likewise.
1719 * themes/starfield/terminal_box_c.png: Likewise.
1720 * themes/starfield/terminal_box_e.png: Likewise.
1721 * themes/starfield/terminal_box_n.png: Likewise.
1722 * themes/starfield/terminal_box_ne.png: Likewise.
1723 * themes/starfield/terminal_box_nw.png: Likewise.
1724 * themes/starfield/terminal_box_s.png: Likewise.
1725 * themes/starfield/terminal_box_se.png: Likewise.
1726 * themes/starfield/terminal_box_sw.png: Likewise.
1727 * themes/starfield/terminal_box_w.png: Likewise.
1728 * themes/starfield/theme.txt: Likewise.
1729
17d73325
VS
17302012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 * util/grub.d/00_header.in: Add missing export theme.
1733
dbebaf92
VS
17342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
1737 already included.
1738 Reported by: Eren D.
1739
3d68bffb
VS
17402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * conf/Makefile.common (grubdatadir): Removed.
1743 (Makefile.am): Move eveything grubdata to pkgdata.
1744
4b59234d
VS
17452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * grub-core/commands/acpihalt.c (get_sleep_type):
1748 Remove unused variable.
1749
463dcadc
VS
17502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
1753 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
1754 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
1755 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
1756 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
1757 i18n with gettext no-op.
1758 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
1759 GRUB_ACPI_OPCODE_STRING_CONST.
1760 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
1761 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
1762
e5b90c82
VS
17632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * po/POTFILES.in: Regenerate.
1766
2a704ca9
VS
17672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
1770 -Wno-error=missing-noreturn.
1771
84f9d341
VS
17722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
1775 condition to avoid possibly infinite loops.
1776 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
1777 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
1778
d46683f9
VS
17792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
1782 condition to avoid possibly infinite loops.
1783
c44866b2
VS
17842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
1787 on show_error.
1788
96790539
VS
17892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
1792
1ba7e295
VS
17932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
1796
21ffe8f1
VS
17972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * util/bin2h.c (usage): Add missing attribute noreturn.
1800
0ccb6b3c
VS
18012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
1804 if the size isn't divisible by 512.
1805
b00d7fb6
VS
18062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 Make list_push and list_remove functions rather than inline functions
1809 to decrease size and avoid aliasing violations.
1810
1811 * include/grub/list.h (grub_list_push): Move to ...
1812 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
1813 * include/grub/list.h (grub_list_remove): Move to ...
1814 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
1815
9d369087
VS
18162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
1819 and -Wunused-result.
1820
af0250d9
VS
18212012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
1824 Reported by: Seth Goldberg
1825
aad32b14
VS
18262012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
1829
ac96441c
ST
18302012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
1831
1832 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
1833 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
1834 command line.
1835 * docs/grub.texi (Simple configuration): Document
1836 GRUB_CMDLINE_GNUMACH.
1837
18382012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
1839
1840 * conf/Makefile.common (platform_SCRIPTS): New variable.
1841 (platform_PROGRAMS): Likewise.
1842 * gentpl.py: Mark *,module and *.image for install.
1843 * grub-core/gdb_grub.in: Add a notice of expected environment.
1844 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
1845 (gmodule.pl): Likewise.
1846
ac96441c 18472012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
1848
1849 Replace grub_checkkey with grub_getkey_noblock.
1850
1851 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
1852 (grub_getkey_noblock): ... this. All users updated.
1853
ac96441c 18542012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
1855
1856 * grub-core/kern/emu/console.c: Move to ...
1857 * grub-core/term/emu/console.c: ...here.
1858 (grub_ncurses_getkey): Fix return value if no key is detected.
1859
e51b5666
VS
18602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
1863 (grub_unit_test_fini): Likewise.
1864 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
1865
18662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * include/grub/test.h (GRUB_UNIT_TEST)
1869
d9a62292
VS
18702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * grub-core/script/execute.c (grub_script_break): Clarify logic.
1873 Better error handling.
1874 (grub_script_return): Likewise.
1875 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
1876
77c9182f
VS
18772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
1880 rimplicit redifinition.
1881
edb13cf9
VS
18822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
1885 GRUB.
1886
a9e9dc7c
VS
18872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
1890 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
1891 prompt here.
1892
b4ba8e02
VS
18932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
1896 as GRUB_ERR_BUG. Don't malloc if no device is available.
1897
dded5540
VS
18982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
1901 Mark calling with invalid term as GRUB_ERR_BUG.
1902
0cf69874
VS
19032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
1906 packets rather than raising an error.
1907
59bfe502
VS
19082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
1911 in if.
1912
db5fc596
VS
19132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
1916 diagnostic to dprintf.
1917 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1918
e4b7f404
VS
19192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
1922 device name.
1923
e7b02f9e
VS
19242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
1927 (grub_ntfs_iterate_dir): Likewise.
1928
0331e102
VS
19292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 Efiemu stylistic fixes and gettext.
1932
1933 * grub-core/efiemu/i386/loadcore32.c
1934 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
1935 * grub-core/efiemu/i386/loadcore64.c
1936 (grub_arch_efiemu_relocate_symbols64): Likewise.
1937 * grub-core/efiemu/i386/pc/cfgtables.c
1938 (grub_machine_efiemu_init_tables): Likewise.
1939 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
1940 (grub_efiemu_loadcore_initXX): Add a filename argument.
1941 All users updated.
1942 Improved error message.
1943 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
1944 Add a filename argument.
1945 All users updated.
1946 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
1947 Reclassify double relocation as GRUB_ERR_BUG.
1948
306fc074
VS
19492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
1952 handling.
1953
794d8ef2
VS
19542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
1957 on partition.
1958
19592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
1960
1961 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
1962
794d8ef2 19632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
1964
1965 Improve string. Gettextize.
1966
78dde88e
VS
19672012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
1970 utils.
1971 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
1972
4786a90f
VS
19732012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
1976 [GRUB_UTIL]: New function.
1977 (insert_array) [GRUB_UTIL]: Store partmaps.
1978 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
1979 partmaps.
1980 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
1981 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
1982 (probe_abstraction): Print diskfilter and not raid.
1983 Reported by: Lennart Sorensen
1984
0b6225bd
VS
19852012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
1988 * util/grub-mkimagexx.c (MASK3): New define.
1989 (add_value_to_slot_20b): Use MASK3.
1990 (add_value_to_slot_21): Likewise.
1991 (relocate_addresses): Fix format specification.
1992 (load_image): Explicitly init symtab_section.
1993
b055f8f6
VS
19942012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
1997 (grub_util_biosdisk_get_grub_dev): Fix format specification.
1998
b77c2fb7
VS
19992012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
2002 on powerpc.
2003 Reported by: Lennart Sorensen
2004
e3ec28ab
VS
20052012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 * gentpl.py: Add missing license header.
2008 * docs/grub.texi: Update copyright year.
2009
c8d9ead6
GS
20102012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2011
2012 Source grub-mkconfig_lib from the build directory at build time.
2013 Suggested by: Vladimir Serbinenko.
2014
2015 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
2016 * util/grub-install.in: Define pkgdatadir if not already set, and source
2017 grub-mkconfig_lib from there.
2018 * util/grub-kbdcomp.in: Likewise.
2019 * util/grub-mkconfig.in: Likewise.
2020 * util/grub-mknetdir.in: Likewise.
2021 * util/grub-mkrescue.in: Likewise.
2022 * util/grub-mkstandalone.in: Likewise.
2023 * util/grub-reboot.in: Likewise.
2024 * util/grub-set-default.in: Likewise.
2025 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2026
ebcecdf1
VS
20272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 Increase warning level.
2030
2031 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
2032 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
2033 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
2034 (TARGET_CFLAGS): Likewise.
2035 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
2036 * grub-core/Makefile.core.def (decompressor_xz): Add
2037 -Wno-unreachable-code.
2038 (normal): Add -Wno-redundant-decls.
2039 (xzio): Add -Wno-unreachable-code.
2040 (lzopio): Add -Wno-redundant-decls -Wno-error.
2041 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
2042 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
2043 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
2044 * grub-core/kern/dl.c: Add exception to -Wcast-align.
2045 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
2046 * grub-core/kern/i386/coreboot/init.c: Add exception to
2047 -Wsuggest-attribute=noreturn.
2048 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
2049 * grub-core/kern/ia64/dl_helper.c: Likewise.
2050 * grub-core/kern/mips/dl.c: Likewise.
2051 * grub-core/kern/sparc64/dl.c: Likewise.
2052 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
2053 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
2054 (memcmp): Likewise.
2055 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
2056 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
2057 * grub-core/loader/mips/linux.c: Likewise.
2058 * grub-core/loader/multiboot_elfxx.c: Likewise.
2059 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
2060 * grub-core/video/sm712.c: Add exception to -Wcast-align.
2061 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
2062 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
2063 fixme.
2064 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2065 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
2066 Fix prototype.
2067
37bb97fe
VS
20682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
2071 address.
2072
29a3550b
VS
20732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2076 Avoid improper use of strings.
2077 (grub_cmd_legacy_initrdnounzip): Likewise.
2078
dfdffd0d
VS
20792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * include/grub/emu/misc.h (grub_util_warn): Add missing format
2082 attribute.
2083 (grub_util_info): Likewise.
2084 (grub_util_error): Likewise.
2085
102fae4a
VS
20862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
2089 * util/grub-fstest.c (fstest): Likewise.
2090
7e94d044
VS
20912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
2094 (grub_md_sha512_real): Likewise.
2095 (grub_util_get_geli_uuid): Likewise.
2096 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
2097 (grub_util_biosdisk_open): Fix format specification.
2098 Respect format security.
2099 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
2100 (xrealloc): Likewise.
2101 (xasprintf): Likewise.
2102
5ebd9769
VS
21032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * util/import_gcry.py: Include grub/crypto.h in init.c.
2106
495fc8c1
VS
21072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2110 (generate_image): Make prefix a const char *.
2111 Fix format specifications. Respect format security.
2112 Avoid void * arithmetics.
2113 Avoid shadowing.
2114 (argp_parser): Remove unused variable. Respect format security.
2115 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2116 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2117 (count_funcs): Remove unused variable.
2118 (relocate_addresses): Fix format specification.
2119 Disable x86-64 with elf32. Remove unused variables.
2120 (add_fixup_entry): Avoid shadowing.
2121 (make_reloc_section): Fix format specification.
2122 Use assert.
2123 (locate_sections): Fix format specifications.
2124 (load_image): Avoid shadowing.
2125
043c2ea3
VS
21262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2129 Fix format specifications. Respect format security.
2130 Don't translate already translated grub_errmsg.
2131 (argp_parser): Remove unused variable
2132
3ec65a81
VS
21332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2136
a4d9fe4a
VS
21372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2140 (main): Likewise. Use xmalloc. Respect format security.
2141
15b81d49
VS
21422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2145 a const char *.
2146 (argp_parser): Remove unused variable.
2147
31731fc0
VS
21482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2151 (add_pixel): Make static.
2152 (add_font): Likewise.
2153 (write_string_section): Make name and str a const char *.
2154 (write_be16_section): Make name a const char *.
2155 (print_glyphs): Make static.
2156 (write_font_ascii_bitmap): Likewise.
2157 (write_font_width_spec): Likewise.
2158 (write_font_pf2): Likewise.
2159 (argp_parser): Remove unused variable.
2160 Respect format security.
2161 (main): Avoid shadowing. Respect format security.
2162
0809527b
VS
21632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * util/grub-editenv.c (argp_parser): Make static.
2166 (create_envblk_file): Use xmalloc.
2167 (open_envblk_file): Likewise.
2168 Resepect format security.
2169 (set_variables): Respect format security.
2170
45b0c8b7
VS
21712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * util/getroot.c (grub_find_device): Respect format security.
2174 (get_mdadm_uuid): Remove unused variable.
2175 (grub_util_pull_device): Dont call gettext on already translated
2176 grub_errmsg.
2177 (find_system_device): Remove unused variable.
2178 (grub_util_get_grub_dev): Likewise.
2179 (grub_make_system_path_relative_to_its_root): Respect format security.
2180
1b024b4e
VS
21812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * util/grub-fstest.c (execute_command): Make first argument
2184 a const char *.
2185 (read_file): Avoid shadowing.
2186 Reuse underlying error message if device open fails.
2187 (cmd_cmp): Respect format security.
2188 (root): Make const char *.
2189 (fstest): Remove args argument and use global copy.
2190 Respect format security.
2191 (argp_parser): Make static.
2192 (main): Make default_root const char *.
2193
5d1d4e28
VS
21942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * util/grub-mount.c (root): Make const char *.
2197 (execute_command): Make first argument a const char *.
2198 (fuse_init): Respect format security.
2199 (argp_parser): Make static. Remove unused variable.
2200 (main): Make default_root a const char *.
2201 Respect format security.
2202
36eb7379
VS
22032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 * util/grub-probe.c (probe): Don't call gettext on already translated
2206 grub_errmsg.
2207 Remove unused variables.
2208 (argp_parser): Remove unused variable.
2209
76fb2ea9
VS
22102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * util/grub-script-check.c (argp_parser): Remove unused variable.
2213 (main): Rename read to curread to avoid shadowing.
2214
56c98584
VS
22152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * util/misc.c (grub_util_write_image_at): Fix format specification.
2218 (grub_util_write_image): Likewise.
2219 (grub_script_execute_argument_to_string): Removed (unused).
2220 (grub_script_execute_menuentry): Likewise.
2221 (grub_putchar): Likewise.
2222
164ebb48
VS
22232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
2226 (FUNCTION) [GRUB_UTIL]: Likewise.
2227 (VARIABLE) [GRUB_UTIL]: Likewise.
2228
44318d61
VS
22292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2230
2231 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
2232 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
2233
31a26002
VS
22342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
2237 buffer.
2238
22392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
2242 (LzmaEnc_SaveState): Removed (unused).
2243 (LzmaEnc_RestoreState): Likewise.
2244 (LzmaEnc_InitPriceTables): Made static.
2245 (LzmaEnc_Construct): Likewise.
2246 (LzmaEnc_FreeLits): Likewise.
2247 (LzmaEnc_Destruct): Likewise.
2248 (LzmaEnc_Init): Likewise.
2249 (LzmaEnc_InitPrices): Likewise.
2250 (LzmaEnc_Finish): Likewise.
2251 (LzmaEnc_PrepareForLzma2): Removed (unused).
2252 (LzmaEnc_MemPrepare): Likewise.
2253 (LzmaEnc_GetNumAvailableBytes): Likewise.
2254 (LzmaEnc_GetCurBuf): Likewise.
2255 (LzmaEnc_CodeOneMemBlock): Likewise.
2256
6fa67967
VS
22572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
2260 (grub_util_ldm_embed): Likewise.
2261
9a7428e6
VS
22622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * util/grub-editenv.c (print_var): Rename name to varname to
2265 avoid shadowing.
2266 (main): Rename index to curindex to avoid shadowing.
31a26002 2267 Make filename a const char *.
9a7428e6 2268
4f96abd1
VS
22692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2272 to arg_getline to avoid shadowing.
2273
44d10dad
VS
22742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
2277 disk_ to avoid shadowing.
2278
340ba63e
VS
22792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
2282 curindex to avoid shadowing.
2283 Make static.
2284 (MatchFinder_GetNumAvailableBytes): Make static.
2285
22965bce
VS
22862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
2289 avoid shadowing.
2290
7b5784d4
VS
22912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
2294 argument from encrypt to do_encrypt to avoid shadowing.
2295
6f48ca01
VS
22962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
2299 incorrect nesting of #if's.
2300
a4ea2dff
VS
23012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
2304 checks which are always false on some platforms.
2305 (grub_cmd_lsacpi): Likewise.
2306 * grub-core/kern/misc.c (grub_strtoul): Likewise.
2307 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
2308 Likewise.
2309
def9fc1b
VS
23102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
2313 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
2314
a67b2a04
VS
23152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
2318 re_dfa_t to avoid breaking alignment invariants.
2319 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
2320 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
2321
44c6828d
VS
23222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
2325 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
2326
bebe0dd0
VS
23272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
2330 Fix declaration.
2331
a9cdb3cf
VS
23322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
2335 conserve alignment invariants.
2336 (grub_ehci_ehcc_read16): Likewise.
2337 (grub_ehci_oper_read32): Likewise.
2338 (grub_ehci_oper_write32): Likewise.
2339 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2340 Conserve alignment invariants.
2341
ccc3b1b8
VS
23422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
2345 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
2346 declarations.
2347
987fbd95
VS
23482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
2351 Remove unused variable.
2352
0df363f3
VS
23532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
2356 Remove set in if.
2357
b2c0c4a6
VS
23582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * include/grub/net.h: Remove double declarations.
2361
690c531f
VS
23622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 Remove "payload" command in ia64 Linux loader since I couldn't
2365 find any evidence of it being used for anything.
2366 Replace "relocate" command with an environment variable
2367
2368 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
2369 fields.
2370 (ia64_boot_payload): Removed.
2371 (last_payload): Likewise.
2372 (RELOCATE_OFF): Likewise.
2373 (RELOCATE_ON): Likewise.
2374 (RELOCATE_FORCE): Likewise.
2375 (relocate): Likewise.
2376 (free_pages): Don't free payloads.
2377 (grub_load_elf64): Use common error messages.
2378 Use "linux_relocate" variable.
2379 Increase the space after boot_params.
2380 (grub_cmd_payload): Removed.
2381 (grub_cmd_relocate): Likewise.
2382 (grub_cmd_fpswa): Improve messages.
2383 (cmd_payload): Removed.
2384 (cmd_relocate): Likewise.
2385 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
2386 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
2387
01783768
VS
23882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 Convert UHCI to DMA framework.
2391
2392 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
2393 (grub_uhci_pci_iter): Fill new members
2394 (grub_alloc_td): Use P2V and V2P functions.
2395 (grub_free_queue): Likewise.
2396 (grub_alloc_qh): Likewise.
2397 (grub_uhci_setup_transfer): Likewise.
2398 (grub_uhci_check_transfer): Likewise.
2399
43206939
VS
24002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
2403 Remove assignment in if while on it.
2404
571e140e
VS
24052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * util/grub-mkstandalone.in: Fix modules directory.
2408
a9d96eeb
VS
24092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
2412 on i386-pc target.
2413 (argp_parser): Accept "auto" as compression specification.
2414
e4e37e8d
VS
24152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 Fix `help' with unloaded modules.
2418
2419 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
2420 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
2421 (grub_dyncmd_dispatcher): Small stylistic fix.
2422 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
2423 explicit help is requested.
2424
e1ea3ade
VS
24252012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
2428 Explicitly init restart while on it.
2429
27556881
VS
24302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
2433 uninited variable.
2434
d65f6b36
VS
24352012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * util/grub-mknetdir.in: Use . rather than source for POSIX
2438 compatibility.
2439
0a1e473c
VS
24402012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
2443
ce6647c8
VS
24442012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
2447 variable.
2448
66747894
VS
24492012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
2452 without quotes.
2453
71645f6e
VS
24542012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
2457
0e1c1f61
VS
24582012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
2461 iteration of partitions.
2462
9c4b5c13
VS
24632012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 Improve gettext support. Stylistic fixes and error handling fixes while
2466 on it.
2467
215c90cb
VS
24682012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
2471 part. Instead setup the correct stack in RM.
2472 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
2473 for stack.
2474 * include/grub/i386/relocator_private.h: New file.
2475
b5c1f9bf
VS
24762012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
2479 argument.
2480 * util/grub-fstest.c (options): Add missing DEVICE part.
2481
b525fd83
VS
24822012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 Clarify and unify messages.
2485
2486 * grub-core/commands/hashsum.c (options): Unify messages.
2487 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
2488 literal-only message as translatable.
2489 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
2490 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
2491 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
2492 commands.
2493 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
2494 key, not the key used to unlock. Clarify what it's used for.
2495 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
2496 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
2497 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
2498 * util/grub-editenv.c (options): Unify "verbose" message.
2499 * util/grub-fstest.c (read_file): Unify error message.
2500 (fstest): Add quotes around commands.
2501 (options): Unify "verbose" message.
2502 * util/grub-install.in: Add quotes around variable name.
2503 * util/grub-kbdcomp.in: Unify error message.
2504 * util/grub-mkfont.c (main): Likewise.
2505 * util/grub-mkrescue.in: Likewise.
2506 * util/grub-mklayout.c (options): Unify "verbose" message.
2507 * util/grub-mkstandalone.in: Unify help and verbose messages.
2508 * util/grub-mount.c (options): Unify "verbose" message.
2509 * util/grub-probe.c (options): Likewise.
2510 * util/grub-script-check.c (options): Likewise.
2511 * util/grub-setup.c (setup): Unify no-terminator message.
2512 (options): Use DEVICE and not DEV.
2513 Unify "verbose" message.
2514 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
2515
0ae70393
VS
25162012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 Improve and unify messages.
2519
2520 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
2521 name. All users updated.
2522 Print filename in error.
2523 (read_device_map): Print filename in error.
2524 * util/getroot.c (grub_guess_root_devices): Print filename in error.
2525 (grub_util_get_os_disk): Likewise.
2526 (grub_util_biosdisk_get_grub_dev): Likewise.
2527 (grub_util_check_block_device): Likewise.
2528 (grub_util_check_char_device): Likewise.
2529 (grub_make_system_path_relative_to_its_root): Likewise.
2530 * util/grub-editenv.c (create_envblk_file): Likewise.
2531 (open_envblk_file): Likewise.
2532 (write_envblk): Likewise.
2533 * util/grub-fstest.c (cmd_cp): Likewise.
2534 (cmd_cat): Likewise.
2535 (cmd_cmp): Likewise.
2536 * util/grub-menulst2cfg.c (main): Likewise.
2537 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
2538 (write_font_width_spec): Likewise.
2539 (write_font_pf2): Likewise.
2540 * util/grub-mkimage.c (generate_image): New argument outname.
2541 All users updated.
2542 Remove unreacheable message.
2543 (options): Unify messages.
2544 (help_filter): Likewise.
2545 * util/grub-mklayout.c (usage): Removed (unused).
2546 (main): Print filename in error.
2547 * util/grub-mkrescue.in: Fix wrong quoting.
2548 * util/grub-setup.c (setup): Print filename in error.
2549 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
2550 (check_sas): Likewise.
2551 * util/misc.c (grub_util_get_fp_size): Removed.
2552 (grub_util_get_image_size): Print filename in error.
2553 (grub_util_read_at): Removed.
2554 (grub_util_read_image): Print filename in error.
2555 (grub_util_load_image): Likewise.
2556 (grub_util_write_image_at): New argument filename. All users updated.
2557 Print filename in error.
2558 (grub_util_write_image): New argument filename. All users updated.
2559 Print filename in error.
2560 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
2561 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
2562
0a96117d
VS
25632012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * grub-core/Makefile.core.def (pxechain): New module.
2566 * grub-core/loader/i386/pc/pxechainloader.c: New file.
2567 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
2568 function.
2569 (grub_pc_net_config_real): Use grub_pxe_get_cached.
2570 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
2571
aca002f7
VS
25722012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
2575 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
2576 * include/grub/err.h (grub_error_saved): New struct.
2577 (grub_errmsg): Make array size explicit.
2578 * include/grub/misc.h (grub_error_save): New function.
2579 (grub_error_load): Likewise.
2580 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
2581 (grub_error_push): Update `errno' member name.
2582 (grub_error_pop): Likewise
2583 * grub-core/net/tftp.c (tftp_data): New member save_err.
2584 (tftp_receive): Save error.
2585 (tftp_open): Restore error.
2586
a51dab13
VS
25872012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
2590 to real mode down to execute A20-related code in protected mode as
2591 intended.
2592
eb6e6649
GS
25932012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2594
2595 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
2596 NULL when the argument `level' has an unexpected value.
2597
92cd0f6e
VS
25982012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 Move platform-dependent files from $prefix to $prefix/$platform.
2601
2602 * config.h.in (GRUB_TARGET_CPU): New definition.
2603 (GRUB_PLATFORM): Likewise.
2604 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
2605 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
2606 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2607 * grub-core/kern/dl.c (grub_dl_load): Likewise.
2608 * grub-core/normal/autofs.c (read_fs_list): Likewise.
2609 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
2610 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
2611 * grub-core/normal/term.c (read_terminal_list): Likewise.
2612 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
2613 $prefix/locale.
2614 (grub_gettext_init_ext): Likewise.
2615 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
2616 grub_platform.
2617 * util/grub-install.in: Update directories.
2618 * util/grub-mknetdir.in: Likewise.
2619 * util/grub-mkrescue.in: Likewise.
2620
db606889
VS
26212012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
2624 grub_error framework. All users updated.
2625
c39992a4
VS
26262012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
2629 lists (by always binsearching), improve caching (cache strings
2630 used for binsearch, not only results), improve
2631 maintainability (by using more structured binary search) and correct
2632 error handling.
2633
1e5ec32f
VS
26342012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * grub-core/script/execute.c (grub_script_return): Fix warning.
2637
ac576cde
VS
26382012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * grub-core/script/execute.c (grub_script_return): Fix potential
2641 NULL-dereference.
2642 Reported by: Jim Meyering.
2643
498453f6
VS
26442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * po/POTFILES.in: Regenerate.
2647 * util/grub-install.in: Gettextize the strings missed in first pass.
2648
8be63f2e
VS
26492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 * Makefile.util.def (grub-mkdevicemap): Removed.
2652 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
2653 * include/grub/util/deviceiter.h: Removed.
2654 * util/deviceiter.c: Likewise.
2655 * util/getroot.c (grub_util_get_os_disk): New function.
2656 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
2657 replacement for EFI.
2658 * util/grub-mkdevicemap.c: Removed.
2659 * util/grub-probe.c (probe): Handle PRINT_DISK.
2660 (argp_parser): Handle -t disk.
2661
8e1e4e39
VS
26622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * util/grub-mkfont.c: Migrate to argp.
2665 * util/grub-mklayout.c: Likewise.
2666 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2667 * util/grub-mkrelpath.c: Likewise.
2668 * util/grub-probe.c: Likewise.
2669 * util/grub-script-check.c: Likewise.
2670
4459819a
VS
26712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * util/grub-reboot.in: Add missing datarootdir.
2674 Add missing newline.
2675 * util/grub-set-default.in: Add missing datarootdir.
2676 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
2677 * util/grub-mkrescue.in: Likewise.
2678
f65741c7
VS
26792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
2682
c1a33466
VS
26832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * util/grub-kbdcomp.in: Add decent help and gettextize.
2686 * docs/man/grub-kbdcomp.h2m: New file.
2687
c76899a0
VS
26882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 Migrate grub-mkimage.c to argp.
2691
2692 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
2693 (grub-setup): Likewise.
2694 * util/grub-setup.c (print_version): Move to ...
2695 * util/argp_common.c (print_version): ... here.
2696 * util/grub-setup.c (argp_program_version_hook): Move to ...
2697 * util/argp_common.c (argp_program_version_hook): ... here.
2698 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
2699 safety.
2700 * util/grub-mkimage.c (main): Migrate to argp.
2701
57db0757
VS
27022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * util/grub-mkrescue.in: Use same message as
2705 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
2706 for better translations.
2707
18534ad9
VS
27082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
2711 options with generic grub-mkrescue.in with the goal of future
2712 merge.
2713
c84ba308
VS
27142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/kern/mm.c: Add missing include of i18n.h
2717 * grub-core/lib/relocator.c: Likewise.
2718
347998c2
VS
27192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
2722 error.
2723 (allocate_pages): Check return value.
2724 Replace fatal with error.
2725 (grub_linux_boot): Replace printf with dprintf.
2726 Check find_mmap_size return value.
2727 Replace fatal with error.
2728 Don't call grub_machine_fini.
2729 (grub_load_elf64): Replace printf with dprintf.
2730 (grub_cmd_linux): Likewise.
2731 (grub_cmd_initrd): Likewise.
2732 (grub_cmd_payload): Likewise.
2733
c779226e
VS
27342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
2737 message.
2738 * grub-core/video/radeon_fuloong2e.c
2739 (grub_video_radeon_fuloong2e_setup): Likewise.
2740 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
2741 * grub-core/video/video.c (grub_video_set_mode): Don't override
2742 standard out of memory message.
2743
dc87d45a
GS
27442012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2745
2746 NetBSD disk wedge support.
2747
2748 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
2749 [__NetBSD__]: Handle NetBSD disk wedges.
2750 * util/getroot.c (convert_system_partition_to_system_disk)
2751 [__NetBSD__]: Likewise.
2752
055f856f
MW
27532012-02-03 Mark Wooding <mdw@distorted.org.uk>
2754
2755 * util/grub-mkconfig.in: Use umask rather than chmod to create
2756 grub.cfg.new to avoid insecure grub.cfg.
2757
4a9f8346
VS
27582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * grub-core/commands/ls.c: Gettextize.
2761 * grub-core/commands/setpci.c: Likewise.
2762 * grub-core/commands/videotest.c: Likewise.
2763 * grub-core/disk/geli.c: Likewise.
2764 * grub-core/kern/mm.c: Likewise.
2765 * grub-core/lib/relocator.c: Likewise.
2766 * grub-core/loader/efi/appleloader.c: Likewise.
2767 * grub-core/loader/i386/xnu.c: Likewise.
2768 * grub-core/loader/ia64/efi/linux.c: Likewise.
2769 * grub-core/loader/xnu.c: Likewise.
2770 * grub-core/net/dns.c: Likewise.
2771 * grub-core/net/net.c: Likewise.
2772 * grub-core/script/lexer.c: Likewise.
2773 * grub-core/script/parser.y: Likewise.
2774 * grub-core/script/yylex.l: Likewise.
2775 * util/getroot.c: Likewise.
2776 * util/grub-setup.c: Likewise.
2777
a646a366
VS
27782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
2781 number.
2782
54e2be26
VS
27832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
2786
f7c71e68
VS
27872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
2790 macro.
2791 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
2792 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
2793
a32d5c71
VS
27942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
2797 * util/grub-install.in: Gettextize.
2798 * util/grub-mkconfig.in: Likewise.
2799 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
2800 if not available.
2801 (grub_warn): Gettextize.
2802 * util/grub-mknetdir.in: Gettextize.
2803 * util/grub-mkrescue.in: Likewise.
2804 * util/grub-mkstandalone.in: Likewise.
2805 * util/grub-reboot.in: Likewise.
2806 * util/grub-set-default.in: Likewise.
2807 * util/grub.d/00_header.in: Likewise.
2808 * util/grub.d/10_hurd.in: Likewise.
2809 * util/grub.d/10_kfreebsd.in: Likewise.
2810 * util/grub.d/10_linux.in: Likewise.
2811 * util/grub.d/10_netbsd.in: Likewise.
2812 * util/grub.d/10_windows.in: Likewise.
2813 * util/grub.d/20_linux_xen.in: Likewise.
2814 * util/grub.d/30_os-prober.in: Likewise.
2815 * po/POTFILES-shell.in: Regenerate.
2816
69edd81a
RL
28172012-02-03 Richard Laager <rlaager@wiktel.com>
2818
2819 * util/grub-mkimage.c (main): Fix format-security warning.
2820 * util/grub-mkrelpath.c (main): Likewise.
2821 * util/grub-probe.c (main): Likewise.
2822
65f08dbf
RL
28232012-02-03 Richard Laager <rlaager@wiktel.com>
2824
2825 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
2826 failure.
2827 Put back lost PRINT_DRIVE.
2828
e9084abe
RL
28292012-02-03 Richard Laager <rlaager@wiktel.com>
2830
2831 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
2832 (grub_guess_root_devices): Replace strlen with sizeof.
2833 Avoid crash.
2834 (find_root_devices_from_poolname): Remove unused variable.
2835 Handle raidzN.
2836
cf5f7ee7
VS
28372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 Support install on multi-device filesystems.
2840
2841 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
2842 (grub_guess_root_devices): ...this. Return char **. All users updated.
2843 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
2844 Removed.
2845 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
2846 (find_root_devices_from_poolname): ... here.
2847 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
2848 Support zfs-fuse.
2849 (grub_guess_root_device): Rename to ...
2850 (grub_guess_root_devices): ... this. Return char **. All users updated.
2851 * util/grub-install.in: Handle multi-device filesystems.
2852 * util/grub-probe.c (probe). Make device_names a char **. Add delim
2853 argument. All users updated.
2854 Handle multi-device filesystems.
2855 Use 'delim' as separator.
2856 Remove device check to allow filesystems on file.
2857 (main): Support -0 argument. Handle multi-device.
2858 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
2859 Fix a cross-device check while on it.
2860 (arguments): Remove root_dev.
2861 (argp_parser): Remove -r.
2862 (main): Remove root_dev.
2863
2f53a9ed
VS
28642012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
2867
17e1d934
VS
28682012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
2871 symbol.
2872 Reported by: NODA, Kai <nodakai>.
2873
d3e3fab5
VS
28742012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 Fix ehci on amd64.
2877
2878 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
2879 pointers.
2880 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
2881 (grub_ehci_setup_qh): Likewise.
2882 (grub_ehci_find_qh): Likewise.
2883 (grub_ehci_transaction): Likewise.
2884 (grub_ehci_setup_transfer): Likewise.
2885 (grub_ehci_check_transfer): Likewise.
2886 (grub_ehci_portstatus): Likewise.
2887 (grub_ehci_detect_dev): Likewise.
2888 (grub_ehci_transfer_controller_data): New field td_last_phys.
2889 (grub_ehci_setup_transfer): Fill td_last_phys.
2890 (grub_ehci_check_transfer): Use td_last_phys.
2891
3008675b
SG
28922012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
2893
2894 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
2895 if no submenu is present.
2896
fc9b5652
AN
28972012-02-01 Aleš Nesrsta <starous@volny.cz>
2898
2899 CBI support.
2900
2901 * include/grub/usb.h (grub_usbms_protocol_t): New values
2902 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
2903 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
2904 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
2905 (grub_usbms_dev): Add subclass, protocol and intrpt.
2906 Remove in_maxsz and out_maxsz.
2907 (grub_usbms_reset): Rename to ...
2908 (grub_usbms_bo_reset): .. this.
2909 (grub_usbms_cbi_cmd): New function.
2910 (grub_usbms_cbi_reset): Likewise.
2911 (grub_usbms_reset): Likewise.
2912 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
2913 (grub_usbms_transfer): Rename to ...
2914 (grub_usbms_transfer_bo): ... this.
2915 (grub_usbms_transfer_cbi): Likewise.
2916 (grub_usbms_transfer): Likewise.
2917
a2b81d53
AN
29182012-02-01 Aleš Nesrsta <starous@volny.cz>
29192012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
2922 the support for the CS5536 modification thereos and few bugfixes.
2923
2924 * grub-core/Makefile.core.def (ehci): New module.
2925 * grub-core/bus/usb/ehci.c: New file.
2926 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
2927 port and hubaddr. All users updated.
2928 Save port and hubaddr into dev structure.
2929 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
2930 define.
2931 * include/grub/pci.h (grub_dma_phys2virt): New function.
2932 (grub_dma_virt2phys): Likewise.
2933 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
2934
b1d51f02
VS
29352012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
2938 check as some mkfs implementations omit it.
2939
fc694106
VS
29402012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * docs/grub.texi (Unicode): Mention identifier and space limitations.
2943
6c0920e3
VS
29442012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
2947 Add new member volname2.
2948 (grub_jfs_label): Use volname2 if available.
2949
d1a46f9a
VS
29502012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
2953 over last_mounted as seen in image generated by mkfs.nilfs2.
2954 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
2955
dec8ed14
VS
29562012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
2959 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
2960 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
2961
7397c69b
VS
29622012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
2965 over the sector.
2966
b3fe42ad
VS
29672012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
2970 subvolume name (by removing a bogus and useless check).
2971
10476bb0
VS
29722012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
2975 sizeof while on it.
2976
9c08ad87
VS
29772012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
2980 (grub_scsi_read_capacity10): ... this.
2981 (grub_scsi_read_capacity16): New function.
2982 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
2983 0xffffffff.
2984 Fix off-by-one error.
2985 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
2986 64-bit unsigned.
2987 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
2988 (grub_scsi_read_capacity10): ... this.
2989 (grub_scsi_read_capacity_data): Rename to ...
2990 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
2991 (grub_scsi_read_capacity16): New struct.
2992 (grub_scsi_read_capacity16_data): Likewise.
2993 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
2994 grub_scsi_cmd_read_capacity10.
2995 New command grub_scsi_cmd_read_capacity16.
2996
bc8d0f45
VS
29972012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 SCSI >2TiB support.
3000
3001 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
3002 (grub_scsi_write16): Likewise.
3003 (grub_scsi_read): Use read16 when necessary.
3004 (grub_scsi_write): Likewise.
3005 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
3006 (grub_scsi_write16): Likewise.
3007 (grub_scsi_cmd_t): Add READ16 and WRITE16.
3008
cc774926
VS
30092012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 SCSI write support (for usbms mainly).
3012
3013 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
3014 a const pointer.
3015 (grub_scsi_write): Implement.
3016 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
3017
67639fd7
VS
30182012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
3021 variable.
3022
9079d3ed
VS
30232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * grub-core/lib/posix_wrap/string.h (memchr): New function.
3026
c6a6f204
VS
30272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 * po/POTFILES.in: Regenerate.
3030
ecbf8cd1
VS
30312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
3034 with grub_printf to avoid unnecessary fatal failure.
3035
0b3b3b38
VS
30362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
3039 (INT_MAX): Likewise.
3040 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
3041 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
3042 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
3043 (strcpy): Likewise.
3044 (strstr): Likewise.
3045 (strchr): Likewise.
3046 (strncpy): Likewise.
3047 (strcat): Likewise.
3048 (strncat): Likewise.
3049 (strcoll): Likewise.
3050 * include/grub/types.h (GRUB_SHRT_MAX): New define.
3051 (GRUB_INT_MAX): Likewise.
3052
db7337a3
VS
30532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
3056 unexpected error.
3057 (optimize_utf8): Likewise.
3058 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
3059
f37c87e1
VS
30602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * grub-core/boot/i386/pc/lnxboot.S: Use
3063 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
3064 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
3065 location.
3066 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
3067 definition.
3068 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
3069
63fe43f3
VS
30702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
3073 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
3074 now to avoid double free.
3075 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
3076 hostdisk.
3077 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
3078 * util/grub-probe.c (escape_of_path): Always return a new copy.
3079 (print_full_name): Escape path.
3080 (probe): Don't call grub_util_devname_to_ofpath on NULL.
3081 Fix hints on abstractions.
3082
ebe2c961
VS
30832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
3086 Don't add "root" line if no compatibility hont is available.
3087 Suggested by: Seth Goldberg.
3088
2b5336a2
VS
30892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
3092 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
3093 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
3094 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
3095
74310bd8
VS
30962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
3099
c30582ba
VS
31002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * util/grub-pe2elf.c (ehdr): Make static.
3103 (shdr): Likewise.
3104 (num_sections): Likewise.
3105 (offset): Likewise.
3106
5f47782c
VS
31072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 Eliminate ofpath limits and possible overflows.
3110
3111 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3112 (OF_PATH_MAX): Removed.
3113 (MAX_DISK_CAT): New const.
3114 (find_obppath): Use allocated rather than preallocated buffer.
3115 Return result. Argument of_path removed. All users updated.
3116 Add missing fdstat.
3117 (xrealpath): New function.
3118 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3119 Allocate rather than use preallocated buffer. All users updated.
3120 (__of_path_common): Use allocated rather than preallocatecd buffer.
3121 Return result. Argument of_path removed. All users updated.
3122 (vendor_is_ATA): Read only needed part form the file.
3123 (check_sas): Allocate depending on contents rather than fixed.
3124 (main) [STANDALONE]: Handle NULL result.
3125
f990cbf9
VS
31262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3129
9c6e84b8
VS
31302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 Cryptodisk write support.
3133
3134 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3135 (grub_cryptodisk_decrypt): Moved logic to ...
3136 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3137 (grub_cryptodisk_write): Implement.
3138 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3139 (grub_util_fd_write): ... this. Make global.
3140 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3141
87cf9744
VS
31422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * include/grub/list.h (grub_list_remove): Don't crash if element is
3145 removed twice.
3146
ca8c0baf
VS
31472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 Rename ofconsole to console.
3150
3151 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3152 as sysnonym to console.
3153 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3154 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3155 Rename grub_ofconsole_ to grub_console_. All users updated
3156 (grub_console_term_output): Rename "ofconsole" to "console".
3157 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3158 as "console".
3159
64c8b8f6
VS
31602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3163 handling.
3164 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3165 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3166 GRUB_DISK_DEVICE_FILE_ID.
3167
f6c434d5
VS
31682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3171 and improve performance.
3172
5858b42d
VS
31732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
3176 missing ieee1275/ prefix on whole disk.
3177
4ed3c26b
VS
31782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
3181 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
3182
df71143e
VS
31832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
3186
076e7c0f
VS
31872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 Merge common RAID and LVM logic to an abstract diskfilter.
3190 Add LDM support using the same framework.
3191
3192 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
3193 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
3194 (libgrubmods): Remove grub-core/disk/raid.c and
3195 grub-core/partmap/gpt.c.
3196 * grub-core/Makefile.core.def (ldm): New module.
3197 (raid): Renamed to diskfilter. All users updated.
3198 * grub-core/disk/raid.c: Moved to ...
3199 * grub-core/disk/diskfilter.c: ... here.
3200 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
3201 (lv_num): New var.
3202 (find_array): Renamed to ...
3203 (find_lv): ... this. Support multi-LV. Skip nameless LVs
3204 (grub_is_array_readable): Renamed to ...
3205 (grub_is_lv_readable): ... this. Support multinode hierarchy.
3206 (insert_array): New argument id.
3207 (is_node_readable): New function.
3208 (scan_device): Rename to ...
3209 (scan_disk): .. this. Restrict to one disk.
3210 (scan_devices): New function.
3211 (grub_diskfilter_iterate): Support multi-LV.
3212 Skip invisible and nameless LVs.
3213 (grub_diskfilter_memberlist): Support multi-LV.
3214 (grub_diskfilter_read_node): New function.
3215 (grub_raid_read): Most of logic moved to ...
3216 (read_segment): ... here
3217 (read_lv): New function.
3218 (grub_diskfilter_get_vg_by_uuid): New function.
3219 (grub_diskfilter_make_raid): Likewise.
3220 * grub-core/disk/ldm.c: New file.
3221 * grub-core/disk/lvm.c (vg_list): Removed.
3222 (lv_count): Likewise.
3223 (scan_depth): Likewise.
3224 (is_lv_readable): Likewise.
3225 (grub_lvm_getvalue): Advance pointer past the number.
3226 (find_lv): Removed.
3227 (do_lvm_scan): Refactored into ...
3228 (grub_lvm_detect): ... this. Support raid.
3229 (grub_lvm_iterate): Removed.
3230 (grub_lvm_memberlist): Likewise.
3231 (grub_lvm_open): Likewise.
3232 (grub_lvm_close): Likewise.
3233 (read_lv): Likewise.
3234 (read_node): Likewise.
3235 (is_node_readable): Likewise.
3236 (is_lv_readable): Likewise.
3237 (grub_lvm_read): Likewise.
3238 (grub_lvm_write): Likewise.
3239 (grub_lvm_dev): Use diskfilter
3240 (GRUB_MOD_INIT): Likewise.
3241 (GRUB_MOD_FINI): Likewise.
3242 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
3243 new interface.
3244 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
3245 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3246 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
3247 grub_diskfilter_read_node.
3248 Fix a bug with xor.
3249 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
3250 grub_diskfilter_read_node.
3251 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
3252 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
3253 (grub_disk_dev_iterate): Move from here...
3254 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
3255 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3256 Make global.
3257 (grub_hostdisk_find_partition_start): Likewise.
3258 (grub_hostdisk_os_dev_to_grub_drive): New function.
3259 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
3260 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
3261 * util/getroot.c (make_device_name): ... here.
3262 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3263 Move to ...
3264 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
3265 * grub-core/kern/emu/hostdisk.c
3266 (convert_system_partition_to_system_disk): Move to ...
3267 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
3268 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
3269 * util/getroot.c (device_is_wholedisk): ... here.
3270 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
3271 * util/getroot.c (find_system_device): ... here.
3272 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
3273 Move to ...
3274 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
3275 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3276 Move to ...
3277 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
3278 Handle LDM.
3279 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3280 Move to ...
3281 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
3282 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
3283 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
3284 DISKFILTER.
3285 * include/grub/raid.h: Renamed to ...
3286 * include/grub/diskfilter.h: ... this.
3287 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
3288 (GRUB_RAID_LAYOUT_*): Make into array.
3289 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
3290 (grub_diskfilter_vg): New struct.
3291 (grub_diskfilter_pv_id): Likewise.
3292 (grub_raid_member): Removed.
3293 (grub_raid_array): Likewise.
3294 (grub_diskfilter_pv): New struct.
3295 (grub_diskfilter_lv): Likewise.
3296 (grub_diskfilter_segment): Likewise.
3297 (grub_diskfilter_node): Likewise.
3298 (grub_diskfilter_get_vg_by_uuid): New proto.
3299 (grub_raid_register): Inline.
3300 (grub_diskfilter_unregister): Likewise.
3301 (grub_diskfilter_make_raid): New proto.
3302 (grub_diskfilter_vg_register): Likewise.
3303 (grub_diskfilter_read_node): Likewise.
3304 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
3305 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
3306 (grub_util_is_ldm): Likewise.
3307 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
3308 (grub_hostdisk_find_partition_start): Likewise.
3309 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
3310 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
3311 New definition.
3312 (grub_gpt_partition_map_iterate): New proto.
3313 * include/grub/lvm.h (grub_lvm_vg): Removed.
3314 (grub_lvm_pv): Likewise.
3315 (grub_lvm_lv): Likewise.
3316 (grub_lvm_segment): Likewise.
3317 (grub_lvm_node): Likewise.
3318 * util/getroot.c [...]
3319 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
3320 (probe_abstraction): Likewise.
3321 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
3322 (main): Remove dead logic.
3323
8a7f9b9c
VS
33242012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
3325
3326 Simplify root device discover and don't fail when trying to open
3327 incorrect devices.
3328
3329 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
3330 function.
3331 (get_diskname_from_path): Likewise.
3332 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
3333 of iterating.
3334
30545b85
VS
33352012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
3338
28ea58cf
VS
33392012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
3342 pastthe end.
3343
692dabca
VS
33442012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * util/grub-install.in: Add missing \.
3347 Reported by: gentoofan
3348
f6e4ea70
VS
33492012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
3352 (direct_read): Use correct compressed size.
3353 (grub_squash_read_data): Likewise.
3354
33552012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
3356
3357 * docs/grub.texi (Platform limitations): New section.
3358 (Platform-specific operations): Likewise.
3359 * docs/grub-dev.texi (Porting): Likewise.
3360
76261110
VS
33612012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 IEEE1275 disk write support.
3364
3365 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
3366 const void *.
3367 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
3368 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
3369 and seek loginc to ...
3370 (grub_ofdisk_prepare): ... here.
3371 (grub_ofdisk_write): Implement.
3372
fc36d603
VS
33732012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 ARC disk write support.
3376
3377 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
3378 (reopen): New argument writable. All users updated.
3379 Handle required access mode.
3380 (grub_arcdisk_write): Implement.
3381 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
3382 (grub_arc_firmware_vector): Make buffer to write a const buffer.
3383
e06c2e7a
VS
33842012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
3387 (read_sblock): Don't attempt to read superblocks outside the disk size.
3388
ff447958
VS
33892012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
3392 first superblock to find the second one when possible.
3393
9e88df39
VS
33942012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * util/grub-install.in: Fix an ARC bug.
3397 Print a warning if no platform-specific setup is available.
3398
bb26e4ff
VS
33992012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 Use static allocation rather than scratch pointer in reed_solomon.
3402 It decreases its size significantly and avoids a variable in .text.
3403
3404 * grub-core/lib/reed_solomon.c (scratch): Removed.
3405 (chosenstat): New const or static array.
3406 (sigma): Likewise.
3407 (errpot): Likewise.
3408 (errpos): Likewise.
3409 (sy): Likewise.
3410 (mstat): Likewise.
3411 (errvals): Likewise.
3412 (eqstat): Likewise.
3413 (pol_evaluate): Replace x with log_x argument. All users updated.
3414 (syndroms): Removed.
3415 (gauss_solve): Use statically allocated arrays.
3416 (rs_recover): Likewise.
3417 Calculate syndroms directly.
3418 (decode_block): Use statically allocated arrays.
3419 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
3420 (main) [TEST]: Allow -DTEST -DSTANDALONE.
3421
2e13ede5
VS
34222012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 Eliminate fixed limit on reed solomon decoder length.
3425
3426 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
3427 rather than hardcoding the address.
3428 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
3429 no_reed_solomon_length.
3430 Move gate_a20 to no-reed-solomon part.
3431 Don't force a particular size of no reed-solomon part.
3432 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3433 Removed.
3434 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
3435 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
3436
f8a9ab12
VS
34372012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 * grub-core/commands/wildcard.c (match_files): Handle filenames
3440 without explicit device.
3441 (wildcard_expand): Don't add explicit device if not already present.
3442 * tests/grub_script_echo1.in: Add a new expansion test.
3443
87edb894
VS
34442012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 Replace single-linked with double-linked lists. It results in more
3447 compact and more efficient code.
3448
3449 * grub-core/kern/list.c (grub_list_push): Moved from here ...
3450 * include/grub/list.h (grub_list_push): ... to here. Set prev.
3451 (grub_list_remove): Moved from here ...
3452 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
3453 (grub_prio_list_insert): Set prev.
3454 * include/grub/list.h (grub_list): Add prev. All users updated.
3455
48b391e9
VS
34562012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 Handle newer autotools. Add some missing quotes while on it.
3459
3460 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
3461 (pkglib_DATA): Move grub-mkconfig_lib from here ...
3462 (pkgdata_DATA): ... here.
3463 * Makefile.util.def (update-grub_lib): Removed.
3464 * conf/Makefile.common (pkglib_DATA): Removed.
3465 (pkglib_SCRIPTS): Likewise.
3466 (pkgdata_DATA): New variable.
3467 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
3468 needed.
3469 Add missing quotes.
3470 Remove unused variable while on it.
3471 * tests/util/grub-shell.in: Likewise.
3472 * util/grub-install.in: Likewise.
3473 * util/grub-mkconfig.in: Likewise.
3474 * util/grub-mknetdir.in: Likewise.
3475 * util/grub-mkrescue.in: Likewise.
3476 * util/grub-mkstandalone.in: Likewise.
3477 * util/grub.d/00_header.in: Likewise.
3478 * util/grub.d/10_hurd.in: Likewise.
3479 * util/grub.d/10_illumos.in: Likewise.
3480 * util/grub.d/10_kfreebsd.in: Likewise.
3481 * util/grub.d/10_linux.in: Likewise.
3482 * util/grub.d/10_netbsd.in: Likewise.
3483 * util/grub.d/10_windows.in: Likewise.
3484 * util/grub.d/20_linux_xen.in: Likewise.
3485 * util/grub.d/30_os-prober.in: Likewise.
3486 * util/update-grub_lib.in: Removed.
3487
34882012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
3489
3490 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
3491 a workaround for intel problem.
3492
66832792
PRP
34932012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
34942012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
34952012-01-23 pfsmorigo
3496
3497 * util/grub-install.in: Support dd'in into PreP partition.
3498 * util/grub-probe.c (probe): Support discovering partition type.
3499 (main): Support -t msdos_parttype.
3500
7816a17e
VS
35012012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
3504 infinite recursion using counter.
3505 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
3506 init to skip it if the magic check fails.
3507 (dec_stream_header): Init s->crc32.
3508
8f9d3a8c
ZB
35092012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
35102012-01-22 Zachary Bedell <pendorbound@gmail.com>
35112012-01-22 Richard Laager <rlaager@wiktel.com>
3512
3513 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
3514 All users updated.
3515 (find_bestub): Determine correct size.
3516 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
3517 (scan_disk): Align the size down.
3518 Call check pool before find_bestub to have ashift.
3519
b055dd32
VS
35202012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
3523 dprintf in no-malloc zone.
3524
d779e9bd
ML
35252012-01-22 Mario Limonciello <mario_limonciello@dell.com>
3526
3527 * configure.ac: Add back in test for limits.h.
3528
b508af69
VS
35292012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 Support 4K-sector NTFS.
3532
3533 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
3534 (grub_ntfs_data): Remove blocksize.
3535 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
3536 Remove data argument. All users updated.
3537
dad9c8b5
VS
35382012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
3541 being in .text to avoid dprel references.
3542 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
3543 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
3544 (grub_arch_highmemsize): Likewise.
3545 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
3546 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
3547 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
3548
d43a777e
VS
35492012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
3552
3553 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
3554 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
3555
34e4208f
VS
35562012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
3559 GRUB_UTIL.
3560 (grub_set_datetime_cmos): Likewise.
3561
3ec0fc1c
VS
35622012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 Make XZ compression parameters dependent on target and not host CPU.
3565
3566 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
3567 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
3568
22489834
VS
35692012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
3572 set but not used variable.
3573
8502fbca
VS
35742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
3577 created when no uuid support is compiled into mkfs.reiser.
3578
76df2068
VS
35792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
3582 (utf8_to_macroman): Do the opposite.
3583 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
3584
64e3f8f6
VS
35852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * configure.ac: Refise build qemu_mips w/o unifont.
3588
9c271078
VS
35892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 Eliminate grub_min/grub_max prone to overflow usage.
3592
3593 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
3594 (poll_nonroot_hub): Likewise.
3595 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
3596 (grub_affs_label): Likewise.
3597 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
3598 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
3599 (grub_hfs_label): Likewise.
3600 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
3601 * grub-core/fs/zfs/zfs.c (MIN): Remove.
3602 (zap_leaf_array_equal): Use grub_size. Remove MIN.
3603 (zap_leaf_array_get): Likewise.
3604 (dnode_get_path): Likewise.
3605 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
3606 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
3607 * grub-core/script/execute.c (grub_script_break): Likewise.
3608 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
3609 grub_max.
3610 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
3611 * include/grub/misc.h (grub_min): Removed.
3612 (grub_max): Likewise.
3613
80662dbc
VS
36142012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3615
3616 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
3617 direct.inode = 0.
3618
e6da1467
VS
36192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
3622
b1ac4cb1
VS
36232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
3626
b4bf7c3b
VS
36272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
3630 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
3631
8ee1101a
VS
36322012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
3635 rather than a hack for grub_strncasemap.
3636
36372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 Support multiple initrds
3640 Note: part of this was accidently committed in r3739.
3641
3642 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
3643 initrd.
3644 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3645 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3646 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3647 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3648 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3649
4d1e2bc9
VS
36502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
3653 disks with unknown size.
3654 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
3655
75b49ebe
VS
36562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 Remove defines pertaining to arbitrary limits not affecting GRUB
3659 anymore.
3660
3661 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
3662 (EXT2_MAX_SYMLINKCNT): Likewise.
3663 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
3664 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
3665 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
3666 (GRUB_PXE_MAX_BLKSIZE): Likewise.
3667 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
3668 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
3669 (DN_MAX_OBJECT_SHIFT): Likewise.
3670 (DN_MAX_OFFSET_SHIFT): Likewise.
3671 (DN_MAX_OBJECT): Likewise.
3672 (DNODES_PER_LEVEL_SHIFT): Likewise.
3673 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
3674 (SPA_MAXBLOCKSIZE): Likewise.
3675 (SPA_BLOCKSIZES): Likewise.
3676 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
3677 (MZAP_MAX_BLKSZ): Likewise.
3678
74a1dce7
VS
36792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
3682 handle NULL appropriately.
3683 Remove MIN.
3684
30c7d3ce
VS
36852012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 Fix efiemu.
3688
3689 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
3690 cpu/types.h.
3691 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
3692 * configure.ac: Fix efiemu check.
3693
3c76ea0c
VS
36942012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
3697 grub_probe.
3698 Reported by: adamwill
3699
7e532280
SG
37002012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
3701
3702 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
3703
30492374
VS
37042012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 Fix handling of wide characters in gfxterm.
3707
3708 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
3709 (clear_char): Likewise.
3710 (paint_char): Skip code == NULL chars.
3711 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
3712
e70cb72f
VS
37132012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 * grub-core/normal/charset.c: Move comment to right place.
3716
5c827cf9
VS
37172012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
3720 (GRUB_AFFS_FLAG_FFS): Put back where it was.
3721 (grub_affs_mount): Revert the correct version checking.
3722
53603892
VS
37232012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * docs/grub.texi (Unicode): Mention several other unsupported features.
3726
ff094b9b
VS
37272011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
3730 case statements as compile-time one.
3731 (direct_read): Prevent spurious warnings.
3732 (grub_squash_read_data): Likewise.
3733
c029da8a
VS
37342011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 Various squash4 fixes and LZO and XZ support.
3737
3738 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
3739 Add xzembed source files.
3740 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
3741 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
3742 (grub_squash_inode): New subtype long_dir.
3743 (SQUASH_TYPE_LONG_DIR): New inode type.
3744 (COMPRESSION): New enum.
3745 (XZBUFSIZ): New const.
3746 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
3747 (read_chunk): Use data->decompress.
3748 (zlib_decompress): New function.
3749 (lzo_decompress): Likewise.
3750 (xz_decompress): Likewise.
3751 (squash_mount): Set new data fields.
3752 (grub_squash_iterate_dir): Handle long dir.
3753 (squash_unmount): Free xzdec and xzbuf.
3754 (grub_squash_open): Check ino type.
3755 (direct_read): Stylistic fixes. Use data->decompress.
3756 (grub_squash_read_data): Likewise.
3757 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
3758 (get_byte): Likewise.
3759 (grub_zlib_disk_read): Removed.
3760 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
3761 (GRUB_POSIX_BOOL_DEFINED): New define.
3762 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
3763 * grub-core/lib/xzembed/xz.h: Addmissing includes.
3764 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
3765 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
3766
7a45a539
VS
37672011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 Don't override more informative errors.
3770
3771 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
3772 * grub-core/font/font.c (open_section): Likewise.
3773 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
3774 filename. Don't override errors.
3775 (grub_cmd_openbsd_ramdisk): Don't override errors.
3776 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
3777 (grub_cmd_initrd): Likewise.
3778 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3779 (grub_cmd_initrd): Likewise.
3780 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
3781 (grub_cmd_linux): Likewise.
3782 (grub_cmd_initrd): Likewise.
3783 (grub_cmd_payload): Likewise.
3784 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3785 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
3786 (grub_cmd_module): Likewise.
3787 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3788 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3789 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
3790 (grub_cmd_xnu_mkext): Likewise.
3791 (grub_cmd_xnu_ramdisk): Likewise.
3792 (grub_xnu_check_os_bundle_required): Likewise.
3793 (grub_xnu_load_kext_from_dir): Likewise.
3794 (grub_cmd_xnu_kextdir): Likewise.
3795 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
3796
b2d004db
VS
37972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3798
3799 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
3800 as 1024 in block size field. Found on one of my test images.
3801 Small optimisation while on it.
3802
ec000eac
VS
38032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
3806 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
3807 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
3808 performance fixes while on it.
3809 (grub_sfs_close): Fix memory leak while on it.
3810 (grub_sfs_label): Convert Latin1 to UTF-8.
3811
f50e1165
VS
38122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
3815 space to avoid overflows.
3816 (grub_hfs_label): Convert from macroman to UTF-8.
3817
2ae254de
VS
38182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
3821
0108f491
VS
38222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
3825
f45f5f89
VS
38262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * unicode: Import Unicode 6.0 data.
3829
4d8c4765
VS
38302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3831
63fa8ef9
VS
3832 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
3833 outside of range.
3834
38352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
3838
3839 * include/grub/charset.h (grub_getend): New function.
3840 * grub-core/script/function.c (grub_script_function_find): Use
3841 grub_getend.
3842 * grub-core/normal/completion.c (add_completion): Likewise.
3843
f3cb4a4e
VS
38442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
3847 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
3848 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
3849 (GRUB_UNICODE_TAG_END): Likewise.
3850 (GRUB_UNICODE_LAST_VALID): Likewise.
3851
5da8dbc5
VS
38522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
3855 len and make it smaller. All users updated.
3856 * util/import_unicode.py: Put length and not end character.
3857 Check length.
3858
8569f13d
VS
38592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 Make better Unicode-compliant and unify some UTF-8 code pathes.
3862
3863 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
3864 valid character.
3865 (grub_is_valid_utf8): Use grub_utf8_process.
3866 Check resulting code range.
3867 (grub_utf8_to_ucs4): Use grub_utf8_process.
3868 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
3869 valid character.
3870
cc4fddf5
VS
38712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
3874
bbc47747
VS
38752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 * docs/grub.texi (Filesystems): Mention AFS.
3878
f63d6bf4
VS
38792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 * docs/grub.texi (Filesystems): Clarify restrictions.
3882 (Regexp): Mention non-Unicode regexp behaviour.
3883 (Other): Mention non-Unicode matching behaviour.
3884
74bbf0db
VS
38852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3886
f63d6bf4 3887 Make HFS implementation use MacRoman.
74bbf0db
VS
3888
3889 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
3890 (macroman): New const array.
3891 (macroman_to_utf8): New function.
3892 (utf8_to_macroman): Likewise.
3893 (grub_hfs_find_dir): Use utf8_to_macroman.
3894 (grub_hfs_dir): Use macroman_to_utf8.
3895 Set case_insensitive.
3896
4ea0316e
VS
38972011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
3900
d3c13cbd
VS
39012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 Integrate hints into autogeneration scripts.
3904
3905 * docs/grub.texi (Filesystems): Add a hostdisk example.
3906 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
3907 (grub-probe): Add ofpath.
3908 * gentpl.py: Remove group nosparc64.
3909 * grub-core/commands/search.c (cache_entry): New struct.
3910 (cache): New var.
3911 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
3912 * grub-core/commands/search_wrap.c (options): Add platform-specific
3913 hint options.
3914 (grub_cmd_search): Handle platform-specific hints.
3915 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
3916 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
3917 (grub_util_biosdisk_data): Likewise.
3918 (grub_util_biosdisk_open): Set device_map.
3919 (read_device_map): Handle "" as indication of no map.
3920 Set device_map.
3921 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
3922 (grub_util_biosdisk_get_compatibility_hint): New function.
3923 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
3924 * include/grub/emu/hostdisk.h
3925 (grub_util_biosdisk_get_compatibility_hint): New proto.
3926 * util/grub-install.in: Don't call grub-mkdevicemap.
3927 Add platform-specific hint to load.cfg.
3928 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
3929 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3930 hints. Set root preliminary to compatibility hint, not to OS name.
3931 * util/grub-probe.c (PRINT_*): Add hints.
3932 (print): Make static.
3933 (escape_of_path): New function.
3934 (guess_bios_drive): Likewise.
3935 (guess_efi_drive): Likewise.
3936 (guess_baremetal_drive): Likewise.
3937 (print_full_name): Likewise.
3938 (probe): Handle hints.
3939 (main): Likewise.
3940 * util/ieee1275/devicemap.c: Removed.
3941 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
3942 updated.
3943 (grub_util_devname_to_ofpath): Return NULL on failure.
3944
3945 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
3946 resource leak.
3947 * util/getroot.c (grub_util_pull_device): Fix memory leak.
3948
3949 * po/POTFILES.in: Regenerated.
3950
3951 Allow purely long options
3952
3953 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
3954 (SHORT_ARG_USAGE): Likewise.
3955 (grub_arg_show_help): Compare opt with help_options.
3956 (parse_option): Receive opt as argument. If makes big simplificatons.
3957 All users updated
3958
00ce2df3
VS
39592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
3962 Restructure to avoid warning.
3963
e77e325f
VS
39642011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * util/grub-install.in: Account for possible escaped comma in device
3967 name.
3968
165099ea
VS
39692011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
3972 channel.
3973
ce4a999d
VS
39742011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
3977 allocation and zero-setting.
3978 (grub_ieee1275_get_devname): Check that alias is complete.
3979
379586ad
VS
39802011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
3983 unaligned segments.
3984
9197b0ad
VS
39852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
3988 prefix.
3989 (grub_ofdisk_open): Check and discard ieee1275 prefix.
3990 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3991 Add ieee1275 prefix.
3992
edddb7f9
VS
39932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * docs/grub.texi (Filesystems): Update.
3996
a1a8b1b9
VS
39972011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 Support odc, newc and bigendian cpio formats.
4000
4001 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
4002 * grub-core/Makefile.core.def (newc): New module.
4003 (odc): Likewise.
4004 (cpio_be): Likewise.
4005 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
4006 (MAGIC): Likewise.
4007 (MAGIC2): Likewise.
4008 (head) [MODE_ODC]: Adapt for the format.
4009 (head) [MODE_NEWC]: Likewise.
4010 (head) [!MODE_*]: Write fields of interest as arrays.
4011 (MAGIC_USTAR): Removed.
4012 (read_number) [MODE_NEWC]: Change to hex.
4013 (read_number) [!MODE_*]: Parse binary arrays.
4014 (grub_cpio_find_file): Factor out the code for better structure and
4015 always use read_number.
4016 (grub_cpio_mount): Use MAGIC and MAGIC2.
4017 (grub_cpio_dir): Exit on first hook non-0 return.
4018 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
4019 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
4020 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
4021 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
4022 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
4023 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
4024 * grub-core/fs/newc.c: New file.
4025 * grub-core/fs/odc.c: Likewise.
4026 * grub-core/fs/cpio_be.c: Likewise.
4027
58eba9ee
VS
40282011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 Fix handling of tar numbers occupying the whole field.
4031
4032 * grub-core/fs/cpio.c (read_number): New function.
4033 (grub_cpio_find_file): Use read_number instead of strtoull.
4034
a54a0e12
VS
40352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
4038 occupying the whole field size.
4039
a6120aca
LA
40402011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
4041
4042 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
4043
a93964ce
VS
40442011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
4047
3ea1ca46
SG
40482011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
4049
4050 * grub-core/Makefile.core.def (lzma_decompress): Add missing
4051 TARGET_IMG_LDFLAGS.
4052
b87f7ef2
VS
40532011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 * util/getroot.c (ESCAPED_PATH_MAX): New define.
4056 (mountinfo_entry): Increase the field size to take escaping into
4057 account.
4058 (find_root_device_from_libzfs): Add one byte to size of strings for
4059 security.
4060
62092395
VS
40612011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
4064 an assert.
4065 * util/grub-setup.c (setup): Likewise.
4066
1f0b1a77
VS
40672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
4070 _LzmaDecodeA.
4071
8eba9997
VS
40722011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * docs/grub.texi (Internationalisation): New section.
4075
dd0c91e9
VS
40762011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * docs/grub.texi (Loopback booting): New section.
4079
40802011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
4081
4082 * util/grub-mkstandalone.in: Fix minor typo errors.
4083
198e150a
VS
40842011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
4087
4088 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
4089 net/icmp.c and net/icmp6.c.
4090 (http): New module.
4091 (priority_queue): Likewise.
4092 * grub-core/io/bufio.c: Rewritten.
4093 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
4094 TYPE_WITH_CONFIGFILE_OPTION.
4095 (legacy_commands): Add bootp and dhcp.
4096 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
4097 (grub_legacy_parse): Likewise.
4098 * grub-core/lib/priority_queue.c: New file.
4099 * grub-core/net/arp.c: Add missing license header.
4100 (arp_find_entry): Removed.
4101 (arp_find_entry): Likewise.
4102 (grub_net_arp_resolve): Rename to ...
4103 (grub_net_arp_send_request): ...this.
4104 (grub_net_arp_receive): New card argument.
4105 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
4106 Set router and DNS server.
4107 (grub_net_configure_by_dhcp_ack): Handle routing information.
4108 (grub_cmd_bootp): Set checksum.
4109 (grub_bootp_init): Remove net_dhcp.
4110 * grub-core/net/dns.c: New file.
4111 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4112 completion.
4113 (get_card_packet): Handle allocation.
4114 (grub_efinet_findcards): Set mtu.
4115 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4116 (get_card_packet): Handle allocation.
4117 (emucard): Set mtu.
4118 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4119 (GRUB_MOD_INIT): Set mtu.
4120 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4121 mtu.
4122 (get_card_packet): Handle allocation.
4123 (grub_ofnet_findcards): Set mtu.
4124 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4125 assert.
4126 (grub_net_recv_ethernet_packet): Handle IPv6.
4127 * grub-core/net/http.c: New file.
4128 * grub-core/net/icmp.c: Likewise.
4129 * grub-core/net/icmp6.c: Likewise.
4130 * grub-core/net/ip.c (ip6addr): New type.
4131 (ip6hdr): Likewise.
4132 (reassemble): Likewise.
4133 (cmp): New function.
4134 (reassembles): New variable.
4135 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4136 (id): New variable.
4137 (send_fragmented): New function.
4138 (grub_net_send_ip_packet): Rename to ...
4139 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4140 Handle non-UDP.
4141 (grub_net_recv_ip_packets): Rename to ...
4142 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4143 (free_rsm): New function.
4144 (free_old_fragments): Likewise.
4145 (grub_net_recv_ip4_packets): New function.
4146 (grub_net_send_ip6_packet): Likewise.
4147 (grub_net_send_ip_packet): Likewise.
4148 (grub_net_recv_ip6_packets): Likewise.
4149 (grub_net_recv_ip_packets): Likewise.
4150 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4151 (LINK_LAYER_CACHE_SIZE): New const.
4152 (link_layer_find_entry): New function.
4153 (grub_net_link_layer_add_address): Likewise.
4154 (grub_net_link_layer_resolve_check): Likewise.
4155 (grub_net_link_layer_resolve): Likewise.
4156 (grub_net_ipv6_get_slaac): Likewise.
4157 (grub_net_ipv6_get_link_local): Likewise.
4158 (grub_cmd_ipv6_autoconf): Likewise.
4159 (parse_ip): Handle one number representation.
4160 (parse_ip6): New functoion.
4161 (match_net): Handle IPv6.
4162 (grub_net_resolve_address): Handle IPv6 and DNS.
4163 (grub_net_resolve_net_address): Handle IPv6.
4164 (route_cmp): New function.
4165 (grub_net_route_address): Find best route.
4166 (grub_net_addr_to_str): Handle IPv6.
4167 (grub_net_addr_cmp): New function.
4168 (grub_net_add_addr): Register local route.
4169 (print_net_address): Handle net address.
4170 (grub_net_poll_cards): Retransmit TCP.
4171 (grub_net_poll_cards_idle_real): Likewise.
4172 (have_ahead): New function.
4173 (grub_net_seek_real): Use underlying seek.
4174 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
4175 * grub-core/net/tcp.c: New file.
4176 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
4177 (cmp): New function.
4178 (ack): Likewise.
4179 (tftp_receive): Handle unordered input.
4180 (destroy_pq): New function.
4181 (tftp_close): Close pq.
4182 * grub-core/net/udp.c: Put missing license header.
4183 (grub_net_udp_socket): New function.
4184 (udp_socket_register): Likewise.
4185 (grub_net_udp_close): Likewise.
4186 (grub_net_recv_udp_packet): Check checksum.
4187 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
4188 * include/grub/misc.h (grub_memchr): New function.
4189 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
4190 (grub_net_card_driver): Return buf in recv.
4191 (grub_net_slaac_mac_list): New struct.
4192 (grub_network_level_protocol_id): Add ipv6.
4193 (grub_net_network_level_addr): Likewise.
4194 (grub_net_network_level_net_addr): Likewise.
4195 (grub_net_app_protocol): Add seek.
4196 (grub_net_socket): Removed.
4197 (grub_net_sockets): Likewise.
4198 (grub_net_socket_register): Likewise.
4199 (grub_net_socket_unregister): Likewise.
4200 (FOR_NET_SOCKETS): Likewise.
4201 (grub_net_add_addr): Add const.
4202 (GRUB_NET_BOOTP_*): New enum.
4203 (grub_net_addr_cmp): New proto.
4204 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
4205 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
4206 (grub_net_hwaddr_to_str): NEw proto.
4207 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
4208 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
4209 (grub_dns_init): New proto.
4210 (grub_dns_fini): Likewise.
4211 (grub_net_tcp_retransmit): Likewise.
4212 (grub_net_link_layer_add_address): Likewise.
4213 (grub_net_link_layer_resolve_check): Likewise.
4214 (grub_net_link_layer_resolve): Likewise.
4215 (grub_net_dns_lookup): Likewise.
4216 (grub_net_add_dns_server): Likewise.
4217 (grub_net_remove_dns_server): Likewise.
4218 (GRUB_NET_TRIES): New const.
4219 (GRUB_NET_INTERVAL): Likewise.
4220 * include/grub/net/arp.h: Mostly rewritten.
4221 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
4222 * include/grub/net/ip.h: Mostly rewritten.
4223 * include/grub/net/netbuff.h: Indent.
4224 * include/grub/net/tcp.h: New file.
4225 * include/grub/net/udp.h: Mostly rewritten.
4226 * include/grub/priority_queue.h: New file.
4227 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
4228 (grub_swap_bytes64_compile_time): Likewise.
4229 (grub_cpu_to_be16_compile_time): Likewise.
4230 (grub_cpu_to_be32_compile_time): Likewise.
4231 (grub_cpu_to_be64_compile_time): Likewise.
4232 (grub_be_to_cpu64_compile_time): Likewise.
4233
215c1800
VS
42342011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
4237 UINT_TO_PTR with cast.
4238
c17e546c
VS
42392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
4242 don't use them.
4243
ff6b18b6
VS
42442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
4247 already there.
4248
70ffcc93
VS
42492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
4252 confusing ipxe.
4253
e5f4d260
VS
42542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
4257 Add missing const attribute.
4258 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
4259 Likewise.
4260 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
4261 Likewise.
4262
8e54b4b7
VS
42632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
4266 misaligned access.
4267 (serpent_setkey): Likewise.
4268 (serpent_encrypt_internal): Likewise.
4269 (serpent_decrypt_internal): Likewise.
4270 (serpent_encrypt): Don't put an alignment-increasing cast.
4271 (serpent_decrypt): Likewise.
4272 (serpent_test): Likewise.
4273
813c0a2b
VS
42742011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4275
4276 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
4277
f2b60fbd
VS
42782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
4281
4282 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
4283 grub_addr_t casts.
4284 (PTR_TO_UINT64): Likewise.
4285 (PTR_TO_UINT32): Likewise.
4286
5ef5c511
VS
42872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * util/grub-mkimage.c (generate_image): Decrease the higher limit
4290 because of stack.
4291 * util/grub-setup.c (setup): Don't add redundancy past the higher load
4292 limit.
4293
c476e6df
VS
42942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
4297 text_width > available width a bit more gracefully.
4298
384ad7cc
VS
42992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
4302 current address calculation.
4303
96f8caf8
VS
43042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
4307 stack.
4308 (encode_block): Likewise.
4309
276b7a8b
VS
43102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
4313 certainety.
4314
e3fd394a
VS
43152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
4318 non-RS part to avoid RS messing with GDT.
4319 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4320 Increase to suit in realmode routines.
4321
43222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * grub-core/kern/i386/realmode.S: Increase alignment.
4325 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
4326
ee9c2e7a
VS
43272011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
4330 be deterministic.
4331 (syndroms): Compute 0 syndrom.
4332 (rs_recover): Use 0 syndrom.
4333
7a7f7cc9
VS
43342011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
4337
a14b16d1
VS
43382011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
4341 brackets.
4342
9f59e9fc
VS
43432011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4344
ca1b552c
VS
4345 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
4346 account.
4347 (get_top_pad): Likewise.
4348 (get_right_pad): Likewise.
4349 (get_bottom_pad): Likewise.
4350
43512011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 4354
e739d698
VS
43552011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
4358 attribute as the structure isn't guaranteed to be properly aligned.
4359 (grub_efi_pci_device_path): Likewise.
4360 (grub_efi_pccard_device_path): Likewise.
4361 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
4362 specify the size of `memory_type'.
4363 (grub_efi_vendor_device_path): Likewise.
4364 (grub_efi_controller_device_path): Likewise.
4365 (grub_efi_acpi_device_path): Likewise.
4366 (grub_efi_expanded_acpi_device_path): Likewise.
4367 (grub_efi_atapi_device_path): Likewise.
4368 (grub_efi_scsi_device_path): Likewise.
4369 (grub_efi_fibre_channel_device_path): Likewise.
4370 (grub_efi_1394_device_path): Likewise.
4371 (grub_efi_usb_device_path): Likewise.
4372 (grub_efi_usb_class_device_path): Likewise.
4373 (grub_efi_i2o_device_path): Likewise.
4374 (grub_efi_mac_address_device_path): Likewise.
4375 (grub_efi_ipv4_device_path): Likewise.
4376 (grub_efi_ipv6_device_path): Likewise.
4377 (grub_efi_infiniband_device_path): Likewise.
4378 (grub_efi_uart_device_path): Likewise.
4379 (grub_efi_vendor_messaging_device_path): Likewise.
4380 (grub_efi_hard_drive_device_path): Likewise.
4381 (grub_efi_cdrom_device_path): Likewise.
4382 (grub_efi_vendor_media_device_path): Likewise.
4383 (grub_efi_file_path_device_path): Likewise.
4384 (grub_efi_protocol_device_path): Likewise.
4385 (grub_efi_piwg_device_path): Likewise.
4386 (grub_efi_bios_device_path): Likewise.
4387
cb8f88ea
VS
43882011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
4391 (grub_ucs4_to_utf8_alloc): Likewise.
4392 (grub_ucs4_to_utf8): Likewise.
4393 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
4394 (grub_ucs4_to_utf8_alloc): Likewise.
4395
309e5352
VS
43962011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 AFFS never uses unicode.
4399
4400 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
4401 (grub_latin1_to_utf8): New inline function.
4402 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
4403
e7987e1b
VS
44042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
4407 overflow.
4408
efc2616e
VS
44092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
4412 (grub_squash_dirent_header): Likewise.
4413 (read_chunk): Don't double swap.
4414 (grub_squash_iterate_dir): Fix swap sizes.
4415
3c349f5a
VS
44162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
4419
b453412d
VS
44202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
4423 (grub_hfs_iterate_dir): Likewise.
4424
12e9d4d1
VS
44252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 Fix video on platforms where unaligned access is forbidden.
4428 Make several optimisations while on it.
4429
4430 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
4431 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4432 (grub_video_fbblit_replace_32bit_1bit): Likewise.
4433 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4434 Disable.
4435 (grub_video_fbblit_replace_16bit_1bit):
4436 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4437 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4438 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
4439 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
4440 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4441 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4442 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
4443 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
4444 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
4445 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
4446 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
4447 (grub_video_fbblit_replace_index_RGB888): Likewise.
4448 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
4449 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
4450 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
4451 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4452 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
4453 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4454 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4455 Disable.
4456 (grub_video_fbblit_blend_XXX565_1bit):
4457 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4458 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
4459 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
4460 void *.
4461 * grub-core/video/fb/video_fb.c (common_blitter)
4462 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
4463 (grub_video_fb_create_render_target_from_pointer)
4464 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4465 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
4466 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
4467 definition.
4468 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
4469
ace96609
VS
44702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
4473 HH22 and HM10 relocations.
4474
fd261d73
VS
44752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
4478
e59b7857
VS
44792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
4482 allocation succeeded.
4483
9b4baaa4
VS
44842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
4487 argument a u8 pointer. All users updated.
4488 Handle unaligned buffers.
4489
dc713193
VS
44902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
4493 add_part to workaround compiler bug.
4494
30dd48c2
VS
44952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
4498
0c6087a8
VS
44992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
4502 Reserve alignment invariants.
4503 (grub_multiboot_load): Likewise.
4504 (retrieve_video_parameters): Likewise.
4505 (grub_multiboot_make_mbi): Likewise.
4506
c2e77777
VS
45072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
4510 incorrect pointer.
4511
b70b6d11
VS
45122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
4515 (grub_pata_pio_write): Likewise.
4516
02a2bf83
VS
45172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 Add noreturn attributes and remove unreachable code.
4520
4521 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
4522 code.
4523 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
4524 code. Mark as noreturn.
4525 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
4526 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
4527 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
4528 unreachable code.
4529 * grub-core/kern/main.c (grub_main): Mark as noreturn.
4530 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
4531 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
4532 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
4533 * include/grub/kernel.h (grub_main): Mark as noreturn.
4534 * include/grub/reader.h (grub_rescue_run): Likewise.
4535
2019d09e
VS
45362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
4539 redundant declaration.
4540
d1c501ee
VS
45412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 * include/grub/net.h (grub_net_network_level_interfaces): Remove
4544 redundant declaration.
4545 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
4546
61664420
VS
45472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
4550 to ensure alignment.
4551 (grub_hdparm_print_identify): Make argument uint16 * to ensure
4552 alignment. Ensure tmp alignment.
4553 (grub_cmd_hdparm): Ensure buf alignment.
4554 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
4555 to ensure alignment.
4556 (grub_ata_dumpinfo): Ensure text alignment.
4557 (grub_atapi_identify): Preserve alignment invariant.
4558 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
4559
0d51ee20
VS
45602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
4563 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
4564 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
4565 * include/grub/misc.h (grub_reboot)
4566 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
4567 (grub_halt) [__mips__]: Likewise.
4568
753ef8c1
VS
45692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
4572 Remove redundant declaration.
4573 (grub_mmap_get_post64): Likewise.
4574 (grub_mmap_get_upper): Likewise.
4575 (grub_mmap_get_lower): Likewise.
4576
85c85365
VS
45772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
4580 uint32_t * to ensure alignment.
4581 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
4582
a23f2cc4
VS
45832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4584
93018f64
VS
4585 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
4586 uint16_t * to ensure alignment.
4587 (sun_pc_partition_map_iterate): Make `block' a union to ensure
4588 alignment.
4589
45902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
4593 to ensure alignment.
4594 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
4595
58acccd6
VS
45962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/fs/ntfs.c (u16at): Make into inline function.
4599 Handle unaligned pointers.
4600 (u32at): Likewise.
4601 (u64at): Likewise.
4602 (fixup): Use byte access instead of v16at.
4603 (find_attr): Fix imporper usage of v32at.
4604 (read_data): Likewise.
4605 (list_file): Handle byte-swapping and unaligned strings.
4606 (grub_ntfs_label): Likewise.
4607
9b05cad7
VS
46082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
4611 as it's not necessarily aligned.
4612
b3950b84
VS
46132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
4616 redundant declaration.
4617 (grub_serial_init): Likewise.
4618 (grub_terminfo_init): Likewise.
4619
fcd232b7
VS
46202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4621
4622 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
4623 function.
4624 (ZAP_HASH_IDX): Likewise.
4625 (ZAP_LEAF_HASH_SHIFT): Likewise.
4626 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
4627 (LEAF_HASH): Likewise.
4628 (ZAP_LEAF_NUMCHUNKS): Likewise.
4629 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
4630 alignment invariants. Return pointer. All users updated.
4631 (ZAP_LEAF_ENTRY): Make into inline function.
4632 (NBBY): Removed.
4633 (xor): LIkewise.
4634 (xor_out): Use grub_crypto_xor.
4635 (dnode_get_path): Use grub_get_unaligned.
4636 (nvlist_find_value): Likewise.
4637 (grub_zfs_nvlist_lookup_uint64): Likewise.
4638 (grub_zfs_nvlist_lookup_string): Likewise.
4639 (get_nvlist_size): Likewise.
4640 (grub_zfs_open): Likewise.
4641 (fill_fs_info): Likewise.
4642 (grub_zfs_dir): Likewise.
4643 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
4644 alignment invariants.
4645 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
4646 necessarily aligned.
4647
f138623a
VS
46482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
4651
564840dc
VS
46522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
4655 arithmetic to conserve alignment invariants.
4656
9b40df20
VS
46572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
4660 redundant declaration.
4661 (grub_efiemu_mm_obtain_request): Likewise.
4662 (grub_efiemu_prepare): Likewise.
4663
d1c930f9
VS
46642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
4667 to match types.
4668
4c5f3056
VS
46692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
4672 case of aunaligned recptr.
4673 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
4674 alignment.
4675 (grub_hfsplus_btree_search): Handle unaligned index.
4676
728cba91
VS
46772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
4680 to get freetag and skip.
4681
eb561f31
VS
46822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
4685 array.
4686 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
4687 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
4688
20993fbb
VS
46892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
4692 name for checksum and fix allocation algorithm.
4693
1f313b94
VS
46942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4695
4696 * include/grub/types.h (grub_properly_aligned_t): New type.
4697 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
4698 (grub_get_unaligned16): Add explicit casts.
4699 (grub_get_unaligned32): Likewise.
4700 (grub_get_unaligned64): Likewise.
4701 (grub_set_unaligned16): New function.
4702 (grub_set_unaligned32): Likewise.
4703
47ae27ec
VS
47042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4707
78c2cd1c
VS
47082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
4711 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
4712 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
4713
53072f9b
VS
47142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
4717 conditionals.
4718
055dc239
VS
47192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
4722 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
4723
496bd074
VS
47242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 Unify and improve RAID and crypto xor.
4727
4728 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
4729 changed to grub_crypto_xor
4730 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
4731 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
4732 Use bigger types when possible.
4733
ef6e4335
VS
47342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * grub-core/disk/raid.c (scan_devices): Fix condition.
4737
5d048bf2
VS
47382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
4741 Make name a const ptr.
4742
ee533335
VS
47432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
4746 first argument a const pointer.
4747 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
4748 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
4749 proto.
4750 (grub_children_iterate): Likewise.
4751 (grub_machine_mmap_iterate): Remove redundant declaration.
4752
cc8f3668
VS
47532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
4756 (grub_cmd_acpi) [!x86]: Disable EBDA.
4757
c5fc563a
VS
47582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 Enable UTF8 in gnulib regexp.
4761
4762 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
4763 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
4764 (isupper): Use grub_isupper.
4765 (isascii): New inline function.
4766 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
4767 * grub-core/lib/posix_wrap/wctype.h: Likewise.
4768 * grub-core/normal/charset.c (grub_utf8_process): New function.
4769 (grub_utf8_to_utf16): Use grub_utf8_process.
4770 (grub_encode_utf8_character): New function.
4771 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
4772 * include/grub/charset.h (grub_utf8_process): New declaration.
4773 (grub_encode_utf8_character): Likewise.
4774 * include/grub/misc.h (grub_islower): New inline function.
4775 (grub_isupper): Likewise.
4776 (grub_strchrsub): Moved down to fix the definitions.
4777
0af2346f
VS
47782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
4781 specification.
4782
74dbd244
VS
47832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * include/grub/loader.h (grub_loader_register_preboot_hook):
4786 Use struct preboot * and not void * for handle. All users updated.
4787 (grub_loader_unregister_preboot_hook): Likewise.
4788
1bc8f60d
VS
47892011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
4792 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
4793 UTF-16-BE. All users updated.
4794 (grub_hfsplus_cmp_catkey): Fix unicode handling.
4795 (grub_hfsplus_iterate_dir): Likewise.
4796 (grub_hfsplus_label): Likewise.
4797
48d6e456
VS
47982011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
4801
bf3a3857
VS
48022011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 Add missing const qualifiers.
4805
4806 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
4807 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
4808 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
4809 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
4810 (grub_lvm_check_flag): Likewise.
4811 * grub-core/efiemu/i386/coredetect.c
4812 (grub_efiemu_get_default_core_name): Likewise
4813 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4814 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
4815 * grub-core/fs/ntfs.c (fixup): Likewise.
4816 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
4817 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
4818 (fzap_lookup): Likewise.
4819 (zap_lookup): Likewise.
4820 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
4821 * grub-core/lib/legacy_parse.c (check_option): Likewise.
4822 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
4823 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
4824 (grub_freebsd_add_meta_module): Likewise.
4825 (grub_cmd_freebsd_module): Likewise.
4826 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
4827 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
4828 (grub_xnu_writetree_get_size): Likewise.
4829 (grub_xnu_writetree_toheap_real): Likewise.
4830 (grub_xnu_find_key): Likewise.
4831 (grub_xnu_create_key): Likewise.
4832 (grub_xnu_create_value): Likewise.
4833 (grub_xnu_register_memory): Likewise.
4834 (grub_xnu_check_os_bundle_required): Likewise.
4835 (grub_xnu_scan_dir_for_kexts): Likewise.
4836 (grub_xnu_load_kext_from_dir): Likewise.
4837 * grub-core/normal/color.c (color_list): Likewise.
4838 * grub-core/normal/completion.c (current_word): Likewise.
4839 * grub-core/normal/menu_entry.c (insert_string): Likewise.
4840 * grub-core/term/serial.c (grub_serial_find): Likewise.
4841 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
4842 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
4843 Likewise.
4844 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
4845 (grub_freebsd_add_meta_module): Likewise.
4846 * include/grub/lib/arg.h (grub_arg_option): Likewise.
4847 * include/grub/net.h (grub_net_card_driver): Likewise.
4848 (grub_net_card): Likewise.
4849 (grub_net_app_protocol): Likewise.
4850 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
4851 * include/grub/serial.h (grub_serial_find): Likewise.
4852 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
4853 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
4854 (grub_xnu_create_value): Likewise.
4855 (grub_xnu_find_key): Likewise.
4856 (grub_xnu_scan_dir_for_kexts): Likewise.
4857 (grub_xnu_load_kext_from_dir): Likewise.
4858
4859 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
4860 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
4861 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
4862 Moved from here ...
4863 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
4864
112b4837
CW
48652011-11-28 Colin Watson <cjwatson@ubuntu.com>
4866
4867 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
4868
49e891ac
VS
48692011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
4872 (read_device): Fix size calculation.
4873
fd258e5c
RM
48742011-11-25 Robert Millan <rmh@gnu.org>
4875
4876 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
4877 (find_root_device_from_libzfs): Add zpool output parser to be used
4878 as fallback when libzfs isn't available.
4879
78845dc2
SG
48802011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
4881
4882 * po/Makefile.in.in: Add missing escape-continuation.
4883
adac5211
VS
48842011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
4887
10b64f1c
VS
48882011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
4891
bb416954
VS
48922011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
4895
bdfe9eeb
VS
48962011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4897
4898 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
4899
581ffa8a
VS
49002011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * grub-core/lib/adler32.c: Add missing license specification.
4903 * grub-core/lib/crc64.c: Likewise.
4904 * grub-core/loader/i386/pc/plan9.c: Likewise.
4905 * grub-core/partmap/plan.c: Likewise.
4906
2536cf64
LK
49072011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
4908
4909 Add facility to debug GRUB with gdb under qemu.
4910
4911 * grub-core/gdb_grub.in: New file.
4912 * grub-core/gmodule.pl.in: Likewise.
4913 * grub-core/Makefile.core.def (gmodule.pl): New script.
4914 (gdb_grub): Likewise.
4915
bc108a4a
VS
49162011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * util/grub-mount.c (argp_parser): Accept relative pathes.
4919 * util/grub-fstest.c (argp_parser): Likewise.
4920
111c1778
VS
49212011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 Plan9 support.
4924
4925 * Makefile.util.def (libgrubmods): Add
4926 grub-core/partmap/plan.c.
4927 * docs/grub.texi: Notice Plan9 support.
4928 * grub-core/Makefile.core.def (plan9): New module.
4929 (part_plan): Likewise.
4930 * grub-core/loader/i386/pc/plan9.c: New file.
4931 * grub-core/partmap/plan.c: Likewise.
4932 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
4933 define.
4934 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
4935 * include/grub/mm.h (grub_extend_alloc): New inline function.
4936
c30be3b6
VS
49372011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 Make Reed-Solomon faster by using power of generator representation of
4940 GF(256)*.
4941
4942 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
4943 (gf_double_t): Likewise.
4944 (gf_invert): Removed.
4945 (gf_powx): New array.
4946 (gf_powx_inv): Likewise.
4947 (scratch): Move higher.
4948 (gf_reduce): Removed.
4949 (gf_mul): Use powx.
4950 (gf_invert): Likewise.
4951 (init_inverts): Replaced with ...
4952 (init_powx): ...this. All users updated.
4953 (pol_evaluate): Replace multiplications with additions.
4954 (rs_encode): Likewise.
4955 (gauss_eliminate): Call gf_invert.
4956 (grub_reed_solomon_add_redundancy): Call init_powx.
4957 (grub_reed_solomon_recover): Call init_powx unconditionally.
4958
fa5aeffc
VS
49592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
4962
a346b81c
VS
49632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
4966 disk->partiton for safety.
4967
d89ee414
VS
49682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4971 Fix a memory leak.
4972 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
4973
91ee7b6d
VS
49742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
4977
91e5a33d
VS
49782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
4981
9edd7be2
VS
49822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4983
4984 Fix spaces handling in proc/self/mountinfo.
4985
4986 * util/getroot.c (unescape): New function.
4987 (grub_find_root_device_from_mountinfo): Use unescape.
4988
ba102053
VS
49892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 Support ZFS embedding.
4992
4993 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
4994 (grub_zfs_fs): Register grub_zfs_embed.
4995
aa94b870
VS
49962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 Fix MIPS compilation.
4999
5000 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
5001 * include/grub/offsets.h: Rename decompressor fields from
5002 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
5003 * util/grub-mkimage.c (image_targets): Use new names.
5004
5fbdac14
VS
50052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 Defer multiboot device parsing until we're in compressed part.
5008
5009 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
5010 bsd_part. setdevice has fallen into disuse.
5011 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
5012 (bsd_part): Likewise.
5013 (boot_dev): New variable.
5014 (multiboot_trampoline): Don't parse multiboot device.
5015 Pass multiboot device in %edx.
5016 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
5017 grub_boot_device.
5018 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
5019 Likewise.
5020 * grub-core/kern/i386/pc/startup.S: Save edx.
5021 (grub_boot_drive): Removed.
5022 (grub_install_dos_part): Likewise.
5023 (grub_install_bsd_part): Likewise.
5024 (grub_boot_device): New variable.
5025 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
5026 (grub_install_bsd_part): Likewise.
5027 (grub_boot_drive): Likewise.
5028 (grub_boot_device): New variable.
5029 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
5030 Removed.
5031 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5032 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
5033 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
5034 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
5035 * util/grub-install.in: Remove redundant condition.
5036
691cbb58
VS
50372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 Fix bug introduced by previous commit.
5040
5041 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
5042
60240b8b
VS
50432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5044
5045 Use decompressors framework on i386-pc. It increases core size
5046 by 46 bytes but improves compatibility and maintainability.
5047
5048 * grub-core/Makefile.core.def (lzma_decompress): New image.
5049 (kernel): Add i386_pc_ldflags.
5050 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
5051 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
5052 to real_to_prot, prot_to_real and device info.
5053 * include/grub/offsets.h: Renamed decompressor offsets.
5054 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
5055 (image_target_desc): Remove raw_size and rename decompressor fields.
5056 (compress_kernel): Handle lzma.
5057 (generate_image): Handle decompressors on i386-pc.
5058
e9d3421c
VS
50592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 * configure.ac: Add -fno-asynchronous-unwind-tables.
5062
2b23074a
VS
50632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 Move assembly code to C by using intwrap. It increases core size
5066 by 88 bytes but improves compatibility and maintainability.
5067
5068 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
5069 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
5070 ... here. Translated to C.
5071 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
5072 * grub-core/term/i386/pc/console.c (grub_console_getkey):
5073 ... here. Translated to C.
5074 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
5075 * grub-core/term/i386/pc/console.c (grub_console_getxy):
5076 ... here. Translated to C.
5077 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
5078 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
5079 ... here. Translated to C.
5080 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
5081 * grub-core/term/i386/pc/console.c (grub_console_cls):
5082 ... here. Translated to C.
5083 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
5084 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
5085 ... here. Translated to C.
5086 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
5087 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
5088 Translated to C.
5089 * grub-core/term/i386/pc/console.c (int10_9): New function.
5090 (grub_console_putchar): Likewise.
5091 * include/grub/i386/pc/console.h: Removed the not anymore shared
5092 functions.
5093
678f4b67
VS
50942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 Move grub_chainloader_real_boot out of the kernel.
5097
5098 * grub-core/Makefile.am: Remove machine/loader.h.
5099 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5100 Removed.
5101 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
5102 variable.
5103 (grub_relocator16_keep_a20_enabled): Likewise.
5104 (grub_relocator16_boot): Fill new variables.
5105 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
5106 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
5107 relocator.
5108 (grub_chainloader_unload): Likewise.
5109 (grub_chainloader_cmd): Likewise.
5110 * include/grub/i386/pc/loader.h: Removed.
5111 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5112 and esi. All initialisers updated.
5113
4626edf6
VS
51142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
51152011-11-12 Colin Watson <cjwatson@ubuntu.com>
5116
5117 * Makefile.util.def (grub-mount): New util.
5118 * .bzrignore: Add grub-mount.
5119 * configure.ac: Check for fuse and enable grub-mount if available.
5120 * docs/man/grub-mount.h2m: New file.
5121 * util/grub-mount.c: Likewise.
5122
10f0117b
VS
51232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * grub-core/commands/efi/fixvideo.c: Gettextize.
5126 * grub-core/commands/hashsum.c: Likewise.
5127 * grub-core/commands/i386/cmostest.c: Likewise.
5128 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5129 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5130 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5131 * grub-core/commands/lsmmap.c: Likewise.
5132 * grub-core/commands/menuentry.c: Likewise.
5133 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5134 * grub-core/commands/setpci.c: Likewise.
5135 * grub-core/loader/i386/bsd.c: Likewise.
5136 * grub-core/loader/i386/linux.c: Likewise.
5137 * util/getroot.c: Likewise.
5138 * util/grub-editenv.c: Likewise.
5139 * util/grub-fstest.c: Likewise.
5140 * util/grub-mkfont.c: Likewise.
5141 * util/grub-mkimage.c: Likewise.
5142 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5143 * util/grub-pe2elf.c: Likewise.
5144 * util/grub-probe.c: Likewise.
5145 * util/grub-setup.c: Likewise.
5146 * util/ieee1275/ofpath.c: Likewise.
5147 * util/misc.c: Likewise.
5148 * util/raid.c: Likewise.
5149
566f779b
RM
51502011-11-11 Robert Millan <rmh@gnu.org>
5151
5152 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5153 __attribute__((unused)) from `os_dev', which *is* being used.
5154
b50787de
VS
51552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5156
5157 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5158 forgotten define.
5159 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5160 GRUB_IA64_DL_GOT_ALIGN.
5161 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5162 GRUB_IA64_DL_TRAMP_ALIGN.
5163
119d11c8
VS
51642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 Replace grub_fatal with normal errors in i386 linux loader.
5167
5168 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5169 (allocate_pages): Check find_efi_mmap_size return value.
5170 (grub_e820_add_region): Return error.
5171 (grub_linux_boot): Check mmap return value.
5172
6e0632e2
VS
51732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * grub-core/commands/acpihalt.c: Gettextized.
5176 * grub-core/commands/cacheinfo.c: Likewise.
5177 * grub-core/commands/cmp.c: Likewise.
5178 * grub-core/commands/efi/loadbios.c: Likewise.
5179 * grub-core/commands/gptsync.c: Likewise.
5180 * grub-core/commands/ieee1275/suspend.c: Likewise.
5181 * grub-core/commands/legacycfg.c: Likewise.
5182 * grub-core/commands/memrw.c: Likewise.
5183 * grub-core/commands/minicmd.c: Likewise.
5184 * grub-core/commands/parttool.c: Likewise.
5185 * grub-core/commands/time.c: Likewise.
5186 * grub-core/commands/videoinfo.c: Likewise.
5187 * grub-core/disk/geli.c: Likewise.
5188 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
5189 * grub-core/disk/luks.c: Likewise.
5190 * grub-core/disk/lvm.c: Likewise.
5191 * grub-core/font/font_cmd.c: Likewise.
5192 * grub-core/fs/zfs/zfscrypt.c: Likewise.
5193 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5194 * grub-core/gfxmenu/view.c: Likewise.
5195 * grub-core/kern/emu/hostdisk.c: Likewise.
5196 * grub-core/kern/emu/main.c: Likewise.
5197 * grub-core/kern/emu/misc.c: Likewise.
5198 * grub-core/kern/emu/mm.c: Likewise.
5199 * grub-core/kern/mips/arc/init.c: Likewise.
5200 * grub-core/kern/mips/loongson/init.c: Likewise.
5201 * grub-core/kern/partition.c: Likewise.
5202 * grub-core/lib/i386/halt.c: Likewise.
5203 * grub-core/lib/mips/arc/reboot.c: Likewise.
5204 * grub-core/lib/mips/loongson/reboot.c: Likewise.
5205 * grub-core/loader/i386/pc/chainloader.c: Likewise.
5206 * grub-core/loader/i386/xnu.c: Likewise.
5207 * grub-core/loader/multiboot.c: Likewise.
5208 * grub-core/net/bootp.c: Likewise.
5209 * grub-core/net/net.c: Likewise.
5210 * grub-core/normal/term.c: Likewise.
5211 * grub-core/partmap/bsdlabel.c: Likewise.
5212 * grub-core/parttool/msdospart.c: Likewise.
5213 * grub-core/term/gfxterm.c: Likewise.
5214 * grub-core/term/terminfo.c: Likewise.
5215 * grub-core/video/i386/pc/vbe.c: Likewise.
5216 * util/grub-menulst2cfg.c: Likewise.
5217 * util/grub-mkdevicemap.c: Likewise.
5218 * util/grub-mklayout.c: Likewise.
5219 * util/grub-mkrelpath.c: Likewise.
5220 * util/grub-script-check.c: Likewise.
5221 * util/ieee1275/grub-ofpathname.c: Likewise.
5222 * util/resolve.c: Likewise.
5223
073aa7a9
VS
52242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 Support %1$d syntax.
5227
5228 * tests/printf_unit_test.c: New file.
5229 * Makefile.util.def (printf_test): New test.
5230 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
5231
c76b5417
VS
52322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
5235 fix.
5236
df067ad1
VS
52372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
5240 dprintf.
5241 * grub-core/font/font.c (grub_font_load): Likewise.
5242
5b289bc5
VS
52432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * util/grub-macho2img.c: Add comment concerning gettext.
5246 * grub-core/lib/legacy_parse.c: Likewise.
5247
c1860f87
VS
52482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
5251 (grub_xvasprintf): Likewise.
5252
d35d0d37
VS
52532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 Add const keyword to grub_env_get and gettextize week days.
5256
5257 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
5258 (grub_read_hook_datetime): Return const char *.
5259 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
5260 updated.
5261 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5262 Mark for gettext.
5263 (grub_get_weekday_name): Return const char *. Call gettext.
5264 * grub-core/script/argv.c (grub_script_argv_append): Receive const
5265 char * and len as the argument. All users updated.
5266 (grub_script_argv_split_append): Receive const char *.
5267 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
5268 * include/grub/env.h (grub_env_get): Likewise.
5269 (grub_env_read_hook_t): Return const char *.
5270 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
5271 (grub_script_argv_split_append): Likewise.
5272
9aed8a71
VS
52732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
5276
067fdf00
VS
52772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
5280 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
5281
a8bd9d39
VS
52822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
5285 Fix prototype.
5286
f7ce5baf
VS
52872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 Fix mips compilation.
5290
5291 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
5292 normal decoder.
5293 (hashes): Use in embed decoder as well (for sizes).
5294 (dec_stream_header): Fix embed decompressor logic.
5295 (dec_stream_footer): Likewise.
5296
9bb182f3
VS
52972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
5300 an error and not a fatal on unrecognised relocation types.
5301
63a9e6f6
VS
53022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5305 Issue error rather than printf on unknown arguments.
5306
4c458569
VS
53072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
5310 Make buf a const.
5311
e2d22baf
VS
53122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
5315 Fix module name.
5316
53dc8590
VS
53172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5318
5319 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
5320 leftover debug printf.
5321
6c189294
VS
53222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
5325
f7688369
VS
53262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
5329 A stylistic fix.
5330
11a775a3
VS
53312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
5334
33f784e8
SL
53352011-11-10 Shea Levy <slevy@tieronedesign.com>
5336
5337 Allow all modules to perform serial IO
5338
5339 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
5340 * include/grub/serial.h (grub_serial_port_configure): New inline
5341 function.
5342 (grub_serial_port_fetch): Likewise.
5343 (grub_serial_port_put): Likewise.
5344 (grub_serial_port_fini): Likewise.
5345 (grub_serial_find): New proto.
5346
f6276525
VS
53472011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 Put symlink at the end of the node and fix a potential
5350 memory corruption.
5351
5352 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
5353 Make symlink into an array.
5354 (set_rockridge): Set have_symlink and alloc_dirents.
5355 (grub_iso9660_read_symlink): Use new layout.
5356 (grub_iso9660_iterate_dir): Fix memory corruption.
5357 Use new layout.
5358 (grub_iso9660_dir): Set have_symlink.
5359 (grub_iso9660_open): Likewise.
5360
c3591189
VS
53612011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 Remove local keyword.
5364
5365 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
5366 (version_test_gt): Likewise.
5367 (version_find_latest): Likewise.
5368 (gettext_printf): Likewise.
5369 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
5370
cb544caa
VS
53712011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
5374
45bd824d
VS
53752011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 Fix ZFS memory and resource leaks.
5378
5379 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
5380 All users updated.
5381 Free type on exit.
5382 (fill_vdev_info): New parameter inserted. All users updated.
5383 (check_pool_label): Likewise.
5384 (scan_disk): Likewise.
5385 (scan_devices): Close non-inserted disks.
5386 (fzap_iterate): Free l.
5387 (unmount_device): Free children descripto memory.
5388
ad9a2f44
VS
53892011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
5392 argument (access out of bounds).
5393
6b68db81
VS
53942011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
5397 >= 6 drives.
5398
28840fda
VS
53992011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
5402 Fix declaration.
5403
8a5a3a5b
VS
54042011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 Fix several memory leaks.
5407
5408 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
5409 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
5410 (grub_cpio_dir): Likewise.
5411 * grub-core/fs/fat.c (grub_fat_label): Likewise.
5412 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
5413 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
5414 (grub_romfs_label): Likewise.
5415 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
5416 (squash_unmount): New function.
5417 (grub_squash_dir): Fix memory leak.
5418 (grub_squash_open): Likewise.
5419 (grub_squash_read): Likewise.
5420 (grub_squash_mtime): Likewise.
5421 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
5422 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
5423 * util/grub-fstest.c (fstest): Likewise.
5424
57b01250
VS
54252011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
5428 avoid accessing beyond the array.
5429
19e81ba7
VS
54302011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
5433
52b656c0
VS
54342011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 Several AFFS fixes.
5437
5438 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
5439 (GRUB_AFFS_FLAG_FFS): Removed.
5440 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
5441 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
5442 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
5443 (grub_fshelp_node): Make block 32-bit.
5444 Add block_cache and last_block_cache.
5445 (grub_affs_read_block): Fill and use block cache.
5446 (grub_affs_read_file): Removed.
5447 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
5448 boot block.
5449 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
5450 safety.
5451 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
5452 space.
5453 (grub_affs_close): Free block cache.
5454 (grub_affs_read): Use grub_fshelp_read_file directly.
5455
438a746a
VS
54562011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5457
5458 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
5459 with no error set.
5460
49a45021
VS
54612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
5464 used variable.
5465 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5466 Likewise.
5467
3ae17eb8
VS
54682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
5471
5472 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
5473 byteswap when needed.
5474
27610c38
VS
54752011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 Fix FreeBSD compilation.
5478
5479 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
5480 to avoid circular dependency.
5481 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
5482 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
5483 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
5484
4a19b601
VS
54852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 Fix ZFS crypto error types.
5488
5489 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
5490 (grub_gcm_decrypt): Likewise.
5491 (grub_zfs_load_key_real): Fix error code type. Handle possible error
5492 from PBKDF2.
5493
958ee221
VS
54942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 Illumos support.
5497
5498 * Makefile.util.def (10_illumos): New script.
5499 * configure.ac: Set COND_HOST_ILLUMOS.
5500 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
5501 Support Illumos calls.
5502 (find_partition_start) [__sun__]: Likewise.
5503 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
5504 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
5505 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
5506 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
5507 device.
5508 * util/grub-probe.c (probe) [__sun__]: Do character check.
5509 * util/grub.d/10_illumos.in: New file.
5510
cac14fb6
VS
55112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5512
5513 Support escaped commas in hostdisk.
5514
5515 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
5516 (find_grub_drive): Use unescape_cmp.
5517 (make_device_name): Escape commas.
5518
78e08dc3
VS
55192011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
5522
9f421dd1
VS
55232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
5526 variable.
5527
ed64e9e2
VS
55282011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 Support trampoline jumps on powerpc.
5531
5532 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
5533 __ia64__ path.
5534 (grub_dl_load_segments): Set mod->sz.
5535 (grub_dl_flush_cache): Flush whole space occupied by module, not just
5536 segments.
5537 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
5538 (jump): Likewise.
5539 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
5540 function.
5541 (trampoline): New struct.
5542 (trampoline_template): New const.
5543 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
5544 * include/grub/dl.h (grub_dl): Add sz element.
5545 [__powerpc__]: Follow __ia64__.
5546 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
5547 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
5548 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
5549 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
5550
3084ede4
VS
55512011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 ZFS crypto support.
5554
5555 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
5556 * grub-core/Makefile.core.def (zfscrypt): New module.
5557 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
5558 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
5559 it. All users updated.
5560 (grub_zfs_decrypt): New var.
5561 (grub_zfs_load_key): Likewise.
5562 (zio_checksum_functions): Add SHA256+MAC.
5563 (zio_checksum_verify): Handle incomplete comparison due to MAC.
5564 (zio_read): Handle encrypted blocks.
5565 (zap_verify): Remove incorrect check.
5566 (fzap_iterate): Handle non-standard fzap.
5567 (zap_iterate): Likewise.
5568 (zap_iterate_u64): New function.
5569 (dnode_get_fullpath): Load keys.
5570 * grub-core/fs/zfs/zfscrypt.c: New file.
5571 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
5572 (grub_crypto_ecb_encrypt): Make input const.
5573 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
5574 (grub_crypto_ecb_encrypt): Make input const.
5575 (GRUB_CIPHER_AES): New macro.
5576 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
5577 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
5578 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
5579 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
5580 prefix. All users updated.
5581 (grub_zfs_add_key): New proto.
5582 (grub_zfs_decrypt): Likewise.
5583 (grub_zfs_load_key): Likewise.
5584 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
5585 * util/grub-fstest.c (options): Add -K option.
5586 (argp_parser): Likewise.
5587
b632b404
VS
55882011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5589
5590 Support zle compression on ZFS.
5591
5592 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
5593 (decomp_table): Add zle.
5594 * include/grub/zfs/zio.h (zio_compress): Add zle.
5595
c7ba4f69
VS
55962011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5597
5598 Support BtrFS embedding.
5599
5600 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
5601 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
5602 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
5603 * util/grub-setup.c (setup): Use fs embedding if available.
5604 Add additional sanity check.
5605
455377d9
VS
56062011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 * util/grub-install.in: Fix condition for config_opt.
5609
c2fd16ca
VS
56102011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 Support third redundancy strip on raidz3.
5613
5614 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
5615 Return error on singularity. All users updated.
5616 (read_device): Don't stop on 3rd failure on raidz3.
5617
8622923b
VS
56182011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 Support case-insensitive ZFS subvolumes.
5621
5622 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
5623 All users updated.
5624 (zap_hash): Likewise.
5625 (name_cmp): New function.
5626 (zap_leaf_array_equal): New parameter case_insensitive.
5627 All users updated.
5628 (zap_leaf_lookup): Likewise.
5629 (fzap_lookup): Likewise.
5630 (zap_lookup): Likewise.
5631 (dnode_get_path): New parameter case_insensitive. Retrieve case
5632 sensitiviness of a volume. All users updated.
5633 (dnode_get_fullpath): New parameter case_insensitive.
5634 All users updated.
5635 (grub_zfs_dir): Set info.case_insensitiveness.
5636
95f2e860
VS
56372011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 Support second redundancy strip on raidz(2,3).
5640
5641 * grub-core/fs/zfs/zfs.c (powx): New array.
5642 (powx_inv): Likewise.
5643 (poly): New const.
5644 (xor_out): New function.
5645 (gf_mul): Likewise.
5646 (recovery): Likewise.
5647 (read_device): Use second redundancy strip.
5648
11ee4389
VS
56492011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 Use a power of generator representation of GF(256) multiplication group
5652 to save space time and complexity.
5653
5654 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
5655 (raid6_table2): Likewise.
5656 (powx): New array.
5657 (powx_inv): Likewise.
5658 (poly): New const.
5659 (grub_raid_block_mul): Replace with ...
5660 (grub_raid_block_mulx): ...this.
5661 (grub_raid6_init_table): Rewritten.
5662 (grub_raid6_recover): Use power of generator representation.
5663
09e2763f
VS
56642011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
5667 for the right device.
5668
8bec9a28
VS
56692011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
5672 expected by grub-mkimage and it's more clear since there is no implicit
5673 padding.
5674
dbd3a32e
VS
56752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
5678 disk.
5679 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5680
182c872a
PMH
56812011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
5682
5683 * util/grub-mkrescue.in: Fix handling xorriso option.
5684
1e51cabd
VS
56852011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
5688 NULL.
5689
9cc3581d 56902011-11-03 crocket <crockabiscuit@gmail.com>
5691
5692 * util/grub.d/10_linux.in: Add Slackware initrd naming.
5693
158dc1ea
VS
56942011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 XZ CRC64 and SHA256 support.
5697
5698 * Makefile.util.def (libgrubmods): Add crc64.c.
5699 * grub-core/Makefile.core.def (crc64): New module.
5700 * grub-core/lib/crc64.c: New file.
5701 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
5702 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
5703 Fix the type.
5704 (MAX_HASH_SIZE): New define.
5705 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
5706 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
5707 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5708 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5709 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
5710 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
5711 Handle non-crc32 hashes.
5712 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
5713 (dec_stream_header): Handle non-crc32 hashes.
5714 (dec_stream_footer): Likewise.
5715 (dec_block_header): Likewise.
5716 (dec_main): Likewise.
5717 (xz_dec_init): Likewise.
5718 (xz_dec_reset): Likewise.
5719 (xz_dec_end): Likewise.
5720 * util/import_gcry.py: Add CRC64 line.
5721
9d9b3d2f
VS
57222011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
5725 as well.
5726
7d0ac931
VS
57272011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 Make reiserfs label retrieval similar to other *_label functions.
5730
5731 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
5732 (REISERFS_MAX_LABEL_LENGTH): Removed.
5733 (REISERFS_LABEL_OFFSET): Likewise.
5734 (grub_reiserfs_label): Rewritten.
5735
57362011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
5739 field.
5740
cf5ba824
VS
57412011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
5744
17744004
VS
57452011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
5748 drive failure on both raidz and raidz2.
5749
aca5aefc
VS
57502011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 Fix RAIDZ(2) for >= 5 devices.
5753
5754 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
5755 asize argument. All users updated.
5756
ce8ca56e
VS
57572011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5758
5759 Fix RAIDZ(2).
5760
5761 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
5762 (fill_vdev_info_real): Set ashift.
5763 (read_device): Rewrite RAIDZ part based on reverse engineering.
5764
7c01e783
VS
57652011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5766
5767 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
5768 don't report potentially unavialiable fields in debug output.
5769 (find_path): Fix double-free and memory leak.
5770
ce109e84
VS
57712011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 Read label on UFS1.
5774
5775 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
5776 (grub_ufs_fs): Always set .label.
5777
87661123
VS
57782011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 Use shifts in UFS.
5781
5782 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
5783 (grub_ufs_data): New field log2_blksz.
5784 (grub_ufs_read_file): Use shifts.
5785 (grub_ufs_mount): Check block size and logarithm it.
5786
46bc1dc2
VS
57872011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
5790 long symlinks.
5791
19ee2987
VS
57922011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 Handle symlinks and long names on tar and cpio.
5795
5796 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
5797 (ATTR_FILE): Likewise.
5798 (ATTR_DIR): Likewise.
5799 (ATTR_LNK): Likewise.
5800 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
5801 (grub_cpio_find_file): Fill mode, handle linkname field as well as
5802 L and K entries.
5803 (grub_cpio_mount): Zero-fill data.
5804 (handle_symlink): New function.
46bc1dc2
VS
5805 (grub_cpio_dir): Handle symlinks.
5806 (grub_cpio_open): Likewise.
5807 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 5808
c83a08d8
VS
58092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 Fix iso9660 filename limitations and fix memory leaks.
5812
5813 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
5814 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
5815
45cdd3ea
VS
58162011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5817
5818 Fix JFS file name length limitations.
5819
5820 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
5821 (grub_jfs_diropen): Fix maximum filename length.
5822 (grub_jfs_getent): Fix filename length.
5823 (grub_jfs_lookup_symlink): Fix size checks.
5824
94ef05c2
VS
58252011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
5828 string.
5829
785ab8c7
VS
58302011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5831
eb0b6b45
VS
5832 Leverage BFS implementation to read AFS.
5833
5834 * Makefile.util.def (libgrubmods): Add afs.c.
5835 * grub-core/Makefile.core.def (afs): New module
5836 * grub-core/fs/afs.c: New file.
5837 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
5838
58392011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 5842
c4a1628f
VS
58432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * grub-core/fs/bfs.c: Run indent.
5846
5825b379
VS
58472011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 BFS implementation based on the specification.
5850
5851 * grub-core/fs/bfs.c: New file.
5852 * Makefile.util.def (libgrubmods): Add bfs.c.
5853 * grub-core/Makefile.core.def (bfs): New module.
5854
42b2a706
VS
58552011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5856
5857 * util/grub-fstest.c (cmd_cp): Clarify error message.
5858 (cmd_cmp): Likewise.
5859
61b99bfc
YB
58602011-10-30 Yves Blusseau <blusseau@zetam.org>
5861
5862 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
5863 and befs_be.
5864
faba3d16
VS
58652011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 Remove afs and befs because of copyright problem.
5868
5869 * grub-core/fs/afs.c: Removed.
5870 * grub-core/fs/afs_be.c: Removed.
5871 * grub-core/fs/befs.c: Removed.
5872 * grub-core/fs/befs_be.c: Removed.
5873 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
5874 * grub-core/Makefile.core.def (afs): Removed.
5875 (afs_be): Likewise.
5876 (befs): Likewise.
5877 (befs_be): Likewise.
5878
c39224b0
VS
58792011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 Prefer rockridge over Joliet.
5882
5883 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
5884 to ...
5885 (set_rockridge): ... here.
5886 (grub_iso9660_mount): Check rockridge on the primary label when
5887 discovering. Ignore Joliet if Rockridge is present.
5888
e551115a
VS
58892011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 Use shifts in nilfs2.
5892
5893 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
5894 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
5895 (grub_nilfs2_palloc_entries_per_group): Replace with ...
5896 (grub_nilfs2_log_palloc_entries_per_group): ... this.
5897 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
5898 (grub_nilfs2_entries_per_block): Replaced with ...
5899 (grub_nilfs2_log_entries_per_block_log): ... this.
5900 (grub_nilfs2_blocks_per_group): Replaced with ...
5901 (grub_nilfs2_blocks_per_group_log): ... this.
5902 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
5903 (grub_nilfs2_blocks_per_desc_block_log): ... this.
5904 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
5905 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
5906 (grub_nilfs2_palloc_entry_offset): Replaced ...
5907 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
5908 (grub_nilfs2_dat_translate): Use shifts.
5909 (grub_nilfs2_read_inode): Likewise.
5910 (GRUB_MOD_INIT): Ensure that logs are correct.
5911
564dd58c
VS
59122011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 Use shifts in minix filesystem.
5915
5916 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
5917 (GRUB_MINIX_ZONE2SECT): Likewise.
5918 (grub_minix_data): Replace block_size with log_block_size.
5919 (grub_minix_read_file): Use shifts.
5920 (grub_minix_mount): Check block size and take a logarithm.
5921
ed9ba06d
VS
59222011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 Use shifts in squash4.
5925
5926 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
5927 (squash_mount): Check block size and take logarithm.
5928 (direct_read): Use shifts.
5929
ad03fe76
VS
59302011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5931
5932 Correct befs block counting logic.
5933
5934 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
5935 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
5936 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
5937 (grub_afs_read_inode): Use block_shift.
5938 (RANGE_SHIFT): New definition.
5939 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
5940 unexpected conditions, use shifts and appropriate types.
5941 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
5942
6563f63d
VS
59432011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * grub-core/disk/raid.c (scan_devices): Check partition.
5946 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5947
5b1ae25f
VS
59482011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 Support BFS (befs) UUID.
5951
5952 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
5953 (grub_afs_small_data_element_header): New struct.
5954 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
5955 (grub_afs_read_attribute) [MODE_BFS]: New function.
5956 (grub_afs_iterate_dir): Allocate for complete inode.
5957 (grub_afs_mount): Likewise.
5958 (grub_afs_uuid) [MODE_BFS]: New function.
5959 (grub_afs_fs) [MODE_BFS]: Add .uuid.
5960
f8d82408
VS
59612011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5962
5963 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
5964 (zfs_unmount): Fix memory leak.
5965
5773fb64
VS
59662011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 Support NTFS reparse points.
5969
5970 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
5971 (symlink_descriptor): New struct.
5972 (grub_ntfs_read_symlink): New function.
5973 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
5974 (grub_ntfs_open): Likewise.
5975
91c3fdde
VS
59762011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
5979
3be82e10
VS
59802011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 fstest xnu_uuid subcommand.
5983
5984 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
5985 grub-core/commands/xnu_uuid.c.
5986 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
5987 (fstest): Handle xnu_uuid.
5988 (options): Document xnu_uuid.
5989 (argp_parser): Parse xnu_uuid.
5990
8e32442e
VS
59912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
5994 -l argument. Add newline at the end if printing.
5995 (GRUB_MOD_INIT): Document -l.
5996
52a05075
VS
59972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
6000
1869edb5
VS
60012011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 ZFS multi-device and version 33 support.
6004
6005 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
6006 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
6007 (grub_zfs_data): Add multidev-ice-related fields.
6008 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
6009 (dva_get_offset): Make dva const.
6010 (zfs_fetch_nvlist): New function.
6011 (fill_vdev_info_real): Likewise.
6012 (fill_vdev_info): Likewise.
6013 (check_pool_label): Likewise.
6014 (scan_disk): Likewise.
6015 (scan_devices): Likewise.
6016 (read_device): Likewise.
6017 (read_dva): Likewise.
6018 (zio_read_gang): Use read_dva.
6019 (zio_read_data): Likewise.
6020 (zap_leaf_lookup): Add missing endian conversion.
6021 (zap_verify): Add missing endian conversion. All users updated.
6022 (fzap_lookup): Likewise.
6023 (fzap_iterate): Likewise.
6024 (dnode_get_path): Handle SA bonus.
6025 (nvlist_find_value): Make input const. All users updated.
6026 (unmount_device): New function.
6027 (zfs_unmount): Use unmount_device.
6028 (zfs_mount): Use scan_disk.
6029 (zfs_mtime): New function.
6030 (grub_zfs_open): Handle system attributes.
6031 (fill_fs_info): Likewise.
6032 (grub_zfs_dir): Likewise.
6033 (grub_zfs_fs): Add mtime.
6034 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
6035 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
6036 (SA_MTIME_OFFSET): Likewise.
6037 (SA_SYMLINK_OFFSET): Likewise.
6038 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
6039 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
6040 (fstest): Support zfsinfo.
6041 (argp_parser): Likewise.
6042
186b4028
VS
60432011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
6046 error.
6047
60482011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
6049
6050 ZFS fixes.
6051
6052 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
6053 sharing the same block. Iterate over correct number of indices.
6054 (dnode_get_path): Handle symlinks correctly.
6055
c0584900
VS
60562011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
6059
67e2bd71
VS
60602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 Read label on HFS+.
6063
6064 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
6065 (grub_hfsplus_btree_search): Fix types.
6066 (grub_hfsplus_label): Implement.
6067
e9cc6b7b
VS
60682011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
6071
19832ddb
VS
60722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
6075
66b40850
VS
60762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 Fix symlink handling on iso9660.
6079
6080 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
6081 All users updated.
6082 (grub_iso9660_susp_iterate): Accept zero-size iterate.
6083 (grub_iso9660_read_symlink): Moved most of code ...
6084 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
6085
db821363
VS
60862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6089 Use union to avoid breaking strict-aliasing rules.
6090
e1211949
VS
60912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 Support multi-extent iso files.
6094
6095 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
6096 Add node.
6097 (grub_fshelp_node): Revamp. All users updated.
6098 (FLAG_*): New enum.
6099 (read_node): New function.
6100 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
6101 All users updated.
6102 (grub_iso9660_mount): Don't attempt to read sua when there is none.
6103 (get_node_size): New function.
6104 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
6105 entries.
6106 Fix memory leak on . and ..
6107 (grub_iso9660_read): Use read_node.
6108 (grub_iso9660_close): Free node.
6109
d4888031
VS
61102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 Fix tar 4G limit and handle paths containing dot.
6113
6114 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6115 (canonicalize): New function.
6116 (grub_cpio_find_file): Use canonicalize. Store offs in
6117 grub_disk_addr_t.
6118 (grub_cpio_dir): Use grub_disk_addr_t.
6119 (grub_cpio_open): Likewise.
6120
9f12e664
VS
61212011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6124
6125 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6126 unused flags.
6127 (grub_squash_inode): Add long_file and block_size.
6128 (grub_squash_cache_inode): New struct.
6129 (grub_squash_dirent): Make types into enum.
6130 (SQUASH_TYPE_LONG_REGULAR): New type.
6131 (grub_squash_frag_desc): Add field size.
6132 (SQUASH_BLOCK_FLAGS): New enum.
6133 (grub_squash_data): Use grub_squash_cache_inode.
6134 (grub_fshelp_node): Make ino_chunk 64-bit.
6135 (read_chunk): Minor argument change. All users updated.
6136 (squash_mount): Use correct le_to_cpu.
6137 (grub_squash_open): Handle LONG_REGULAR.
6138 (direct_read): New function.
6139 (grub_squash_read_data): Handle blocks correctly.
6140
9f326fba
VS
61412011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6144
f4d9b64b
VS
61452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6148
5bbd28b8
VS
61492011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 Fix 2G limit on ZFS.
6152
6153 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6154 types.
6155 (uberblock_verify): Likewise.
6156 (dmu_read): Likewise.
6157 (grub_zfs_read): Likewise. Remove invalid cast.
6158
68c72069
VS
61592011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6162 (grub_jfs_blkno): Fix incorrect shift.
6163 (grub_jfs_read_file): Use more appropriate types.
6164
6e536dc8
VS
61652011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 Support triple indirect on minix2 and minix3.
6168
6169 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6170 Declare triple_indir_zone.
6171 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6172 indirect.
6173
e0864e7a
VS
61742011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 Minix FS fixes.
6177
6178 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
6179 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
6180 Rename ctime to mtime. All users updated.
6181 (grub_minix_get_file_block): Fix types and double indirect computations.
6182
89481cab
VS
61832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
6186 if no label is found.
6187 (grub_fat_iterate_dir): Fix file size type.
6188 (grub_fat_iterate_dir): Likewise.
6189
f646e143
VS
61902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
6193 save some space.
6194 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6195 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6196
534d769e
VS
61972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
6200
e084ba18
VS
62012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * util/import_gcry.py: Accept space between # and include.
6204
3471ecdf
VS
62052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
6208
124df5f6
VS
62092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 Fine grainely disable warnings on lexer. Remove Wno-error on it.
6212
6213 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
6214 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
6215 yylex_strncpy.
6216 * grub-core/script/yylex.l: Add fine-grained #pragma.
6217
4defb8d5
VS
62182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
6221 New inline function.
6222 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
6223 Likewise.
6224 (memset) [GRUB_UTIL]: Likewise.
6225 (memcmp) [GRUB_UTIL]: Likewise.
6226
4e94ae65
VS
62272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
6230 inline function rather than a define.
6231
18c575e5
VS
62322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * util/grub-setup.c: Add missing include.
6235
f8bc22a8
VS
62362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 * util/ieee1275/grub-ofpathname.c: Add missing include.
6239
3ce69fc9
VS
62402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
6243 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
6244 Likewise.
6245
d1e293bb
VS
62462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6247
6248 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
6249 grub_memcmp usage.
6250
7a5c54a4
VS
62512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 * util/grub-install.in: Add datarootdir as per automake manual
6254 suggestion.
6255 * util/grub-mknetdir.in: Likewise.
6256
62572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
6258
6259 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
6260 suggestion.
6261 * util/grub.d/10_kfreebsd.in: Likewise.
6262 * util/grub.d/10_linux.in: Likewise.
6263 * util/grub.d/10_netbsd.in: Likewise.
6264 * util/grub.d/10_windows.in: Likewise.
6265 * util/grub.d/20_linux_xen.in: Likewise.
6266
766f7d08
VS
62672011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 Remove redundant grub_kernel_image_size.
6270
6271 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
6272 _edata and _start.
6273 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
6274 the small code. It moves it only by few bytes but simplifies the code.
6275 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
6276 _start.
6277 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
6278 (grub_kernel_image_size): Removed.
6279 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
6280 (grub_kernel_image_size): Removed.
6281 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
6282 compiled with Apple toolchain.
6283 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
6284 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
6285 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
6286 (grub_total_module_size): Likewise.
6287 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
6288 Removed.
6289 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
6290 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
6291 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6292 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
6293 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
6294 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
6295 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
6296 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
6297 Removed.
6298 (grub_total_module_size): Removed.
6299 * util/grub-mkimage.c (image_target_desc): Remove image_size.
6300 (image_targets): Likewise.
6301 Set .compressed_size to no field on sparc.
6302 (generate_image): Remove kernel_image_size handling.
6303
fcf1d672
SJ
63042011-10-19 Szymon Janc <szymon@janc.net.pl>
6305
6306 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
6307 NULL pointer dereference.
6308
de9c615e
VS
63092011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
6312 done with a dedicated section.
6313
6314 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
6315 Ensure the correct position of boot_path.
6316 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
6317 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
6318 other fields.
6319 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
6320 * include/grub/boot.h: Removed. All references removed.
6321 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6322 Removed.
6323 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
6324
e55599dc
VS
63252011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
6328 name.
6329
36dd20ad
VS
63302011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
6333
f8f72eb8
VS
63342011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6337 Don't add the bogus brackets.
6338
a374751b
VS
63392011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 ExFAT support.
6342
6343 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6344 * grub-core/Makefile.core.def (exfat): New module.
6345 * grub-core/fs/exfat.c: New file.
6346 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
6347 (GRUB_FAT_ATTR_*): Make into an enum.
6348 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
6349 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
6350 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
6351 (GRUB_FAT_MAXFILE): Removed.
6352 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
6353 (grub_current_fat_bpb_t): New type.
6354 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
6355 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
6356 (grub_fat_dir_node_t): New type.
6357 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
6358 (fat_log2) [MODE_EXFAT]: Removed.
6359 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
6360 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
6361 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
6362 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
6363 (grub_fat_label) [MODE_EXFAT]: New function.
6364 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
6365 reserved_first_sector to 0.
6366
544c2487
VS
63672011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 Move grub_reboot out of the kernel.
6370
6371 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
6372 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
6373 * grub-core/lib/efi/reboot.c: ... here.
6374 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
6375 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6376 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
6377 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
6378 * grub-core/lib/i386/reboot_trampoline.S: ... here.
6379 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
6380 * grub-core/lib/ieee1275/reboot.c: ... here.
6381 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
6382 * grub-core/lib/mips/arc/reboot.c: ... here.
6383 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
6384 * grub-core/lib/mips/loongson/reboot.c: ...here.
6385 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
6386 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
6387 * include/grub/emu/misc.h (grub_reboot): New function declaration.
6388 * include/grub/i386/reboot.h: New file.
6389 * include/grub/mips/loongson/ec.h: Fix includes.
6390 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
6391 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
6392 * grub-core/lib/i386/reboot.c: New file.
6393
a97501d2
VS
63942011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 Make grub_prefix into module to fix the arbitrary limit and save
6397 some space.
6398
6399 * grub-core/kern/emu/main.c (grub_prefix): Removed.
6400 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
6401 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
6402 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
6403 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
6404 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
6405 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
6406 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
6407 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6408 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
6409 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
6410 * include/grub/ia64/efi/kernel.h: Removed.
6411 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
6412 (grub_prefix): Removed.
6413 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
6414 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
6415 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
6416 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
6417 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
6418 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
6419 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
6420 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
6421 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
6422 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
6423 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6424 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6425 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6426 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6427 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
6428 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
6429 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
6430 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6431 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
6432 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
6433 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
6434 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
6435 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
6436 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
6437 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
6438 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
6439 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
6440 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
6441 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
6442 from module.
6443 * util/grub-mkimage.c (image_target_desc): Removed prefix and
6444 prefix_end.
6445 (image_targets): Likewise.
6446 (generate_image): Put prefix as a module.
6447
39705fad
VS
64482011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 Replace grub_module_iterate with FOR_MODULES.
6451
6452 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
6453 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
6454 (grub_efi_modules_addr): ...this.
6455 * grub-core/kern/efi/init.c (grub_modbase): New variable.
6456 (grub_efi_init): Set grub_modbase.
6457 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
6458 (grub_modbase): New variable.
6459 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
6460 (grub_modbase): New variable.
6461 (grub_machine_init): Set grub_modbase.
6462 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
6463 (grub_modbase): New variable.
6464 (grub_machine_init): Set grub_modbase.
6465 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
6466 (grub_modbase): New variable.
6467 (grub_machine_init): Set grub_modbase.
6468 * grub-core/kern/main.c (grub_module_iterate): Remove.
6469 (grub_modules_get_end): Use grub_modbase.
6470 (grub_load_modules): Use FOR_MODULES.
6471 (grub_load_config): Likewise.
6472 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
6473 (grub_modbase): New variable.
6474 (grub_machine_init): Set grub_modbase.
6475 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
6476 (grub_modbase): New variable.
6477 (grub_machine_init): Set grub_modbase.
6478 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
6479 Removed.
6480 (grub_modbase): New variable.
6481 (grub_machine_init): Set grub_modbase.
6482 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
6483 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
6484 (grub_module_iterate): Likewise.
6485 (grub_modbase): New variable declaration.
6486 (FOR_MODULES): New macro.
6487
2afb7f6c
VS
64882011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6489
6490 * configure.ac: Check for __ctzdi2 and __ctzsi2.
6491 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
6492
366e34fa
VS
64932011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 Fix few obvious type discrepancies.
6496
6497 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
6498 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
6499 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
6500 variable.
6501 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
6502 and connected types.
6503 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
6504 offset.
6505 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
6506 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
6507 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
6508 and connected types.
6509
177b960e
VS
65102011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 Fix python 3.x incompatibilities.
6513
6514 * gentpl.py: Put brackets around print strings.
6515 * util/import_gcry.py: Open explicitly as utf-8.
6516 Use in instead of has_key.
6517
3b619ae1
VS
65182011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
6521 (GRUB_XFS_INO_AGBITS): Make into inline function.
6522 (GRUB_XFS_INO_INOINAG): Likewise.
6523 (GRUB_XFS_INO_AG): Likewise.
6524 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6525 (GRUB_XFS_EXTENT_OFFSET): Likewise.
6526 (GRUB_XFS_EXTENT_BLOCK): Likewise.
6527 (GRUB_XFS_EXTENT_SIZE): Likewise.
6528 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
6529 (GRUB_XFS_NEXT_DIRENT): Likewise.
6530 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
6531 (grub_xfs_read_file): Fix offset type.
6532
8bcebcb8
RM
65332011-10-15 Robert Millan <rmh@gnu.org>
6534
6535 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
6536
0017e5ef
RM
65372011-10-15 Robert Millan <rmh@gnu.org>
6538
6539 Fix build problem on FreeBSD and GNU/kFreeBSD.
6540
6541 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
6542
d8919552
VS
65432011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
6546
6547 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
6548 types.
6549 (grub_hfsplus_btree_recoffset): Likewise.
6550 (grub_hfsplus_btree_recptr): Likewise.
6551 (grub_hfsplus_find_block): Likewise.
6552 (grub_hfsplus_btree_search): Likewise.
6553 (grub_hfsplus_read_block): Likewise.
6554 (grub_hfsplus_read_file): Likewise.
6555 (grub_hfsplus_mount): Likewise.
6556 (grub_hfsplus_btree_iterate_node): Likewise.
6557 (grub_hfsplus_btree_search): Likewise.
6558 (grub_hfsplus_iterate_dir): Likewise.
6559 (grub_hfsplus_read): A small code simplification.
6560
c81296b6
VS
65612011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * grub-core/kern/emu/hostdisk.c
6564 (convert_system_partition_to_system_disk): Don't assume that children
6565 of mapper nodes are mapper nodes.
6566
0eb8ffb1
VS
65672011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6568
6569 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
6570 * include/grub/misc.h (grub_isxdigit): New function.
6571 * grub-core/video/colors.c (my_isxdigit): Removed. All users
6572 switched to grub_isxdigit.
6573 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
6574 number starting with a letter.
6575
a98f4a08
RM
65762011-10-09 Robert Millan <rmh@gnu.org>
6577
6578 LVM support for FreeBSD and GNU/kFreeBSD.
6579
6580 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
6581 GNU/kFreeBSD.
6582 (LVM_DEV_MAPPER_STRING): Move from here ...
6583 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
6584 * util/getroot.c: Include `<grub/util/lvm.h>'.
6585 (grub_util_get_dev_abstraction): Enable
6586 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
6587 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
6588 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
6589 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
6590 support it.
6591 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
6592 GNU/kFreeBSD.
6593 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
6594 when LVM abstraction is required for ${GRUB_DEVICE}.
6595
050e8e90
SJ
65962011-10-06 Szymon Janc <szymon@janc.net.pl>
6597
6598 Add support for LZO compression in GRUB:
6599 - import of minilzo library,
6600 - LZO decompression for btrfs,
6601 - lzop files decompression.
6602
6603 * grub-core/io/lzopio.c: New file.
6604 * grub-core/lib/adler32.c: Likewise.
6605 * grub-core/lib/minilzo/lzoconf.h: Likewise.
6606 * grub-core/lib/minilzo/lzodefs.h: Likewise.
6607 * grub-core/lib/minilzo/minilzo.c: Likewise.
6608 * grub-core/lib/minilzo/minilzo.h: Likewise.
6609 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
6610 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
6611 grub-core/lib/minilzo/minilzo.c to common.
6612 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
6613 cflags in cppflags.
6614 * grub-core/Makefile.core.def (btrfs): Likewise.
6615 * grub-core/Makefile.core.def (lzopio): New module.
6616 (adler32): Likewise.
6617 * grub-core/fs/btrfs.c: Include minilzo.h.
6618 (GRUB_BTRFS_COMPRESSION_LZO): New define.
6619 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
6620 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
6621 (grub_btrfs_lzo_decompress): New function.
6622 (grub_btrfs_extent_read): Add support for LZO compression type.
6623 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
6624 (GRUB_USHRT_MAX): Likewise.
6625 (GRUB_UINT_MAX): Likewise.
6626 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
6627 (UINT_MAX): Likewise.
6628 (CHAR_BIT): Likewise.
6629 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
6630 grub-core/lib/posix_wrap/limits.h
6631 (UCHAR_MAX): Likewise.
6632 * include/grub/file.h (grub_file_filter_id): New compression filter
6633 GRUB_FILE_FILTER_LZOPIO.
6634 * include/grub/file.h (grub_file_filter_id): Set
6635 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
6636 * include/grub/types.h (grub_get_unaligned16): New function.
6637 (grub_get_unaligned32): Likewise.
6638 (grub_get_unaligned64): Likewise.
6639 * util/import_gcry.py (cryptolist): Add adler32.
6640
0eb8ffb1
VS
66412011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
6644 in perspective decreases the complexity of build system and fixes
6645 compilation right now.
6646
ce79cc99 66472011-10-01 Ales Nesrsta <starous@volny.cz>
6648
6649 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
6650 (fixed problem related to using UHCI with coreboot).
6651
8667a314
BC
66522011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
6653
6654 * gentpl.py: Use Autogen macros so that the output template file
6655 (Makefile.tpl) size is reduced.
6656
fc5efcc0
MK
66572011-09-29 Mads Kiilerich <mads@kiilerich.com>
6658
6659 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
6660 extra_dist.
6661
d1ab689d
ML
66622011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6663
6664 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
6665 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
6666
c05de032
ML
66672011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6668
6669 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
6670 _fullpath.
6671
cca7ccd8
ML
66722011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6673
6674 Remove extra declaration of sleep for mingw32.
6675
6676 * util/misc.c (sleep) [__MINGW32__]: Removed.
6677 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
6678
e0b0dc83
GS
66792011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6680
6681 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
6682 type and packname.
6683 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
6684 Resurrected.
6685 (NETBSD_BTINFO_BOOTWEDGE): New definition.
6686 (grub_netbsd_btinfo_bootwedge): New struct.
6687 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6688 New function.
6689 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
6690
91a1a164
TH
66912011-09-28 Thomas Haller <thomas.haller@fen-net.de>
6692
6693 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
6694 loader.
6695
2ded951e
AB
66962011-09-28 Andreas Born <futur.andy@googlemail.com>
6697
6698 Fix incorrect identifiers in bash-completion.
6699
6700 * util/bash-completion.d/grub-completion.bash.in
6701 (_grub_mkpasswd-pbkdf2): Rename to ...
6702 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
6703 (_grub_script-check): Rename to ...
6704 (_grub_script_check): ... this. All users updated.
6705
69915030
VS
67062011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6709 Return 0 if disk isn't biosdisk.
6710
20fd15f9
GS
67112011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6712
6713 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
6714 on NetBSD.
6715 * Makefile.util.def (grub-fstest): Likewise.
6716
1a7d7db9
GS
67172011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6718
6719 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
6720 Get sector size from disk label.
6721
2221ab6c
CW
67222011-09-05 Colin Watson <cjwatson@ubuntu.com>
6723
6724 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
6725 */README* as well as README*.
6726 Reported by: Axel Beckert.
6727
ca51c4a0
VS
67282011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
6731 case of less than 256 MiB of RAM.
6732
ab80f326
VS
67332011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 * grub-core/commands/wildcard.c (make_regex): Handle @.
6736
4155e697
VS
67372011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 * util/grub-install.in: Move cryptodisk logic to appropriate place.
6740
ab178c08
SJ
67412011-08-21 Szymon Janc <szymon@janc.net.pl>
6742
6743 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
6744 AC_LANG_CONFTEST macros.
6745
7dc3c686
SJ
67462011-08-20 Szymon Janc <szymon@janc.net.pl>
6747
6748 Add grub-fstest option to uncompress data for commands.
6749
6750 * util/grub-fstest.c (uncompress): New var.
6751 (options): New option -u.
6752
fe8d4a7b
SJ
67532011-08-20 Szymon Janc <szymon@janc.net.pl>
6754
6755 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6756 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
6757
a5219af1
SJ
67582011-08-20 Szymon Janc <szymon@janc.net.pl>
6759
6760 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
6761 file type was not recognized correctly (not gzip or corrupted).
6762
f87abff5
VS
67632011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
6766 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
6767
d94497ea
VS
67682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
6771 loongson.
6772 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6773 video_radeon_fuloong2e.
6774 * grub-core/video/radeon_fuloong2e.c: New file.
6775 * include/grub/video.h (grub_video_id_t): Add new ID
6776 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
6777
0d1fd011
VS
67782011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
6781 define.
6782 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
6783 that PRID matches the detected subplatform and reset the subplatform
6784 if it doesn't.
6785
84beb0ee
VS
67862011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
6789
1227c133
VS
67902011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 Fix PCI iterating on functions >= 4.
6793
6794 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
6795 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
6796 Removed.
6797 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
6798 (grub_pci_read): Fix bitmask.
6799 (grub_pci_read_word): Likewise.
6800 (grub_pci_read_byte): Likewise.
6801 (grub_pci_write): Likewise.
6802 (grub_pci_write_word): Likewise.
6803 (grub_pci_write_byte): Likewise.
6804
9594c689
VS
68052011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
6808 can still be specified in TARGET_CFLAGS)
6809
14a2562c
VS
68102011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
6813
6814 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
6815 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
6816 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
6817 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
6818 (FULOONG): Rename to ...
6819 (FULOONG2F): ... this. All users updated.
6820 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
6821 (machtype_fuloong2f_str): ... this.
6822 (machtype_fuloong2e_str): New string.
6823 Check for machtype_fuloong2e_str.
6824 * grub-core/loader/mips/linux.c (loongson_machtypes)
6825 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
6826 * grub-core/term/serial.c (loongson_defserial)
6827 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
6828 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
6829 loongson_defserial.
6830 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
6831 Rename to ...
6832 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
6833 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
6834 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
6835 to IMAGE_FULOONG2F_FLASH. All users updated.
6836 (image_targets): Rename images.
6837 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
6838
b526cbb6
SJ
68392011-08-19 Szymon Janc <szymon@janc.net.pl>
6840
6841 Make enable of disk cache statistics code configurable.
6842
6843 * configure.ac: --enable-cache-stats added.
6844 * config.h.in (DISK_CACHE_STATS): New define.
6845 * grub-core/Makefile.core.def (cacheinfo): New command.
6846 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
6847 * grub-core/commands/cacheinfo.c: New file.
6848 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
6849 moved to cacheinfo.c.
6850 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
6851 debug code.
6852 * include/grub/disk.h: Likewise.
6853
fb739ccd
SJ
68542011-08-19 Szymon Janc <szymon@janc.net.pl>
6855
6856 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
6857 * grub-core/Makefile.am: Likewise.
6858
2bba8cfd
VS
68592011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
6862 non-zero pull.
6863
43526629
VS
68642011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6865
6866 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
6867 All users updated.
6868 (grub_jfs_lookup_symlink): Use correct starting inode.
6869
5c144cc8
VS
68702011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 * util/grub-setup.c (main): Add missing gcry initialisation.
6873
b1257f65
VS
68742011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 Don't accept text modes on EFI when booting Linux.
6877
6878 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
6879 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
6880
828bc390
ML
68812011-08-15 Mario Limonciello <mario_limonciello@dell.com>
68822011-08-15 Colin Watson <cjwatson@ubuntu.com>
6883
6884 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
6885 use of "/path/.." as in grub-install for EFI as well as handling
6886 symlinks correctly.
6887 Fixes Debian bug #637768.
6888
5f60ccac
CW
68892011-08-15 Colin Watson <cjwatson@ubuntu.com>
6890
6891 * util/grub-probe.c: Remove duplicate #include.
6892
6dc212f9
RM
68932011-08-10 Robert Millan <rmh@gnu.org>
6894
6895 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
6896
6897 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
6898 function.
6899 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
6900 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
6901
66816d85
RM
69022011-08-03 Robert Millan <rmh@gnu.org>
6903
6904 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
6905 la_array as packed.
6906 Reported by: Zachary Bedell
6907
20168fca
CW
69082011-07-26 Colin Watson <cjwatson@ubuntu.com>
6909
6910 * configure.ac: The Loongson port requires grub-mkfont due to its
6911 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
6912 be built.
6913
303b6246
CW
69142011-07-26 Colin Watson <cjwatson@ubuntu.com>
6915
6916 * util/grub-install.in: Don't source grub-mkconfig_lib until after
6917 processing arguments (otherwise help2man fails when GRUB has not yet
6918 been installed).
6919
6795300e
VS
69202011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6921
41aa28ea
VS
6922 New script grub-mkstandalone.
6923
6924 * Makefile.util.def (grub-mkstandalone): New script.
6925 * docs/man/grub-mkstandalone.h2m: New file.
6926 * util/grub-mkstandalone.in: Likewise.
6927
69282011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 Support ATA disks with 4K sectors.
6795300e
VS
6931
6932 * include/grub/ata.h (grub_ata): New member log_sector_size.
6933 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
6934 (grub_ata_identify): Read sector size.
6935 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
6936
92227597
VS
69372011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * util/grub-install.in: Don't use uhci outside of x86.
6940
c77069f5
VS
69412011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6942
6943 * util/grub-mkrescue.in: Add missing quotes.
6944
69452011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
6946
6947 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
6948 dereference.
6949
583168a2
VS
69502011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
6953
6be1c01f
VS
69542011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6955
6956 * include/grub/video.h: add missing EXPORT_FUND on
6957 grub_video_edid_checksum and grub_video_edid_preferred_mode.
6958
a1167439
VS
69592011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 * include/grub/mips/kernel.h: Fix define conflict.
6962
bf66054f
VS
69632011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
6966 all four ways.
6967
8fc4fa45
CW
69682011-07-21 Colin Watson <cjwatson@ubuntu.com>
6969
6970 Preferred resolution detection for VBE.
6971
6972 * grub-core/video/video.c (grub_video_edid_checksum): New function.
6973 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
6974 the Flat Panel extension, in line with the X.org VESA driver.
6975 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
6976 New function.
6977 (grub_vbe_bios_get_ddc_capabilities): Likewise.
6978 (grub_vbe_bios_read_edid): Likewise.
6979 (grub_vbe_get_preferred_mode): Likewise.
6980 (grub_video_vbe_setup): When the mode is "auto", try to get the
6981 preferred mode from VBE, and use the largest mode that is no larger
6982 than the preferred mode (some BIOSes expose a preferred mode that is
6983 not in their mode list!). If this fails, fall back to 640x480 as a
6984 safe conservative choice.
6985 (grub_video_vbe_get_edid): New function.
6986 (grub_video_vbe_adapter): Add get_edid.
6987 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
6988 (struct grub_video_adapter): Add get_edid.
6989 (grub_video_edid_checksum): Add prototype.
6990 (grub_video_edid_preferred_mode): Likewise.
6991 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
6992 structure.
6993
6994 * grub-core/commands/videoinfo.c (print_edid): New function.
6995 (grub_cmd_videoinfo): Print EDID if available.
6996
6997 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
6998 is more appropriate on a wider range of platforms than 640x480.
6999 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
7000 documentation.
7001
ca5572a9
VS
70022011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7003
7004 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
7005
e4bcf625
VS
70062011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * po/POTFILES.in: Regenerate.
7009
c4edd548
VS
70102011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
7013 incorrect memory usage.
7014
16a2bab0
VS
70152011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * util/grub-install.in: Source grub-mkconfig_lib.
7018
2e418de6
VS
70192011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7020
7021 Remove getroot.c from core on emu platform.
7022
7023 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
7024 kern/emu/raid.c.
7025 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
7026 useless.
7027 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
7028 * util/getroot.c (get_win32_path): ... here.
7029 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
7030 * util/getroot.c (fini_libzfs): ... here.
7031 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
7032 * util/getroot.c (grub_get_libzfs_handle): ... here.
7033 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
7034 Moved from here...
7035 * util/getroot.c (grub_find_zpool_from_dir): ... here.
7036 * grub-core/kern/emu/misc.c
7037 (grub_make_system_path_relative_to_its_root): Moved from here...
7038 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
7039 * grub-core/kern/emu/getroot.c: Moved from here ...
7040 * util/getroot.c: ... here. All users updated.
7041 * grub-core/kern/emu/raid.c: Moved from here ...
7042 * util/raid.c: ... here. All users updated.
7043
def9832a
VS
70442011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * po/POTFILES.in: Regenerate.
7047
cd8fe79a
VS
70482011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7049
7050 Fix compilation on GNU/Linux.
7051
7052 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
7053 Disable geli.
7054 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
7055 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
7056 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
7057
a251b719
VS
70582011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
70592011-07-07 Michael Gorven <michael@gorven.za.net>
70602011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
7061
7062 LUKS and GELI support.
7063
7064 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
7065 grub-core/disk/luks.c, grub-core/disk/geli.c,
7066 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
7067 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
7068 grub-core/lib/arg.c.
7069 (libgrubmods.a): Remove gcrypts cflags and cppflags.
7070 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
7071 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
7072 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
7073 (grub-bin2h): Add libgcry.a.
7074 (grub-mkimage): Likewise.
7075 (grub-mkrelpath): Likewise.
7076 (grub-script-check): Likewise.
7077 (grub-editenv): Likewise.
7078 (grub-mkpasswd-pbkdf2): Likewise.
7079 (grub-pe2elf): Likewise.
7080 (grub-fstest): Likewise.
7081 (grub-mkfont): Likewise.
7082 (grub-mkdevicemap): Likewise.
7083 (grub-probe): Likewise.
7084 (grub-ofpath): Likewise.
7085 (grub-mklayout): Likewise.
7086 (example_unit_test): Likewise.
7087 (grub-menulst2cfg): Likewise.
7088 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
7089 * grub-core/Makefile.core.def (cryptodisk): New module.
7090 (luks): Likewise.
7091 (geli): Likewise.
7092 * grub-core/disk/AFSplitter.c: New file.
7093 * grub-core/disk/cryptodisk.c: Likewise.
7094 * grub-core/disk/geli.c: Likewise.
7095 * grub-core/disk/luks.c: Likewise.
7096 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
7097 grub_util_is_lvm.
7098 (grub_util_get_dm_abstraction): New function.
7099 (grub_util_follow_gpart_up): Likewise.
7100 (grub_util_get_geom_abstraction): Likewise.
7101 (grub_util_get_dev_abstraction): Use new functions.
7102 (grub_util_pull_device): Pull GELI and LUKS.
7103 (grub_util_get_grub_dev): Handle LUKS and GELI.
7104 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
7105 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
7106 (follow_geom_up): Removed.
7107 (grub_util_fd_seek): New function.
7108 (open_device): Use grub_util_fd_seek.
7109 (nread): Rename to ..
7110 (grub_util_fd_read): ... this. All users updated.
7111 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7112 (grub_crypto_cbc_decrypt): Likewise.
7113 (grub_crypto_hmac_write): Likewise.
7114 (grub_crypto_hmac_buffer): Likewise.
7115 (grub_password_get): Extend to util.
7116 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7117 New member modname.
7118 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7119 * include/grub/cryptodisk.h: New file.
7120 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7121 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7122 LUKS and GELI.
7123 (grub_util_follow_gpart_up): New proto.
7124 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7125 (grub_util_fd_read): Likewise.
7126 (grub_cryptodisk_cheat_mount): Likewise.
7127 (grub_util_cryptodisk_print_uuid): Likewise.
7128 (grub_util_get_fd_sectors): Likewise.
7129 * util/grub-fstest.c (mount_crypt): New var.
7130 (fstest): Mount crypto if requested.
7131 (options): New option -C.
7132 (argp_parser): Parse -C.
7133 (main): Init and fini gcry.
7134 * util/grub-install.in: Support cryptodisk install.
7135 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7136 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7137 cryptodisk.
7138 (prepare_grub_to_access_device): Likewise.
7139 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7140 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7141 (probe_cryptodisk_uuid): New function.
7142 (probe_abstraction): Likewise.
7143 (probe): Use new functions.
7144 * util/import_gcry.py: Create Makefile.utilgcry.def.
7145 Add modname member.
7146
9bfdcbbc
VS
71472011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 Lazy device scanning.
7150
7151 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7152 (grub-setup): Remove util/raid.c.
7153 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7154 * grub-core/disk/lvm.c (scan_depth): New variable.
7155 (grub_lvm_iterate): Rescan if necessary.
7156 (find_lv): New function based on grub_lvm_open.
7157 (grub_lvm_open): Use find_lv. Rescan on error.
7158 (is_node_readable): New function.
7159 (is_lv_readable): Likewise.
7160 (grub_lvm_scan_device): Skip already found disks.
7161 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7162 Stop if searched device is found and readable.
7163 * grub-core/disk/raid.c (inscnt): New variable.
7164 (scan_depth): Likewise.
7165 (scan_devices): New function based on grub_raid_register. Abort if
7166 looked for device is found.
7167 (grub_raid_iterate): Rescan if needed.
7168 (find_array): NEw function based on -grub_raid_open.
7169 (grub_raid_open): Use find_array and rescan.
7170 (insert_array): Set became_readable_at.
7171 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7172 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7173 New function.
7174 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
7175 (grub_util_pull_device): New function.
7176 (grub_util_get_grub_dev): Call grub_util_pull_device.
7177 * util/raid.c: Moved to ..
7178 * grub-core/kern/emu/raid.c: ... here.
7179 (grub_util_raid_getmembers): New parameter "bootable".
7180 All users updated. Support 1.x.
7181 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
7182 All users updated.
7183 * include/grub/disk.h (grub_disk_pull_t): New enum.
7184 (grub_disk_dev): Change iterate prototype.
7185 All users updated.
7186 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
7187 New proto.
7188 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
7189 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
7190 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
7191 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
7192 All users updated.
7193 * include/grub/util/raid.h: Removed.
7194
1c358e59
VS
71952011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 * po/POTFILES.in: Regenerate.
7198
abee94ed
VS
71992011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 Unify sparc init with other ieee1275.
7202
7203 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
7204 instead of kern/sparc64/ieee1275/init.c.
7205 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
7206 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
7207 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
7208 grub/machine/kernel.h.
7209 (grub_ieee1275_original_stack) [__sparc__]: New variable.
7210 (grub_claim_heap) [__sparc__]: Use sparc version.
7211 (grub_machine_init): Moved args parsing to
7212 (grub_parse_cmdline): ...this.
7213 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
7214 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
7215 New definition.
7216 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
7217
7218 Move BOOTP to separate file.
7219
7220 * grub-core/Makefile.core.def (net): Add net/bootp.c.
7221 * grub-core/net/net.c: Move all BOOTP functions to
7222 * grub-core/net/bootp.c: ... here.
7223
7224 Use frame interface on PXE.
7225
7226 * grub-core/Makefile.core.def (pxecmd): Removed.
7227 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
7228 * grub-core/commands/i386/pc/pxecmd.c: Removed.
7229 * grub-core/i386/pc/pxe.c: Moved from here ...
7230 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
7231 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
7232 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
7233
7234 EFI network support.
7235
7236 * grub-core/Makefile.core.def (efinet): New module.
7237 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
7238 here...
7239 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
7240 All users updated.
7241 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
7242 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
7243 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
7244 * grub-core/net/drivers/efi/efinet.c: New file.
7245 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
7246 (grub_efi_net_config): New extern var.
7247
7248 Various cleanups and bugfixes.
7249
7250 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
7251 error.
7252 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
7253 disk declared as partition.
7254 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
7255 leak on failure.
7256 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
7257 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
7258 (grub_debug_zalloc): Likewise.
7259 (grub_debug_realloc): Likewise.
7260 (grub_debug_memalign): Likewise.
7261 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
7262 Check that target is IPv4.
7263 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
7264 local-mac-address as fallback.
7265 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
7266 memory leak.
7267 * grub-core/net/ip.c (ipchksum): Rename to ...
7268 (grub_net_ip_chksum): ... this. All users updated.
7269 (grub_net_recv_ip_packets): Special handling for DHCP.
7270 * util/grub-mkimage.c (generate_image): Zero-out aout header.
7271
7272 Unify prefix handling
7273
7274 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
7275 (grub_machine_get_bootlocation): ... this.
7276 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
7277 (grub_machine_get_bootlocation): ... this.
7278 (grub_prefix): New variable.
7279 (prefix): Removed.
7280 (root_dev): New variable.
7281 (dir): Likewise.
7282 (main): Use new variables.
7283 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
7284 Revamped into ...
7285 (grub_machine_get_bootlocation): ... this.
7286 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
7287 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
7288 (grub_machine_get_bootlocation): ... this.
7289 (grub_machine_set_prefix): Removed.
7290 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
7291 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
7292 Revamped into ...
7293 (grub_machine_get_bootlocation): ... this.
7294 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
7295 (grub_set_prefix_and_root): ... this. All users updated.
7296 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
7297 Revamped into ...
7298 (grub_machine_get_bootlocation): ... this.
7299 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
7300 (grub_machine_get_bootlocation): New proto.
7301 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
7302
7303 Less intrusive and more reliable seek on network implementation.
7304
7305 * grub-core/kern/file.c (grub_file_net_seek): Removed.
7306 (grub_file_seek): Don't call grub_file_net_seek.
7307 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
7308 (grub_net_fs_read_real): .. this.
7309 (grub_net_seek_real): Use net->offset.
7310 (grub_net_fs_read): Seek if necessary.
7311
7312 Unify IEEE1275 netwotk config with the other platforms.
7313
7314 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
7315 New variable.
7316 (grub_machine_get_bootlocation): Support network.
7317 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7318 Support type and device parsing.
7319 (grub_ieee1275_get_device_type): New function.
7320 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
7321 into ...
7322 (grub_ieee1275_net_config_real): ... this.
7323 (grub_ofnet_probecards): Removed.
7324 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
7325 * include/grub/ieee1275/ofnet.h: Removed.
7326 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
7327 extern var.
7328 (grub_ieee1275_get_device_type): New function.
7329
7330 Unify network device closing across platforms and make more robust.
7331
7332 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
7333 grub_grubnet_fini.
7334 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
7335 already.
7336 * grub-core/net/net.c (grub_net_network_level_interface_register):
7337 Update num_ifaces.
7338 (grub_net_card_unregister): Close all interfaces.
7339 (receive_packets): Don't poll if no iterfaces are registered.
7340 Open if necessary.
7341 (grub_net_fini_hw): New function.
7342 (grub_net_restore_hw): Likewise.
7343 (fini_hnd): New variable.
7344 (GRUB_MOD_INIT): Register preboot hook.
7345 (GRUB_MOD_FINI): Run and unregister preboot hook.
7346
7347 Poll network cards when idle.
7348
7349 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
7350 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
7351 * grub-core/net/net.c (receive_packets): Save last poll time.
7352 (grub_net_poll_cards_idle_real): New function.
7353 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
7354 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
7355 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
7356
7357 Rename ofnet interfaces.
7358
7359 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
7360 (grub_ofnet_findcards): Use ofnet_%s names.
7361
7362 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
7363
7364 Cleanup socket opening.
7365
7366 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
7367 (grub_net_fs_close): Likewise.
7368 (grub_net_fs_read_real): Use eof member.
7369 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
7370 (+grub_net_udp_close): New inline function.
7371
7372 * include/grub/net/tftp.h: Moved to the top of ...
7373 * grub-core/net/tftp.c: ... here.
7374 * include/grub/net/ip.h: Moved mostly to the top of ...
7375 * grub-core/net/ip.c: ... here.
7376 * include/grub/net/ethernet.h: Moved mostly to the top of ...
7377 * grub-core/net/ethernet.c: ... here.
7378
7379 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
7380
7381 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
7382 FS name.
7383
7384 * include/grub/net/ip.h (ipv4_ini): Removed.
7385 (ipv4_fini): Likewise.
7386
7387 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
7388 (grub_net_send_ip_packets): Likewise.
7389
cf1337aa
VS
73902011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
7393 grub_read_cmos prototype.
7394
93c06ff9
VS
73952011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 VGA text support in qemu-mips
7398
7399 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
7400 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
7401 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
7402 text.
7403 * grub-core/kern/i386/qemu/init.c: Renamed to ...
7404 * grub-core/kern/vga_init.c: ... this.
7405 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
7406 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
7407 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
7408 Adjust.
7409 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
7410 GRUB_MACHINE_PCI_IO_BASE.
7411
748ccabe
VS
74122011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 MIPS qemu flash support.
7415
7416 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
7417 magic.
7418 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
7419 (grub_machine_init): Probe memory if its size isn't known.
7420 * util/grub-mkimage.c (image_targets): Add flash targets.
7421 (generate_image): Handle flash targets.
7422
d7345994
VS
74232011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 MIPS qemu at_keyboard support.
7426
7427 * gentpl.py (videoinkernel): Add qemu-mips.
7428 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
7429 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
7430 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
7431 modules.
7432 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
7433 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
7434 * grub-core/term/serial.c (grub_serial_register)
7435 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
7436
a07a81b3
VS
74372011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 CMOS support on sparc.
7440
7441 * gentpl.py (cmos): Add powerpc and sparc.
7442 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
7443 powerpc and sparc.
7444 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
7445 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
7446 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
7447 grub_set_datetime_cmos.
7448 * grub-core/lib/ieee1275/cmos.c: New file.
7449 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
7450 (find_rtc): Set no_ieee1275_rtc on error.
7451 (grub_get_datetime): Call grub_get_datetime_cmos on error.
7452 (grub_set_datetime): Call grub_set_datetime_cmos on error.
7453 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
7454 fail. Move value to argument. All users updated
7455 (grub_cmos_write): Likewise.
7456 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
7457 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
7458 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
7459 grub_get_datetime_cmos and grub_set_datetime_cmos.
7460
77546584
GS
74612011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7462
7463 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
7464 sourcing grub-mkconfig_lib.
7465 * util/update-grub_lib.in: Likewise.
7466 * util/grub.d/00_header.in: Likewise.
7467 * util/grub.d/10_hurd.in: Likewise.
7468 * util/grub.d/10_kfreebsd.in: Likewise.
7469 * util/grub.d/10_linux.in: Likewise.
7470 * util/grub.d/10_netbsd.in: Likewise.
7471 * util/grub.d/10_windows.in: Likewise.
7472 * util/grub.d/20_linux_xen.in: Likewise.
7473 * util/grub.d/30_os-prober.in: Likewise.
7474
54894791
CW
74752011-06-28 Colin Watson <cjwatson@ubuntu.com>
7476
7477 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
7478 default_bg_color rather than black.
7479 (grub_gfxterm_fullscreen): Likewise.
7480 (grub_gfxterm_background_color_cmd): Save new background color in
7481 default_bg_color.
7482
8d5d8444
VS
74832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
7486
5afeb5bd
VS
74872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
7490 mismerge.
7491
ba7df45e
VS
74922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 Chainloading on coreboot support.
7495
7496 * grub-core/Makefile.core.def (chain): Add coreboot.
7497 * grub-core/loader/i386/coreboot/chainloader.c: New file.
7498
d0b526b2
VS
74992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
7502 if it happens.
7503
5ff1d945
VS
75042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 Implement time command.
7507
7508 * grub-core/Makefile.core.def (time): New module.
7509 * grub-core/commands/time.c: New file.
7510 * grub-core/script/parser.y: Remove "time" keyword.
7511 * grub-core/script/yylex.l: Likewise.
7512
5ebaad7e
VS
75132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
7516
bdea3798
VS
75172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
7520 when handling leftovers.
7521
b28c5655
VS
75222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
7525 so that help2man doesn't fail.
7526
b6f945dc
VS
75272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
7530 type in pointers on sparc64.
7531 (get_card_packet): Likewise.
7532
f9b75e8a
CW
75332011-06-27 Colin Watson <cjwatson@ubuntu.com>
7534
7535 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
7536 with `*'.
7537 (grub_cmd_videoinfo): Fetch current video mode.
7538
1e3d9b86
VS
75392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
7542 because of underlying system restrictions.
7543
efff4b1c
VS
75442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
7547 necessary.
7548
9fc9ce37
VS
75492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 Coreboot video support.
7552
7553 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
7554 (vbe): Likewise.
7555 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
7556 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
7557 here ...
7558 * grub-core/kern/i386/int.S: ... here.
7559 * grub-core/video/i386/pc/vbe.c: Updated includes.
7560 * grub-core/video/i386/pc/vga.c: Likewise.
7561 * include/grub/i386/coreboot/memory.h
7562 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
7563 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
7564 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
7565 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
7566 Disable interrupts.
7567 * include/grub/i386/pc/vga.h: Removed. All users updated.
7568
41bec7fe
VS
75692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
7572 definitions for dprintf.
7573 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
7574
ca80309d
VS
75752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
7578 prototype.
7579 (get_card_packet): Likewise.
7580
9e322ce8
YB
75812011-06-26 Yves Blusseau <blusseau@zetam.org>
7582
7583 Display the path of the file when file is not found
7584
7585 * grub-core/fs/fat.c: Display the filename when file is not found.
7586 * grub-core/fs/fshelp.c: Likewise.
7587 * grub-core/fs/hfs.c: Likewise.
7588 * grub-core/fs/jfs.c: Likewise.
7589 * grub-core/fs/minix.c: Likewise.
7590 * grub-core/fs/ufs.c: Likewise.
7591 * grub-core/fs/btrfs.c: Likewise.
7592 * grub-core/commands/i386/pc/play.c: Likewise.
7593
cbf597af
SJ
75942011-06-26 Szymon Janc <szymon@janc.net.pl>
7595
7596 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
7597 pointer checks before calling grub_free().
7598 * grub-core/commands/wildcard.c (match_devices): Likewise.
7599 * grub-core/commands/wildcard.c (match_files): Likewise.
7600 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
7601 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
7602 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
7603 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
7604 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
7605 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
7606 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
7607 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7608 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
7609
6295b32f
P
76102011-06-25 Patrick <p55@mailinator.com>
7611
7612 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
7613
77c0840b
VS
76142011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
7617 (grub_pxe_send): Likewise.
7618 (GRUB_MOD_INIT): Fix types.
7619
40ea05de
SJ
76202011-06-24 Szymon Janc <szymon@janc.net.pl>
7621
7622 * grub-core/io/xzio.c: Fix code style issues
7623
90162423
MRA
76242011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
76252011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
7626
7627 Network infrastructure.
7628 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
7629
7630 * include/grub/net/arp.h: New file.
90162423
MRA
7631 * include/grub/net/device.h: Likewise.
7632 * include/grub/net/ethernet.h: Likewise.
7633 * include/grub/net/ip.h: Likewise.
7634 * include/grub/net/netbuff.h: Likewise.
7635 * include/grub/net/tftp.h: Likewise.
7636 * include/grub/net/udp.h: Likewise.
7637 * include/grub/ieee1275/ofnet.h: Likewise.
7638 * include/grub/emu/export.h: Likewise.
7639 * include/grub/net.h: Likewise.
7640 * grub-core/net/arp.c: Likewise.
7641 * grub-core/net/ethernet.c: Likewise.
7642 * grub-core/net/ip.c: Likewise.
7643 * grub-core/net/udp.c: Likewise.
7644 * grub-core/net/tftp.c: Likewise.
7645 * grub-core/net/netbuff.c: Likewise.
7646 * grub-core/net/net.c: Likewise.
7647 * grub-core/net/drivers/emu/emunet.c: Likewise.
7648 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
7649 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
7650 export.h.
7651 * grub-core/Makefile.core.def (net): New module.
7652 (tftp): Likewise.
7653 (ofnet): Likewise.
7654 (emunet): Likewise.
7655 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
7656 network protocols.
7657 * grub-core/kern/device.c (grub_net_open) : New variable.
7658 (grub_device_open): Handle network device.
7659 (grub_device_close): Likewise.
7660 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
7661 (grub_grubnet_fini): Likewise.
7662 (grub_file_seek): Seek in network device.
7663 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
7664 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
7665 network root.
7666 (grub_machine_fini): Call grub_grubnet_fini.
7667 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
7668 network.
7669 (grub_ieee1275_get_aliasdevname): New function.
7670 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7671 Add unofficial Solaris network info.
7672 (grub_multiboot_make_mbi): Likewise.
7673 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
7674 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
7675 * include/grub/device.h (grub_fs): Removed.
7676 * include/grub/err.h (grub_err_t): Add network-related values.
7677 * include/grub/i386/pc/pxe.h: Removed bootp parts.
7678 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
7679 (grub_ieee1275_get_aliasdevname): New proto.
7680 * include/grub/net.h: Rewritten.
423a1849 7681
031f22a0
VS
76822011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
7685 names.
7686
4388ca72
VS
76872011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
7690 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
7691 it truncates the output.
7692 Reported by: Ximin Luo.
7693
98e2f506
VS
76942011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
7697
2a5e94d8
VS
76982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
7701 partmap before abstraction.
7702
535c1910
AK
77032011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
7704
7705 * util/grub-mkconfig_lib.in: Add missing quotes.
7706
bc09e1a2
VS
77072011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
7710 old method if mountinfo would return /dev/root and /dev/root doesn't
7711 exist.
7712
290766fb
VS
77132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 ZFS zlib support
7716
7717 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
7718 (decomp_table): Add zlib entries.
7719 (zio_read): USe 8 bits for compression function rather than 3.
7720 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
7721
77222011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * grub-core/disk/ahci.c: Add missing license statements.
7725 * grub-core/fs/romfs.c: Likewise.
7726 * grub-core/lib/ia64/setjmp.S: Likewise.
7727 * grub-core/loader/i386/pc/freedos.c: Likewise.
7728 * grub-core/loader/ia64/efi/linux.c: Likewise.
7729 * grub-core/video/colors.c: Likewise.
7730 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
7731
5ab3f48a
VS
77322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 AHCI support.
7735
7736 * grub-core/Makefile.core.def (ata_pthru): Removed.
7737 (ahci): New module.
7738 (pata): Likewise.
7739 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
7740 on unload.
7741 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
7742 readwrite.
7743 (grub_hdparm_do_check_powermode_cmd): Likewise.
7744 (grub_hdparm_do_smart_cmd): Likewise.
7745 (grub_hdparm_set_val_cmd): Likewise.
7746 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
7747 * grub-core/disk/ahci.c: New file.
7748 * grub-core/disk/ata.c: Factor out the low-level part into ...
7749 * grub-core/disk/pata.c: ... here.
7750 * grub-core/disk/ata_pthru.c: Contents moved to ...
7751 * grub-core/disk/pata.c: ... here.
7752 * grub-core/disk/scsi.c (grub_scsi_names): New array.
7753 (grub_scsi_iterate): Use grub_scsi_names.
7754 (grub_scsi_open): Likewise.
7755 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
7756 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
7757 (grub_ata_regs_t): New struct.
7758 (grub_disk_ata_pass_through_parms): Likewise.
7759 (grub_ata_device): Renamed to ...
7760 (grub_ata): ... this.
7761 (grub_ata_dev): New struct.
7762 Removed all low-level inline functions.
7763 * include/grub/scsi.h: Add PATA and AHCI subsystems.
7764 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
7765 iterate hooks and open. All users updated.
7766 * util/grub-install.in: Handle AHCI disk module.
7767
c31dc5f5
SJ
77682011-06-23 Szymon Janc <szymon@janc.net.pl>
7769
7770 Add support for DRI and RSTn markers in JPEG files.
7771
7772 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
7773 (JPEG_MARKER_RST0): Likewise.
7774 (JPEG_MARKER_RST1): Likewise.
7775 (JPEG_MARKER_RST2): Likewise.
7776 (JPEG_MARKER_RST3): Likewise.
7777 (JPEG_MARKER_RST4): Likewise.
7778 (JPEG_MARKER_RST5): Likewise.
7779 (JPEG_MARKER_RST6): Likewise.
7780 (JPEG_MARKER_RST7): Likewise.
7781 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
7782 (grub_jpeg_decode_dri): New function.
7783 (grub_jpeg_decode_sos): Move image data related part into
7784 grub_jpeg_decode_data function.
7785 (grub_jpeg_decode_data): New function.
7786 (grub_jpeg_reset): New function.
7787 (grub_jpeg_decode_jpeg): Handle new markers.
7788
fe12fd5b
VS
77892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 * util/ieee1275/ofpath.c (check_sas): Close fd.
7792 (main): Free of_path.
7793 Reported by: David Volgyes <dvolgyes>.
7794
03147f46
VS
77952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7796
7797 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
7798 Reported by: David Volgyes <dvolgyes>.
7799
cad3237f
VS
78002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
7803 file after stat.
7804 Reported by: David Volgyes <dvolgyes>.
7805
13548d26
VS
78062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7807
7808 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
7809
7810 Reported by: David Volgyes <dvolgyes>.
7811
e061a1b5
VS
78122011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
7815 Prevent memory leak.
7816
1abe47dc
VS
78172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7818
7819 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
7820 (main): Close file.
e061a1b5 7821 Reported by: David Volgyes <dvolgyes>.
1abe47dc 7822
fbc62666
VS
78232011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7824
7825 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
7826 to continue if allocation is failed.
7827
7828 Reported by: David Volgyes <dvolgyes>.
7829
e98c83e9
DV
78302011-06-23 David Volgyes <dvolgyes>
7831
7832 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
7833 dereference.
7834
a199a8cd
VS
78352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 Fix spurious warning.
7838
7839 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
7840 (acorn_partition_map_find): Use .bin member.
7841
e2d1dba0
VS
78422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
7845 /dev/root as a valid device.
7846
8a5d6919
JM
78472011-06-23 Jim Meyering <meyering@redhat.com>
7848
e2d1dba0
VS
7849 Avoid NULL deref in grub_device_open.
7850
8a5d6919
JM
7851 * grub-core/kern/device.c (grub_device_open): Don't dereference
7852 a NULL pointer upon failed grub_env_get.
7853
f7db6f4a
VS
78542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7855
7856 Support non-512B sectors and agglomerate reads.
7857
7858 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
7859 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
7860 (disk_io_guid): Removed.
7861 (make_devices): Locate solely by BlockIO.
7862 (grub_efidisk_open): Fill log_sector_size and total_sectors.
7863 (grub_efidisk_read): Use read_blocks.
7864 (grub_efidisk_write): Use write_blocks.
7865 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
7866 log_sector_size.
7867 (get_safe_sectors): Handle non-512B sectors.
7868 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
7869 sectors.
7870 (grub_biosdisk_write): Handle non-512B sectors.
7871 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
7872 (grub_scsi_read): Remove special non-512B block handling (now handled
7873 one level up).
7874 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
7875 and do sanity checks.
7876 (grub_disk_adjust_range): Handle non-512B sectors.
7877 (transform_sector): New function.
7878 (grub_disk_read_small): Likewise.
7879 (grub_disk_read): Rewritten.
7880 (grub_disk_write): Handle non-512B sectors.
7881 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
7882 log_sector_size.
7883 (open_device): Use log_sector_size.
7884 (grub_util_biosdisk_read): Likewise.
7885 (grub_util_biosdisk_write): Likewise.
7886 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
7887 non-512B sectors.
7888 (pc_partition_map_embed): Likewise.
7889 * include/grub/disk.h (grub_disk): New field log_sector_size.
7890 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
7891 (GRUB_DISK_CACHE_BITS): Increased to 6.
7892 * util/grub-fstest.c (fstest): New command testload.
7893 (argp_parser): Likewise.
7894
881ac815
RM
78952011-06-16 Robert Millan <rmh@gnu.org>
7896
7897 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
7898 `ata' driver on kernel of FreeBSD 9.
7899
7900 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
7901 (get_ataraid_disk_name): New functions.
7902 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
7903 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
7904 get_ataraid_disk_name() and get_ada_disk_name().
7905
1e9aef7d
CW
79062011-06-13 Colin Watson <cjwatson@ubuntu.com>
7907
7908 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
7909 input format.
7910
351c7c8a
CW
79112011-05-29 Colin Watson <cjwatson@ubuntu.com>
7912
7913 * docs/grub.texi (Obtaining and Building GRUB): Substitute
7914 `ftp.gnu.org' for `alpha.gnu.org'.
7915
6b4e6430
CW
79162011-05-27 Colin Watson <cjwatson@ubuntu.com>
7917
7918 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
7919 partitions under /dev/disk/by-id/.
7920
c64db050
CW
79212011-05-27 Colin Watson <cjwatson@ubuntu.com>
7922
7923 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
7924 after ten consecutive open failures. Scanning all the way up to
7925 10000 is excessive and can cause serious performance problems in
7926 some configurations.
7927 Fixes Ubuntu bug #787461.
7928
245f4aba
VS
79292011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
7932 opening new one.
7933
f767c929
VS
79342011-05-21 Colin Watson <cjwatson@ubuntu.com>
79352011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 Don't stat devices unless we have to.
7938
7939 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
7940 dir == /dev/mapper.
7941 (grub_guess_root_device): Use already known os_dev if possible.
7942 * grub-core/kern/emu/hostdisk.c
7943 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
7944 if device is known to be a dm one.
7945
f35fa3a6
CW
79462011-05-20 Colin Watson <cjwatson@ubuntu.com>
7947
7948 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
7949 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
7950 Reported by: Pawel Tecza.
7951
9a79fcf2
VS
79522011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
7955 (lsefisystab): Likewise.
7956 (lssal): Likewise.
7957 (lsefimmap): Likewise.
7958 (hdparm): Enable on qemu-mips.
7959 (setjmp): Add ia64 nodist.
7960 (serial): Simplify tags.
7961
63e3eea9
CW
79622011-05-18 Colin Watson <cjwatson@ubuntu.com>
7963
7964 * Makefile.util.def (grub-ofpathname): Install manual page.
7965
09728256
CW
79662011-05-18 Colin Watson <cjwatson@ubuntu.com>
7967
7968 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
7969
8b63a142
CW
79702011-05-18 Colin Watson <cjwatson@ubuntu.com>
7971
7972 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
7973
e775d8ed
VS
79742011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
7977 into dprintf.
7978
bf947d36
VS
79792011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 Use full 64-bit division.
7982
7983 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
7984 (grub_divmod64): ... this.
7985 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
7986 version.
7987
b84f26c5
CW
79882011-05-18 Colin Watson <cjwatson@ubuntu.com>
7989
7990 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
7991 `source'.
7992
5626056f
CW
79932011-05-18 Colin Watson <cjwatson@ubuntu.com>
7994
7995 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
7996 to avoid accidents when debugging with 'sh -x'.
7997 * grub-core/gensyminfo.sh.in: Likewise.
7998 * tests/example_scripted_test.in: Likewise.
7999 * tests/grub_cmd_regexp.in: Likewise.
8000 * tests/grub_script_blanklines.in: Likewise.
8001 * tests/grub_script_dollar.in: Likewise.
8002 * tests/grub_script_expansion.in: Likewise.
8003 * tests/grub_script_final_semicolon.in: Likewise.
8004 * tests/partmap_test.in: Likewise.
8005 * tests/util/grub-shell-tester.in: Likewise.
8006 * tests/util/grub-shell.in: Likewise.
8007
e2965f4a
CW
80082011-05-18 Colin Watson <cjwatson@ubuntu.com>
8009
8010 Move gfxmenu color handling to video, so that gfxterm can use it
8011 too.
8012
8013 * grub-core/gfxmenu/named_colors.c: Move to ...
8014 * grub-core/video/colors.c: ... here. Rename
8015 grub_gui_get_named_color to grub_video_get_named_color.
8016 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
8017 * grub-core/video/colors.c (my_isxdigit): ... here.
8018 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
8019 Move to ...
8020 * grub-core/video/colors.c (parse_hex_color_component): ... here.
8021 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
8022 to ...
8023 * grub-core/video/colors.c (grub_video_parse_color): ... here.
8024
8025 * include/grub/gui.h (grub_gui_color_t): Move to ...
8026 * include/grub/video.h (grub_video_rgba_color_t): ... here.
8027 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
8028 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
8029 * include/grub/gui.h (grub_gui_map_color): Move to ...
8030 * include/grub/video.h (grub_video_map_rgba_color): ... here.
8031 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
8032 to ...
8033 * include/grub/video.h (grub_video_get_named_color): ... here.
8034 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
8035 * include/grub/video.h (grub_video_parse_color): ... here.
8036
8037 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
8038 video/colors.c.
8039 (gfxmenu): Remove gfxmenu/named_colors.c.
8040 (video) [videomodules]: Add video/colors.c.
8041
8042 Add a background_color command.
8043
8044 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
8045 function.
8046 (GRUB_MOD_INIT): Register background_color command.
8047 (GRUB_MOD_FINI): Unregister background_color command.
8048 (redraw_screen_rect): Allow blend/replace of text layer to be
8049 controlled independently from whether there is a background bitmap.
8050 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
8051 changing bitmap.
8052
1e4b4390
VS
80532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8054
26618ff0
VS
8055 Patch BPB in ntldr and chainloader --bpb.
8056
1e4b4390
VS
8057 * grub-core/fs/fat.c: Include grub/fat.h.
8058 (grub_fat_bpb): Moved to ...
8059 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
8060 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
8061 grub/ntfs.h.
8062 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
8063 Moved from here...
8064 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
8065 here.
8066 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
8067 New function.
8068 (grub_chainloader_cmd): Patch BPB if --bpb is given.
8069 (GRUB_MOD_INIT): Show --bpb.
8070 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
8071 * grub-core/normal/main.c (features): New variable.
8072 (GRUB_MOD_INIT): Set feature_* variables.
8073 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
8074 proto.
8075 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
8076
cf02731e
VS
80772011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
8080 for cleanness.
8081
e3a1073f
VS
80822011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 FreeDOS direct loading support.
8085
8086 * docs/grub.texi (Supported OS): Add FreeDOS.
8087 * grub-core/Makefile.core.def (freedos): New module.
8088 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
8089 variable.
8090 (grub_relocator16_boot): Handle %ebx.
8091 * grub-core/lib/i386/relocator16.S: Likewise.
8092 * grub-core/loader/i386/pc/freedos.c: New file.
8093
05caa461
VS
80942011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 Long Linux command line support.
8097
8098 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8099 (maximal_cmdline_size): New variable.
8100 (allocate_pages): Use maximal_cmdline_size.
8101 (grub_cmd_linux): Set and use maximal_cmdline_size.
8102 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8103 (allocate_pages): Use maximal_cmdline_size.
8104 (grub_cmd_linux): Set and use maximal_cmdline_size.
8105 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
8106 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
8107 and cmdline_size.
8108
a2491e23
VS
81092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
81102011-05-18 Colin Watson <cjwatson@ubuntu.com>
8111
8112 Improve devmapper support
8113
8114 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8115 (grub_util_is_lvm): New function.
8116 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8117 than lvm if not dmraid.
8118 Handle mapped md nodes.
8119 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8120 (grub_util_device_is_mapped): ... this. Make always available. All users
8121 updated.
8122 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8123 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8124 dmraid nodes.
8125 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8126
6ad6223e
VS
81272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8130
8131 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8132 * grub-core/modinfo.sh.in: New file.
8133 * grub-core/Makefile.core.def (modinfo.sh): New script.
8134 * util/grub-mknetdir.in: Use modinfo.sh.
8135 * util/grub-mkrescue.in: Likewise.
8136
543a8f6e
VS
81372011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8140 Fix potential usage of Elf32 instead of Elf64 when compiling on
8141 32-bit architecture. Add endianness macros while on it.
8142
4959e111
VS
81432011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 Use mipsel- rather than mips- in directories involving mipsel ports to
8146 allow both endiannesses coexist.
8147
8148 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8149 mips. All conditions adjusted.
8150 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8151 variable.
8152 * util/grub-install.in: Adjust conditions to take renaming into account.
8153 * util/grub-mkimage.c (image_targets): Likewise. New target
8154 mips-qemu_mips-elf for bigendian mips.
8155
35341bbc
VS
81562011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 Avoid unnecessary copying on MIPS.
8159
8160 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8161 early if src == dest.
8162 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8163 compression is none.
8164
b772baed
VS
81652011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 Reduce memory footprint on SGI by putting modules before the kernel
8168 as opposed to after.
8169
8170 * grub-core/Makefile.core.def (kernel): Increase linking address.
8171 (none_decompress): Likewise.
8172 (xz_decompress): Likewise.
8173 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
8174 address.
8175 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
8176 layout change.
8177 (grub_arch_modules_addr): New function.
8178 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
8179 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
8180 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
8181 here.
8182 * grub-core/kern/mips/startup.S (total_size): Rename to ...
8183 (grub_total_modules_size): ... this. Make global.
8184 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
8185 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
8186 New definition.
8187 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
8188 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
8189 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
8190 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
8191 * util/grub-mkimage.c (image_target_desc): New flag
8192 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
8193 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
8194 (generate_image): Handle images with modules before kernel.
8195
566a1917
VS
81962011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 Prevent potential loss of memory map by overwrite on qemu-mips.
8199
8200 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8201 Save ram size in $s4.
8202 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
8203 All users changed to grub_arch_memsize.
8204 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
8205 Loongson.
8206 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
8207 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
8208 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
8209 external variable.
8210
5d420cd9
CW
82112011-05-17 Colin Watson <cjwatson@ubuntu.com>
8212
8213 * .bzrignore: Remove grub-dumpbios.
8214
d064b830
CW
82152011-05-17 Colin Watson <cjwatson@ubuntu.com>
8216
8217 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
8218 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
8219 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
8220 existing options which append).
8221 * docs/grub.texi (Simple configuration): Document new options.
8222 Reported by: Ian Jackson. Fixes Debian bug #617538.
8223
3ca2b466
CW
82242011-05-17 Colin Watson <cjwatson@ubuntu.com>
8225
8226 * util/grub-fstest.c (cmd_cat): New function.
8227 (fstest): Handle CMD_CAT.
8228 (options): Add cat.
8229 (argp_parser): Handle cat.
8230
24c9143a
CW
82312011-05-17 Colin Watson <cjwatson@ubuntu.com>
8232
8233 * Makefile.util.def (grub-bin2h): Don't install.
8234 * docs/man/grub-bin2h.h2m: Remove.
8235
90f7ac19
VS
82362011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8237
8238 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
8239 place.
8240
8d4a5178
VS
82412011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 Reenable qemu-mips port.
8244
8245 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
8246 Fix small arc bug while on it.
8247 * gentpl.py: Handle qemu_mips.
8248 * grub-core/Makefile.am: Likewise.
8249 * grub-core/Makefile.core.def: Likewise.
8250 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
8251 inappropriate includes.
8252 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
8253 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
8254 * grub-core/kern/main.c (grub_modules_get_end)
8255 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
8256 * grub-core/kern/mips/qemu-mips: Moved to ..
8257 * grub-core/kern/mips/qemu_mips: ... this.
8258 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
8259 (grub_machine_init): Call terminfo_init and serial_init.
8260 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
8261 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8262 New variable.
8263 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
8264 parameter passing.
8265 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
8266 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
8267 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8268 * include/grub/mips/qemu_mips/cmos.h: New file.
8269 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
8270 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
8271 Removed.
8272 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
8273 Use correct mips-style address.
8274 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
8275 (GRUB_TICKS_PER_SECOND): Removed.
8276 (grub_get_rtc): Likewise.
8277 (grub_cpu_idle): Likewise.
8278 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
8279 New definition.
8280 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
8281 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
8282 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
8283 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
8284 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8285 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8286 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
8287 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
8288
400b9371
VS
82892011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 SGI ARCS port.
8292
8293 * Makefile.util.def (libgrubmods.a): Add dvh.c.
8294 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
8295 platforms.
8296 * configure.ac: New target mips-arc.
8297 * gentpl.py: Likewise.
8298 * grub-core/Makefile.am: Likewise.
8299 * grub-core/Makefile.core.def: Likewise.
8300 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
8301 (none_decompress): Likewise.
8302 (lsdev): New module.
8303 (datetime): Use lib/arc/datetime.c on ARC.
8304 (part_dvh): New module.
8305 * grub-core/commands/arc/lsdev.c: New file.
8306 * grub-core/disk/arc/arcdisk.c: Likewise.
8307 * grub-core/kern/mips/arc/init.c: Likewise.
8308 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
8309 aligned addresses.
8310 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
8311 support.
8312 (grub_arch_dl_relocate_symbols): Likewise.
8313 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
8314 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
8315 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
8316 platforms.
8317 * grub-core/lib/arc/datetime.c: New file.
8318 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
8319 pci.h on non-loongson.
8320 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
8321 (grub_linux_boot): Set unused registers to 0.
8322 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
8323 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
8324 * grub-core/mmap/mips/uppermem.c: ...here.
8325 * grub-core/partmap/dvh.c: New file.
8326 * grub-core/term/arc/console.c: Likewise.
8327 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
8328 (grub_terminfo_set_current): Add terminal "arc".
8329 (grub_terminfo_readkey): Support ARC sequences.
8330 * include/grub/arc/arc.h: New file.
8331 * include/grub/arc/console.h: Likewise.
8332 * include/grub/disk.h (grub_disk_dev_id): Add
8333 GRUB_DISK_DEVICE_ARCDISK_ID.
8334 * include/grub/mips/arc/kernel.h: New file.
8335 * include/grub/mips/arc/memory.h: Likewise.
8336 * include/grub/mips/arc/time.h: Likewise.
8337 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
8338 * include/grub/mips/kernel.h (grub_halt): ... here.
8339 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
8340 here...
8341 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
8342 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
8343 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
8344 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
8345 proto.
8346 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
8347 from here ...
8348 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
8349 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
8350 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
8351 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
8352 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
8353 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
8354 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
8355 (grub_phys_addr_t): Moved from here ...
8356 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
8357 (grub_vtop): Moved from here ...
8358 * include/grub/mips/memory.h (grub_vtop): ... here.
8359 (grub_map_memory): Moved from here ...
8360 * include/grub/mips/memory.h (grub_map_memory): ... here.
8361 (grub_unmap_memory): Moved from here ...
8362 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
8363 (grub_machine_mmap_iterate): Moved from here ...
8364 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
8365 (grub_mmap_get_lower): Moved from here ...
8366 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
8367 (grub_mmap_get_upper): Moved from here ...
8368 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
8369 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8370 here ...
8371 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8372 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
8373 here ...
8374 * include/grub/mips/time.h (grub_get_rtc): ... here.
8375 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8376 here ...
8377 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8378 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
8379 here ...
8380 * include/grub/mips/time.h (grub_cpu_idle): ... here.
8381 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
8382 definition.
8383 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
8384 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
8385 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
8386 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
8387 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8388 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8389 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
8390 (GRUB_MACHINE_LINK_ADDR): Likewise.
8391 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
8392 to 6.
8393 * util/grub-install.in: Run dvhtool on ARC.
8394 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 8395 (generate_image): Handle ECOFF output for mips-arc.
400b9371 8396
c8ecc840
VS
83972011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
8400 blocks.
8401
153a4b55
VS
84022011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
8405 after enabling port.
8406
ff44d107
VS
84072011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 Skip incorrect USB devices.
8410
8411 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
8412 configcnt == 0.
8413 * include/grub/usb.h (grub_usb_err_t): New enum value
8414 GRUB_USB_ERR_BADDEVICE.
8415
638dbe4f
VS
84162011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 Fuloong video init support.
8419
8420 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
8421 well.
8422 (grub_vga_read_arx): New function.
8423 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
8424 definition.
8425 (framebuffer): New members io, mmioptr and mmiobase.
8426 (read_sis_cmd): New function.
8427 (write_sis_cmd): Likewise.
8428 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
8429 rather than 640x400.
8430 * grub-core/video/sis315_init.c: New file.
8431
c3fc520c
VS
84322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8433
8434 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
8435 non-loongson.
8436 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
8437 to grub_dl_register_symbol.
8438
67b1e5c9
VS
84392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 Fix compilation errors.
8442
8443 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
8444 potentially unused.
8445 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
8446 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
8447 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
8448 to loongson machines.
8449
b756f75f
VS
84502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 Several FS mtime support.
8453
8454 * grub-core/fs/affs.c (grub_affs_time): New struct.
8455 (grub_affs_file): New field mtime.
8456 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
8457 type. Removed 'size'. New field 'di'. All users updated.
8458 (grub_affs_mount): Simplify checsum checking.
8459 (grub_affs_iterate_dir): New helper grub_affs_create_node.
8460 (grub_affs_dir): Handle mtime.
8461 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
8462 (grub_cpio_dir): Likewise.
8463 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
8464 (grub_hfs_filerec): New field mtime.
8465 (grub_hfs_dir): Handle mtime.
8466 (grub_hfs_mtime): New function.
8467 (grub_hfs_fs): Register grub_hfs_mtime.
8468 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
8469 (grub_iso9660_dir): New field mtime.
8470 (grub_fshelp_node): New field dirent.
8471 (iso9660_to_unixtime): New function.
8472 (iso9660_to_unixtime2): Likewise.
8473 (grub_iso9660_read_symlink): Use node->dirent.
8474 (grub_iso9660_iterate_dir): Likewise.
8475 (grub_iso9660_dir): Set mtime.
8476 (grub_iso9660_mtime): New function.
8477 (grub_iso9660_fs): Register grub_iso9660_mtime.
8478 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
8479 (grub_jfs_inode): New fields atime, ctime and mtime.
8480 (grub_jfs_dir): Set mtime.
8481 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8482 * grub-core/fs/ntfs.c (list_file): Set mtime.
8483 (grub_ntfs_dir): Likewise.
8484 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
8485 (grub_reiserfs_iterate_dir): Set mtime.
8486 (grub_reiserfs_dir): Likewise.
8487 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
8488 (grub_fshelp_node): Likewise.
8489 (grub_sfs_iterate_dir): Set mtime.
8490 (grub_sfs_dir): Likewise.
8491 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
8492 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
8493 (grub_xfs_inode): New fields atime, mtime, ctime.
8494 (grub_xfs_dir): Set mtime.
8495 * include/grub/datetime.h (grub_datetime2unixtime): New function.
8496 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
8497 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
8498
8499 Support UDF symlinks.
8500
8501 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
8502 (grub_ufs_read_symlink): New function. All users updated.
8503
8504 Check amiga partmap checksum.
8505
8506 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
8507 (grub_amiga_partition): Likewise.
8508 (amiga_partition_map_checksum): New function.
8509 (amiga_partition_map_iterate): Check checksum.
8510
5470225d
VS
85112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 ROMFS support.
8514
8515 * Makefile.util.def (libgrubmods.a): Add romfs.
8516 * grub-core/Makefile.core.def (romfs): New module.
8517 * grub-core/fs/romfs.c: New file.
8518
d4680a35
VS
85192011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 Squashfs v4 support.
8522
8523 * Makefile.util.def (libgrubmods.a): Add squash4.
8524 * grub-core/Makefile.core.def (squash4): New module.
8525 * grub-core/fs/squash4.c: New file.
8526 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
8527 disk_input_start, disk_input.
8528 (get_byte): Handle disk_input.
8529 (grub_zlib_disk_read): New function.
8530 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
8531
bcb18e74
FZ
85322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
85332011-05-15 Feiran Zheng <famcool@gmail.com>
8534
8535 * Makefile.util.def (libgrubmods.a): Add minix3.
8536 * grub-core/Makefile.core.def (minix3): New module.
8537 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
8538 (GRUB_MINIX_BSIZE): Removed.
8539 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
8540 (grub_minix_ino_t): New type.
8541 (grub_minix_le_to_cpu_ino): New macro.
8542 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
8543 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
8544 (grub_minix_data): New field block_size.
8545 (grub_minix_read_file): Handle 64-bit correctly.
8546 * grub-core/fs/minix3.c: New file.
8547
32297d5f
TG
85482011-05-15 Tristan Gingold <gingold@free.fr>
85492011-05-15 Robert Millan <rmh.grub@aybabtu.com>
85502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 IA64 support.
8553
8554 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
8555 * configure.ac: Add ia64-efi target.
8556 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
8557 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
8558 * gentpl.py: Add ia64_efi platform.
8559 Rename x86_efi to efi and Add ia64-efi. All users updated.
8560 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
8561 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
8562 Remove kern/generic/rtc_get_time_ms.c on EFI.
8563 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
8564 kern/ia64/dl_helper.c on ia64-efi.
8565 Add kern/emu/cache.c on emu.
8566 (linux): Use on loader/ia64/efi/linux.c on ia64.
8567 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
8568 whether symbol is a function.
8569 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
8570 (grub_symbol): New field 'isfunc'.
8571 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
8572 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
8573 (grub_dl_load_segments): Place all sections into the same region.
8574 [__ia64__]: Create trampolines and got.
8575 [GRUB_MACHINE_EMU]: Call mprotect.
8576 (grub_dl_resolve_symbols): Resolve symbol type as well.
8577 [__ia64__]: Create function descriptors.
8578 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
8579 (grub_rtc_get_time_ms): ... this. Expressions simplified.
8580 (grub_get_rtc): New function.
8581 * grub-core/kern/emu/cache.c [__ia64__]: New file.
8582 * grub-core/kern/emu/cache.S: Renamed to ...
8583 * grub-core/kern/emu/cache_s.S: ... this.
8584 [__ia64__]: Add a nop.
8585 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
8586 [__ia64__]: New function.
8587 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
8588 * grub-core/kern/ia64/dl.c: New file.
8589 * grub-core/kern/ia64/dl_helper.c: Likewise.
8590 * grub-core/kern/ia64/efi/init.c: New file.
8591 * grub-core/kern/ia64/efi/startup.S: Likewise.
8592 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
8593 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
8594 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
8595 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
8596 * grub-core/loader/ia64/efi/linux.c: New file.
8597 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
8598 (GRUB_MOD_DEP): Likewise.
8599 (grub_dl) [__ia64__]: New fields got and tramp.
8600 (grub_dl): New field 'base'.
8601 (grub_dl_register_symbol): New argument isfunc. All users updated.
8602 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
8603 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
8604 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
8605 (grub_ia64_dl_get_tramp_got_size): New proto.
8606 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
8607 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
8608 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
8609 * include/grub/efi/api.h: Skip call wrappers on ia64.
8610 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
8611 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
8612 * include/grub/elf.h (ELF_ST_INFO): New definition.
8613 * include/grub/ia64/efi/kernel.h: New file.
8614 * include/grub/ia64/efi/memory.h: Likewise.
8615 * include/grub/ia64/efi/time.h: Likewise.
8616 * include/grub/ia64/kernel.h: Likewise.
8617 * include/grub/ia64/setjmp.h: Likewise (from glibc).
8618 * include/grub/ia64/time.h: New file.
8619 * include/grub/ia64/types.h: Likewise.
8620 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
8621 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
8622 New protos.
8623 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
8624 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8625 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
8626 * util/grub-mkimage.c (image_target_desc): New field pe_target.
8627 All users updated.
8628 (EFI64_HEADER_SIZE): New definition. All users updated.
8629 (image_targets): Add ia64-efi.
8630 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
8631 jumpers_addr. All users updated.
8632 Create function descriptors.
8633 (count_funcs): New function.
8634 (unaligned_uint32): New struct.
8635 (MASK20): New definition.
8636 (MASK19): Likewise.
8637 (MASKF21): Likewise.
8638 (add_value_to_slot_20b): New function.
8639 (add_value_to_slot_21_real): Likewise.
8640 (add_value_to_slot_21): Likewise.
8641 (ia64_kernel_trampoline): New struct.
8642 (nopm): New variable.
8643 (jump): Likewise.
8644 (make_trampoline): New function.
8645 (relocate_addresses): Handle ia64.
8646 (make_reloc_section): Likewise.
8647 (load_image): Likewise.
8648
983b414d
VS
86492011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
8652 warning. Move variables before code while on it.
8653
5d063cdc
VS
86542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 Fuloong support.
8657
8658 * configure.ac: Rename yeeloong platform to loongson. All users updated.
8659 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
8660 * grub-core/boot/mips/loongson/fuloong.S: New file.
8661 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
8662 Explicitly init CS5536.
8663 [FULOONG]: Don't use serial until CS5536 is available.
8664 Set GPIO based on dumps.
8665 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
8666 [FULOONG]: Handle GPIO and memory controller differences.
8667 Parse machine type in $a2.
8668 * grub-core/boot/mips/startup_raw.S: Determine and save the
8669 architecture.
8670 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
8671 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
8672 init on architecture type.
8673 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8674 SIS315E. Don't init at_keyboard on fuloong.
8675 (grub_halt): Support Fuloong.
8676 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
8677 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
8678 (loongson_machtypes): New array.
8679 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
8680 type.
8681 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
8682 config. All users updated. Handle CS5536 serial.
8683 * grub-core/term/serial.c (grub_serial_register): Conditionalise
8684 default port on machine type. Register serial as inactive.
8685 * grub-core/video/sis315pro.c: New file.
8686 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
8687 definition.
8688 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
8689 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
8690 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
8691 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
8692 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
8693 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
8694 to ...
8695 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
8696 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
8697 definition.
8698 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
8699 (grub_arch_machine): New extern var.
8700 * include/grub/mips/loongson/serial.h
8701 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
8702 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
8703 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
8704 (GRUB_MACHINE_SERIAL_PORT0): ... this.
8705 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
8706 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
8707 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
8708 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
8709 * include/grub/term.h (grub_term_register_input_inactive): New inline
8710 function.
8711 (grub_term_register_output_inactive): Likewise.
8712 * include/grub/video.h (grub_video_driver_id): New value
8713 GRUB_VIDEO_DRIVER_SIS315PRO.
8714 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
8715 New field "names". All users updated.
8716 New field value IMAGE_FULOONG_FLASH.
8717 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
8718
6ada82d1
JU
87192011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
8720
8721 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
8722 and add some clarification.
8723
90c571a4
VS
87242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
8727 platforms if kernel is compressed.
8728
de04eecf
VS
87292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
8732 unused modules since currently referrence counter isn't reliable and
8733 there isn't much memory to recover there anyway.
8734
57688121
VS
87352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8736
8737 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
8738 rather than resetting it to allow modules to reference themselves
8739 in init.
8740
3d2c7e35
VS
87412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
8744 counter on dependencies since grub_dl_unref already handles this.
8745
b25db218
VS
87462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
8749 on error if not already done.
8750
25a45338
VS
87512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 Fix few potential memory misusage.
8754
8755 * grub-core/font/font.c (load_font_index): Don't free char_index to
8756 avoid double free.
b25db218
VS
8757 (grub_font_load): Zero-fill font at alloc for safety.
8758 Close file on error.
8759 (free_font): Free bmp_idx.
25a45338 8760
0cac83df
VS
87612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 * docs/grub.texi (Installation): Fix several outdated claims.
8764
2217a143
VS
87652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 Handle module_license on windows.
8768
8769 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
8770 sections shifted.
8771 (insert_string): Make argument const char * instead of char *.
8772 (write_section_data): Handle long section names.
8773 Handle module_license.
8774
d4de6b01
VS
87752011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
8778 handle class-free menuentries.
8779 (grub_normal_add_menu_entry): Add a check to be sure.
8780
4c2a3b43
VS
87812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
8784 PgUp and PgDown.
8785
85c6210f
VS
87862011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * configure.ac: Bump version to 1.99.
8789
36084912
VS
87902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 Give ATA device a bit more time on first try in order to allow disks
8793 to spin up.
8794
8795 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
8796 if dev->present is 1. Reset dev->present on failure.
8797 (grub_ata_device_initialize): Set dev->present to 1.
8798 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
8799 (grub_ata_device): New member 'present'.
8800
bda0e219
VS
88012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8802
8803 * util/grub-mkimage.c (generate_image): Update hash.
8804
19e1c41b
VS
88052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 Flush caches on DMA memory.
8808
8809 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
8810 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
8811 (grub_dma_free): Likewise.
8812 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
8813
91bbcc0c
VS
88142011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
8817 to avoid asm treating ld and sd as macros.
8818
60ddfad3
VS
88192011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8820
8821 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
8822 decompressor.
8823
a298aa04
VS
88242011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
8827 grub_decompress_core since later would fail if grub_decompress_core
8828 is too far.
8829
9b44feca
VS
88302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8831
8832 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
8833 R_MIPS_JALR since it's used by newer compiler.
8834
56dbe7b4
VS
88352011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
8838
52856af2
VS
88392011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
8842 file_path to 0 for surety.
8843 (grub_chainloader_boot): Set exit_data to NULL.
8844 Unset the loader once done.
8845 (grub_cmd_chainloader): Fix confusing error message if file is empty.
8846
9c9bfc6d
VS
88472011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
8850 unknown key into a dprintf.
8851
dd94a3df
VS
88522011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
8855 on first non-existant partition.
8856
fa68d99c
VS
88572011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
8860 openning fails.
8861 Reported by: Mark Korenberg.
8862
157effb7
VS
88632011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
8866 overflow.
8867
ea75312f
VS
88682011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * util/grub-mkimage.c (main): Explicitely flush and sync the output
8871 before closing to ensure that it will be readable by grub-setup.
8872
072b5d31
VS
88732011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
8876 (devpath_1): Use MAKE_PIWG_PATH.
8877 (devpath_2): Likewise.
8878 (devpath_3): Likewise.
8879 (devpath_4): Likewise.
8880 (devpath_5): Likewise.
8881 (devpath_6): Likewise.
8882
8883 The appleldr.mod was checked that to be binary identical to previous
8884 version.
8885
7fae0051
Z
88862011-05-05 Zach <mikezackles>
8887
8888 Support 2010 Macbooks.
8889
8890 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
8891 (devs): Add devpath_6.
8892
7c515bee
VS
88932011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
8896 /dev/random. /dev/urandom is good enough for our purposes (salting).
8897
ed660bd8
VS
88982011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
8901
ee5614b7
VS
89022011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
8905 hexadecimal.
8906
664889a6
VS
89072011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
8910 and not 0 on failure.
8911
bd405bbc
CW
89122011-05-03 Colin Watson <cjwatson@ubuntu.com>
8913
8914 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
8915 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
8916 disk; otherwise grub_fs_probe will not fall back to the next
8917 filesystem.
8918 (grub_pxefs_open): Likewise, for consistency.
8919 Reported and tested by: Ezekiel Grave.
8920
4ebff753
CW
89212011-05-03 Colin Watson <cjwatson@ubuntu.com>
8922
8923 * tests/partmap_test.in: Don't hardcode path to parted.
8924 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
8925
8f942553
CW
89262011-05-01 Colin Watson <cjwatson@ubuntu.com>
8927
8928 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
8929 of `ls' to find out which devices are available.
8930
3c62402d
VS
89312011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8932
8933 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
8934 than source address for efi mmap buffer.
8935
723f63f2
VS
89362011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
8939 wrong action on non-detecting the magic.
8940
68797f92
VS
89412011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
8944 already supplied by another part of the module (fixes compilation on
8945 FreeBSD).
8946
6be8715d
VS
89472011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
8950 match the one used by mdadm.
8951
e91dba5b
CW
89522011-04-21 Colin Watson <cjwatson@ubuntu.com>
8953
8954 * po/README: Add instructions for creating po/LINGUAS.
8955
c85140b3
CW
89562011-04-21 Colin Watson <cjwatson@ubuntu.com>
8957
8958 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
8959 #551428.
8960
8961 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
8962 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
8963 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
8964 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8965 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
8966 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
8967 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
8968 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
8969 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
8970 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8971 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
8972 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
8973 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
8974 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
8975 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
8976 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
8977 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
8978 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
8979 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
8980 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
8981 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
8982 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
8983
92051871
CW
89842011-04-21 Colin Watson <cjwatson@ubuntu.com>
8985
8986 * grub-core/kern/emu/getroot.c
8987 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
8988 test that was incorrectly reintroduced in r3214.
8989 Reported by: Ian Dall. Fixes Savannah bug #33133.
8990
b13f79a4
CW
89912011-04-21 Colin Watson <cjwatson@ubuntu.com>
8992
8993 Fix stack pointer handling in 16-bit relocator.
8994
8995 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
8996 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
8997 Fixes Ubuntu bug #683904.
8998
9b710a88
VS
89992011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 * configure.ac: Bump version to 1.99~rc2.
9002
d97e7b59
VS
90032011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
9006 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
9007 * grub-core/lib/x86_64/setjmp.S: Likewise.
9008 * grub-core/lib/mips/setjmp.S: Likewise.
9009 * grub-core/lib/powerpc/setjmp.S: Likewise.
9010 * grub-core/lib/sparc64/setjmp.S: Likewise.
9011
0624551c
VS
90122011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
9015 * grub-core/lib/efi/datetime.c: Likewise.
9016
e8f28d4c
VS
90172011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
9020 New function.
9021 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
9022 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
9023 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
9024
bba79a15
VS
90252011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
9028 bitmap.
9029 (grub_gfxterm_term_init): Likewise.
9030
abc474ef
VS
90312011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 Take into account the decorations the computing menu entry width.
9034
9035 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
9036 (grub_gfxmenu_create_box): Register get_border_width.
9037 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
9038 if available.
9039 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
9040 get_border_width.
9041
e74b3947
EP
90422011-04-18 Endres Puschner <code@e7p.de>
9043
9044 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
9045 Don't skip first class.
9046
34faa595
VS
90472011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
9050 chunks.
9051 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
9052
93a777e3
VS
90532011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 Complete 64-bit division support.
9056
9057 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
9058 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
9059 * include/grub/misc.h (grub_divmod64): Rename to ...
9060 (grub_divmod64_full): ... this.
9061 (grub_divmod64): New inline function.
9062
a5102d94
VS
90632011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * util/grub-mkimage.c (generate_image): Add forgotten comma.
9066
f3fb7b36
VS
90672011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
9070 performing the necessary test.
9071
9ac718b0
VS
90722011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9073
9074 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
9075 (kfreebsd.elf): Likewise.
9076 (pc-chainloader.elf): Likewise.
9077 (ntldr.elf): Likewise.
9078
50d2cc5a
VS
90792011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 Identify RAID by its UUID rather than (guessed) name.
9082
9083 * grub-core/disk/raid.c (ascii2hex): New function.
9084 (grub_raid_open): Accept mduuid/%s specification.
9085 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
9086 (get_mdadm_uuid): ... this.
9087 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
9088
e03f7bea
VS
90892011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
9092 to negative size.
9093
e74c3112
CW
90942011-04-13 Colin Watson <cjwatson@ubuntu.com>
9095
9096 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
9097 btrfs subvolume.
9098 * util/grub.d/20_linux_xen.in: Likewise.
9099
78fa584f
CW
91002011-04-13 Colin Watson <cjwatson@ubuntu.com>
9101
9102 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
9103 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
9104
9105 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9106 Build a list of relevant visible mounts using the mnt_id and
9107 parent_mnt_id fields, and then scan that list at the end.
9108
9d5f8162
CW
91092011-04-12 Colin Watson <cjwatson@ubuntu.com>
9110
9111 * docs/grub.texi (normal): New section.
9112 (normal_exit): New section.
9113 (Embedded configuration): Add reference to normal.
9114 (GRUB only offers a rescue shell): Likewise.
9115 * docs/grub-dev.texi (Error Handling): Fix typo.
9116
09a9d66f
CW
91172011-04-12 Colin Watson <cjwatson@ubuntu.com>
9118
9119 * NEWS: Drop obsolete entry about probe-only btrfs support.
9120
0c676933
CW
91212011-04-12 Colin Watson <cjwatson@ubuntu.com>
9122
9123 * util/import_gcry.py: Fix typo.
9124
ec9f5e0d
VS
91252011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 * NEWS: Add btrfs support.
9128
fe6b2cba
VS
91292011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
91302011-04-11 Colin Watson <cjwatson@ubuntu.com>
9131
9132 BtrFS support. Written by me (Vladimir) with important bugfixes and
9133 even more important testing by Colin.
9134
9135 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9136 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9137 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9138 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9139 mem_input_off and mem_input. All users updated to accept in-RAM input.
9140 (gzio_seek): New function.
9141 (test_zlib_header): Likewise.
9142 (grub_gzio_read): Likewise.
9143 (grub_zlib_decompress): Likewise.
9144 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9145 Accept partial and non-virtual mounts.
9146 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9147 avoid receiving /dev/dm-X as device.
9148 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9149 Handle bind and partial mounts.
9150 * grub-core/lib/crc.c: New file.
9151 * include/grub/deflate.h: Likewise.
9152 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9153 proto.
9154 * include/grub/lib/crc.h: New file.
9155
e745cf0c
VS
91562011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 Implement automatic module license checking according to new GNU
9159 guidelines.
9160
9161 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9162 (grub_dl_load_core): Use grub_dl_check_license.
9163 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9164 (GRUB_MOD_LICENSE): Likewise.
9165 (GRUB_MOD_DUAL_LICENSE): Likewise.
9166 All modules updated.
9167
2a9bc016
CW
91682011-04-11 Colin Watson <cjwatson@ubuntu.com>
9169
9170 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9171 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9172 loaders.
9173 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
9174
8a3bc88e
VS
91752011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
9178
af869a4a
VS
91792011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9180
9181 * util/grub-fstest.c (read_file): Report GRUB error if file opening
9182 failed.
9183
9ee8d94f
VS
91842011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 * grub-core/kern/file.c (grub_file_open): Don't take into account the
9187 parenthesis in the middle of the filename.
9188
b01abe3e
VS
91892011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
9192 rather than trying to put initrd way too high.
9193 Reported by: Ryan Lortie <desrt@desrt.ca>
9194
335bda1e
VS
91952011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
9198 improperly removed string.
9199
5ca1a64d
VS
92002011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
9203 is_disk.
9204 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
9205 (open_device) Likewise.
9206 (grub_util_biosdisk_close): Likewise.
d8ce9995 9207 Reported by: Mark Korenberg.
5ca1a64d 9208
cbac5b1e
AK
92092011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
9210
9211 * util/grub-mkconfig_lib.in: Add missing quotes.
9212
088cdb65
CW
92132011-04-10 Colin Watson <cjwatson@ubuntu.com>
9214
9215 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
9216 is NULL.
9217
8b8a81fa
VS
92182011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 Dynamically count the number of lines for the lower banner.
9221
9222 * grub-core/normal/menu_entry.c (per_term_screen): New member
9223 num_entries.
9224 (print_down): Use num_entries.
9225 (update_screen): Likewise.
9226 (grub_menu_entry_run): Set num_entries.
9227 * grub-core/normal/menu_text.c (menu_viewer_data): New member
9228 num_entries.
9229 (grub_print_message_indented): Move real part to ...
9230 (grub_print_message_indented_real): ... here. Additional argument
9231 dry_run.
9232 (draw_border): Additional argument num_entries.
9233 (print_message): Additional argument dry_run.
9234 (print_entries): Receive menu viewer data.
9235 (grub_menu_init_page): New argment num_entries.
9236 (menu_text_set_chosen_entry): Use num_entries.
9237 (grub_menu_try_text): Likewise.
9238 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
9239 All users updated.
9240 (grub_ucs4_count_lines): New function.
9241 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
9242 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
9243 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
9244 (grub_term_border_height): Likewise.
9245 (grub_term_num_entries): Likewise.
9246
277f955b
VS
92472011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
9250 Remove now unused string.
9251
536ce85a
CW
92522011-04-09 Colin Watson <cjwatson@ubuntu.com>
9253
9254 * docs/grub-dev.texi (Finding your way around): Update for 1.99
9255 build system.
9256 (Getting started): GRUB is developed in Bazaar now, not Subversion.
9257
9258 (Comment): Fix typo.
9259 (Getting started): General copy-editing.
9260 (Typical Development Experience): Likewise.
9261 (Error Handling): Likewise.
9262 (Video API): Likewise.
9263
2cf09e32
CW
92642011-04-09 Colin Watson <cjwatson@ubuntu.com>
9265
9266 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
9267 throughout.
9268
1ec652f4
VS
92692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9270
9271 * util/grub-mkimage.c (main): Handle special naming of yeeloong
9272 directory.
9273
2c583728
CW
92742011-04-08 Colin Watson <cjwatson@ubuntu.com>
9275
9276 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
9277 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
9278 "development".
9279
d7a565e9
VS
92802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
9283 grub_strcpy since the lines aren't necessarily 0-terminated.
9284
7c2e4909
VS
92852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9286
9287 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
9288 root on legacy.
9289
34c09785
VS
92902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/commands/probe.c (options): Argument to set isn't optional.
9293 (GRUB_MOD_INIT): DEVICE isn't optional.
9294
6a6f8058
VS
92952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
9298 word on new line if it's too long anyway. Fixes a hang.
9299
2e335e90
VS
93002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
9303 const.
9304 * util/grub-setup.c (main): Reuse md device name if available.
9305 * util/raid.c (grub_util_raid_getmembers): Receive device name and
9306 not GRUB name as argument.
9307 Based on patch by: Florian Wagner <fwagner>.
9308
10a7a867
VS
93092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9312 Place mbi on low memory for better compatibility.
9313
7a3d6cd9
VS
93142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
9317
18dd6b47
VS
93182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
93192011-04-08 Colin Watson <cjwatson@ubuntu.com>
9320
9321 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 9322 * conf/Makefile.common: Likewise.
18dd6b47 9323
3c0e3f14
VS
93242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9325
f7148863
VS
9326 * grub-core/normal/menu.c: Add missing include.
9327
93282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 9331
6d1fa41f
MZ
93322011-04-08 Martin Zuther <mzuther@mzuther.de>
9333
9334 * util/grub-mkconfig.in: Ignore emacsen backup.
9335
478182a8
VS
93362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9337
9338 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
9339 on open.
9340 (grub_util_biosdisk_close): Likewise.
9341
72a89a54
VS
93422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
9345 const attribute and use grub_isdigit.
9346
b5ebecfa
A
93472011-04-06 Andrey <dev_null@ukr.net>
9348
9349 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
9350 gcc warning.
9351
7755f66e
VS
93522011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
9355 useful grub_dprintf's.
9356
461121ff
VS
93572011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
9360
2a961775
VS
93612011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
9364
adf594cc
VS
93652011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 Output errors if theme loading failed.
9368
9369 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
9370 grub_gfxterm_fullscreen on error paths to ...
9371 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
9372 theme loading error.
9373
665900a3
VS
93742011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
9377 space for older compilers.
9378 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9379
a562b479
VS
93802011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
9383 and report them as not RAID members since they are useless for GRUB.
9384 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9385
850e9373
VS
93862011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9387
9388 Increase LVM implementation robustness in order not to crash on
9389 configurations like pvmove. Previously code assumed that in some places
9390 only lvs or only pvs are used whereas it seems that they are used
9391 interchangeably.
9392
9393 * grub-core/disk/lvm.c (read_node): New function.
9394 (read_lv): Use read_node.
9395 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
9396 Match volumes only at the end when all lvs are found. Take both
9397 pvs (first) and lvs (second) into account.
9398 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
9399 mirror_* into node_*. All users updated.
9400 (grub_lvm_stripe): Merge this ...
9401 (grub_lvm_mirror): ... and this ...
9402 (grub_lvm_node): ... into this. All users updated.
9403
6f332153
VS
94042011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
9407 of function to allow further scanning for LVMs.
9408
829ea451
VS
94092011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
9412 on failed seek as it breaks open fd reusage.
9413
09ceb9a5
VS
94142011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 * util/grub-install.in: Add a recommendation to use --recheck before
9417 reporting bugs.
9418
67e11623
VS
94192011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
9422 are obtained.
9423
caee5efd
VS
94242011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9425
9426 GRUB developper manual based on existing Internals section and
9427 contributions by the various authors with active copyright assignment.
9428
9429 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
9430 * docs/font_char_metrics.png: New file.
9431 * docs/font_char_metrics.txt: Likewise.
9432 * docs/grub-dev.texi: Likewise.
9433 * docs/grub.texi (Internals): Move from here ...
9434 * docs/grub-dev.texi: ... here.
9435
2cccc747
CW
94362011-04-01 Colin Watson <cjwatson@ubuntu.com>
9437
9438 Store the loopback device as data on loopback grub_disk structures,
9439 rather than the file it points to. This fixes use of freed memory
9440 if an existing loopback device is replaced.
9441
9442 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
9443 disk->data, not dev->file.
9444 (grub_loopback_read): Adjust file assignment to match.
9445 Fixes Ubuntu bug #742967.
9446
186ae367
CW
94472011-04-01 Colin Watson <cjwatson@ubuntu.com>
9448
9449 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
9450 when replacing an existing device.
9451
cfed2ad0
VS
94522011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
9455 memory corruptions.
9456
9457 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
9458 unsigned.
9459 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
9460 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
9461 (grub_jfs_read_inode): Likewise.
9462 (grub_jfs_opendir): Likewise. Remove now useless casts.
9463 (grub_jfs_getent): Likewise.
9464 Make ino a grub_uint32_t rather than int.
9465 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
9466 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
9467 division and module with bit operations.
9468 (grub_jfs_find_file): Make ino a grub_uint32_t.
9469 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
9470
05d2ed32
CW
94712011-04-01 Colin Watson <cjwatson@ubuntu.com>
9472
9473 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
9474 warning. (This was in fact always initialised before use, but GCC
9475 wasn't smart enough to prove that.)
9476 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9477
91dc6073
VS
94782011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
9481 stack alignment.
9482 (efi_wrap_1): Likewise.
9483 (efi_wrap_2): Likewise.
9484 (efi_wrap_3): Likewise.
9485 (efi_wrap_4): Likewise.
9486 (efi_wrap_5): Likewise.
9487 (efi_wrap_6): Likewise.
9488 (efi_wrap_10): Likewise.
9489 Based on information by: Red Hat/Peter Jones.
9490
a8afc1d1
CW
94912011-03-31 Colin Watson <cjwatson@ubuntu.com>
9492
9493 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
9494 set-but-not-used variable.
9495
a826cc7d
CW
94962011-03-31 Colin Watson <cjwatson@ubuntu.com>
9497
9498 * docs/grub.texi (Simple configuration): Be more explicit about
9499 GRUB_DEFAULT, and add an example.
9500 Reported by: Leslie Rhorer.
9501
875b67ba
CW
95022011-03-30 Colin Watson <cjwatson@ubuntu.com>
9503
9504 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
9505 shell".
9506
fd7cd914
AS
95072011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9508
9509 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
9510 * util/grub.d/20_linux_xen.in: Likewise.
9511
090b1b6a
VS
95122011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9513
9514 * util/grub.d/10_linux.in: Try alternative config filenames where
9515 we parse config file.
9516 * util/grub.d/20_linux_xen.in: Likewise.
9517
baad885c
AS
95182011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9519
9520 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
9521 * util/grub.d/20_linux_xen.in: Likewise.
9522
241e41f5
VS
95232011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 * grub-core/disk/raid.c (insert_array): Add few potentially
9526 useful grub_util_info.
9527 (grub_raid_register): Likewise.
9528
56445fb2
VS
95292011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
9532 Preserve partition number in mdadm code path.
9533
c871b1c6
VS
95342011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
9537 few potentially useful grub_util_info.
9538
5e631b4f
CW
95392011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
9542
2d5d0333
CW
95432011-03-30 Colin Watson <cjwatson@ubuntu.com>
9544
9545 * docs/grub.texi (default): Use @example rather than nested
9546 itemized lists to avoid breaking gendocs.
9547
3d7ed04e
CW
95482011-03-30 Colin Watson <cjwatson@ubuntu.com>
9549
9550 * docs/grub.texi (Future): Update.
9551
abf04200 95522011-03-30 Colin Watson <cjwatson@ubuntu.com>
9553
9554 * docs/grub.texi (Environment): New chapter.
9555 (Changes from GRUB Legacy): Link to "Environment block" section for
9556 details of limitations.
9557 (Simple configuration): Likewise. Link to documentation of gfxmode
9558 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
9559 respectively.
9560 (Shell-like scripting): Note that normal variables are stored in the
9561 environment.
9562 (gettext): Link to documentation of lang and locale_dir.
9563 (list_env): New section.
9564 (load_env): New section.
9565 (save_env): New section.
9566
9567 (Reporting bugs): Fix typo.
9568
e1ad0edd
VS
95692011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
9572 the example.
9573
5d803174
VS
95742011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 * grub-core/term/at_keyboard.c (set_scancodes)
9577 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
9578
2a2da1d0
CW
95792011-03-30 Colin Watson <cjwatson@ubuntu.com>
9580
9581 * docs/grub.texi (Menu-specific commands): Remove some semantics
9582 that were true in GRUB Legacy but not in GRUB 2.
9583 (submenu): New section.
9584 (false): New section.
9585 (read): New section.
9586 (true): New section.
9587
a7527639
CW
95882011-03-30 Colin Watson <cjwatson@ubuntu.com>
9589
9590 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
9591
95922011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
9593
9594 * docs/grub.texi (Simple configuration): Explain some of the
9595 current limitations of grub-mkconfig.
8a748df2 9596 Reported by: Leslie Rhorer.
e30af029 9597
fc858482
VS
95982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 Old macs search for boot.efi rather than for bootia32.efi.
9601
9602 * util/grub-install.in: Copy bootia32.efi to boot.efi.
9603 * util/grub-mkrescue.in: Likewise.
9604 Suggested by: Peter Jones.
9605
e1eb511d
VS
96062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
9609
70e75364
VS
96102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
9613 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
9614 (grub_lvm_mirror): New struct.
9615 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
9616 (grub_lvm_iterate): Iterate only visible volumes.
9617 (grub_lvm_read): Factor out to ..
9618 (read_lv): ... this. Support mirrors.
9619 (grub_lvm_read): New wrapper function.
9620 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
9621 stripped or mirrored.
9622
fc18f6a3
VS
96232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
9626
5c650f4c
CW
96272011-03-29 Colin Watson <cjwatson@ubuntu.com>
9628
9629 * docs/grub.texi (loopback): New section.
9630
61d7156b
CW
96312011-03-29 Colin Watson <cjwatson@ubuntu.com>
9632
9633 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
9634 removed -p option.
9635
994b8264
CW
96362011-03-29 Colin Watson <cjwatson@ubuntu.com>
9637
9638 * docs/grub.texi (BIOS installation): New section, partly based on
9639 previous text in other sections.
9640 (Installing GRUB using grub-install): Replace BIOS discussion with a
9641 cross-reference.
9642 (Images): Likewise.
9643
9e4d19e0
VS
96442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * grub-core/kern/emu/hostdisk.c (find_partition_start)
9647 [HAVE_DIOCGDINFO]: Add safety checks.
9648
a307c0b2
VS
96492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
9652 per default compiled in kernel and prior to 8.0 isn't shipped at all.
9653
b4db4f39
CW
96542011-03-29 Colin Watson <cjwatson@ubuntu.com>
9655
9656 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
9657 real_sb->size is zero (e.g. RAID-0), get the disk size from
9658 real_sb->data_size instead.
9659 Fixes Ubuntu bug #743136.
9660
35e5f84c
VS
96612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
9664 printf clauses for printing size and start.
9665
d2e29d81
VS
96662011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9667
9668 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
9669 Reported and tested by: Timothy Nikkel.
9670
ed5587af
VS
96712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9672
9673 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
9674 (dirty_region_add_real): ... this.
9675 (dirty_region_add): Don't discard margin refresh when performing
9676 scheduled repaint.
9677
a1dc717c
VS
96782011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9679
9680 * grub-core/lib/relocator.c (allocate_regstart)
9681 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
9682 terminals are capabple of malloc-free operation.
9683 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9684 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9685
9f3677d3
VS
96862011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
9687
9688 * util/grub-setup.c: Copy the partition table zone if floppy support
9689 is disabled, even if no partition table is found.
9690
9691 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
9692 during POST if an invalid partition table is contained in the PBR
9693 of the active partition when GRUB is installed to a partition.
9694
24148725
CW
96952011-03-28 Colin Watson <cjwatson@debian.org>
9696
9697 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
9698 comment.
9699
f329eda7
CW
97002011-03-28 Colin Watson <cjwatson@debian.org>
9701
9702 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
9703 to be specific about what kind of RAID device we're scanning for.
9704
c482ad98
SG
97052011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
9706
9707 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
9708 return freed string.
9709
5ee04984
VS
97102011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9711
9712 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
9713
f4727da9
VS
97142011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9715
9716 Use libgeom on FreeBSD to detect partitions.
9717
9718 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
9719 (grub-mkrelpath): Likewise.
9720 (grub-script-check): Likewise.
9721 (grub-editenv): Likewise.
9722 (grub-mkpasswd-pbkdf2): Likewise.
9723 (grub-fstest): Likewise.
9724 (grub-mkfont): Likewise.
9725 (grub-mkdevicemap): Likewise.
9726 (grub-probe): Likewise.
9727 (grub-setup): Likewise.
9728 (grub-ofpathname): Likewise.
9729 (grub-mklayout): Likewise.
9730 (example_unit_test): Likewise.
9731 (grub-menulst2cfg): Likewise.
9732 * grub-core/Makefile.core.def (grub-emu): Likewise.
9733 (grub-emu-lite): Likewise.
9734 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
9735 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
9736 define HAVE_DIOCGDINFO.
9737 (follow_geom_up) [FreeBSD]: New function.
9738 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
9739 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
9740 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
9741 unconditionally of HAVE_DIOCGDINFO.
9742
82fe6c75
VS
97432011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 Fix FreeBSD compilation problem.
9746
9747 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
9748 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
9749
4c6c9431
CW
97502011-03-24 Colin Watson <cjwatson@ubuntu.com>
9751
9752 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
9753 Switch back to page zero before loading a kernel, since some kernel
9754 drivers expect that.
9755 Thanks to: Felix Kuehling.
9756
c7064d94
VS
97572011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
9760 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
9761 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
9762
3f71cded
VS
97632011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
9766 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
9767
ef6de21a
VS
97682011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
9771 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
9772 malloc is disabled.
9773
8bc66a2c
VS
97742011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
9777 for modules headers when counting the needed allocation size.
9778
5657722c
VS
97792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
9782 if no ASCII character is found to prevent crash.
9783
41a85f55
AK
97842011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
9785
9786 * grub-core/video/bitmap.c (match_extension): Ignore case.
9787
59e1e5f1
VS
97882011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
9791
bd4d051a
VS
97922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * grub-core/script/parser.y: Declare "time" as valid argument.
9795
bae7fcc1
PJ
97962011-03-23 Peter Jones <pjones@redhat.com>
9797
9798 Fix incorrect assert failure reporting.
9799
9800 * grub-core/tests/example_functional_test.c (example_test): Add
9801 a failure comment.
9802 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
9803 (failure_start): ...this. Check that malloc succeeded.
9804 Don't call xvasprintf. Return failure struct.
9805 (failure_append_vtext): New function.
9806 (failure_append_text): Likewise.
9807 (add_failure): Likewise.
9808 (grub_test_assert_helper): Likewise.
9809 * include/grub/test.h (grub_test_assert_helper): New declaration.
9810 (grub_test_assert): Macro rewritten.
9811
537dc9be
VS
98122011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
9815
fa3e01bf
VS
98162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9817
9818 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
9819
b1d28404
VS
98202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
9823 into GRUB-style one.
9824
2e3e2e09
VS
98252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
9828 error and not grub_errno.
9829 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
9830
ed57e557
VS
98312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9832
9833 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
9834 GRUB_USB_SPEED_NONE in case of failure and not the error code.
9835
d1611f01
VS
98362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9837
9838 * grub-core/efiemu/i386/pc/cfgtables.c
9839 (grub_machine_efiemu_init_tables): Make declaration a prototype.
9840 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
9841 (grub_xnu_unlock): Likewise.
9842 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
9843
7d4e39d6
VS
98442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
9847 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
9848 * grub-core/commands/hashsum.c (aliases): Likewise.
9849 * grub-core/commands/setpci.c (pci_registers): Likewise.
9850 * grub-core/disk/usbms.c (attach_hook): Likewise.
9851 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
9852 (zio_checksum_table): Likewise.
9853 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
9854 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
9855 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
9856 * grub-core/lib/relocator.c (leftovers): Likewise.
9857 (extra_blocks): Likewise.
9858 * grub-core/loader/i386/bsd.c (relocator): Likewise.
9859 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
9860 (modules_last): Likewise.
9861 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
9862 (devices): Likewise.
9863 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
9864 (modules_last): Likewise.
9865 * grub-core/normal/auth.c (users): Likewise.
9866 * grub-core/normal/context.c (initial_menu): Likewise.
9867 (current_menu): Likewise.
9868 * grub-core/normal/crypto.c (crypto_specs): Likewise.
9869 * grub-core/term/serial.c (grub_serial_ports): Likewise.
9870 (grub_serial_terminfo_input_template): Likewise.
9871 (grub_serial_terminfo_output_template): Likewise.
9872 (grub_serial_terminfo_input): Likewise.
9873 (grub_serial_terminfo_output): Likewise.
9874 (registered): Likewise.
9875 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
9876
40fc4659
VS
98772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
9880 grub_video_mode_type_t.
9881 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
9882 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
9883 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
9884
2da48d28
VS
98852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9886
9887 * util/grub-install.in: Correct the x86-64 name as x86_64.
9888
9b43bf39
CW
98892011-03-11 Colin Watson <cjwatson@ubuntu.com>
9890
9891 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
9892 initial chunk read from the kernel always includes GRUB's multiboot
9893 header, which is now outside the first sector.
9894
be1a7ce0
CW
98952011-03-09 Colin Watson <cjwatson@ubuntu.com>
9896
9897 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
9898 cached mmap_size, so that this works correctly when called multiple
9899 times.
9900 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
9901
83a3c48d
CW
99022011-03-09 Colin Watson <cjwatson@ubuntu.com>
9903
9904 * docs/grub.texi (Simple configuration): Tidy up formatting.
9905
57d75699
SJ
99062011-03-07 Szymon Janc <szymon@janc.net.pl>
9907
9908 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
9909 Set-but-not-used variable removed.
9910
028501a0
VS
99112011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 Workaround yet another IEEE1275 bug.
9914
9915 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9916 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
9917 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
9918 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
9919 is set.
9920 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9921 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
9922
d998657d
VS
99232011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
9926 error.
9927
fee7cdd4
CW
99282011-02-11 Colin Watson <cjwatson@ubuntu.com>
9929
9930 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
9931 empty, since in that case we can only generate either nothing or a
9932 syntactically invalid configuration file.
9933 Reported by: Michal Suchanek. Fixes Debian bug #612898.
9934
97286eb5
CW
99352011-02-09 Colin Watson <cjwatson@ubuntu.com>
9936
9937 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
9938 (Making a GRUB bootable CD-ROM): Likewise.
9939 (Invoking grub-mkrescue): New section.
9940 Reported by: Yann Dirson. Fixes Debian bug #612585.
9941
22b28eb3
CW
99422011-02-09 Colin Watson <cjwatson@ubuntu.com>
9943
9944 * util/grub-install.in: Remove unnecessary brackets from tr
9945 arguments.
9946 * util/grub.d/10_hurd.in: Likewise.
9947 * util/grub.d/10_kfreebsd.in: Likewise.
9948 * util/grub.d/10_linux.in: Likewise.
9949 * util/grub.d/20_linux_xen.in: Likewise.
9950 Reported by: Jamie Heilman. Fixes Debian bug #612564.
9951
7e735e43
CW
99522011-02-08 Colin Watson <cjwatson@ubuntu.com>
9953
9954 * include/grub/file.h (not_easly_seekable): Rename to ...
9955 (not_easily_seekable): ... this. Update all users.
9956
800f1881
CW
99572011-01-28 Colin Watson <cjwatson@ubuntu.com>
9958
9959 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
9960 grub-mkrescue.
9961
3281d3d6
VS
99622011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9963
9964 * util/grub-mkimage.c (generate_image): Refuse to create the images
9965 bigger than the actual flash (512K) in Loongson machines. 512K is also
9966 the biggest chip supported by them.
9967
3533413c
VS
99682011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
9971
73ae4f4f
VS
99722011-01-22 Anthony DeRobertis <anthony@derobert.net>
9973
9974 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
9975 super_offset field.
9976
37f4f608
VS
99772011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * util/grub-install.in: Ignore install device on platforms
9980 where it doesn't make sense. Always use UUIDs except on pc, efi and
9981 sparc64.
9982 Reported by: Daniel Kahn Gillmor.
9983
03a4ccb5
VS
99842011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9985
9986 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
9987
ffc8f4d8
VS
99882011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
9991 (iterate_real): Don't rely on partition being non-NULL.
9992
80f23be7
VS
99932011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
9996 supported platforms. Put a compile time assert for this rather than
9997 generate a warning with 32-bit shift.
9998
5d4f4dd5
VS
99992011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10000
10001 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
10002 logical expression more readable.
10003
e489601a
VS
100042011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
10007 even if some elements have a name.
10008 Reported by: Alexander GQ Gerasiov.
10009
96e0a6ea
CW
100102011-01-22 Colin Watson <cjwatson@ubuntu.com>
10011
10012 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
10013 path unreadable if `grub-probe -t abstraction' fails, for example if
10014 memberlist fails on an LVM volume group.
10015 Reported by: Darius Jahandarie.
10016
81431e2b
CW
100172011-01-22 Colin Watson <cjwatson@ubuntu.com>
10018
10019 * docs/grub.texi (Simple configuration): Document
10020 GRUB_PRELOAD_MODULES.
10021
5e79d66a
CW
100222011-01-17 Colin Watson <cjwatson@ubuntu.com>
10023
10024 * .bzrignore: Remove nonexistent grub-pbkdf2.
10025
646ada34
VS
100262011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * configure.ac: Bump version to 1.99~rc1.
10029
04360337
VS
100302011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10031
10032 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
10033 for safety.
10034
46c9db88
VS
100352011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
10038 module.
10039
100402011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
10041
10042 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
10043
4fbf1852
VS
100442011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
10047 diskdevid.
10048
f1632d4d
VS
100492011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 Fix compilation on cygwin.
10052
10053 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
10054 -R .drectve on cygwin.
10055 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
10056 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
10057 (COND_CYGWIN): New condition.
10058 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
10059 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
10060 not @TARGET_OBJ2ELF@.
10061 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
10062 type to determine whether aux is to be used.
10063
0b5e127b
VS
100642011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
10067 realpath'ed device string.
10068 Handle floppy (somewhat).
10069 Issue error in unknown case rather than garbage.
10070 Reported by: Axel Beckert.
10071
173b71e9
VS
100722011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * util/grub.d/00_header.in (load_video): Handle the case when no video
10075 drivers available.
10076 Thanks to: Axel Beckert.
10077
f8f479db
VS
100782011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10079
10080 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
10081 variable. Fixes problem on big endian platforms.
10082
8fc0a245
VS
100832011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10084
10085 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
10086 It doesn't work well there.
10087
b8494fbe
VS
100882011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
10091 warning.
10092 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
10093 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
10094 counter.
10095
b44a558c
VS
100962011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10097
10098 Use alias->path rather than buggy "canon".
10099
10100 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
10101 (ofdisk_hash_add): New argument curcan. All users updated.
10102
51fa856c
CW
101032011-01-11 Colin Watson <cjwatson@ubuntu.com>
10104
10105 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
10106
9da068a5
VS
101072011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10108
10109 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10110 loadmask before doing any calculations. Use correct type for offset.
10111 (grub_linux_load64): Likewise.
10112
86205c94
CW
101132011-01-11 Colin Watson <cjwatson@ubuntu.com>
10114
10115 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10116 with NULL.
10117 (console_grub_equivalences_unshift): Likewise.
10118 Reported by: Daniel Dehennin.
10119
4531a206
VS
101202011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10121
10122 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10123 (set_env_limn_ro): Likewise.
10124 (GRUB_MOD_INIT): Likewise.
10125 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10126 ARRAY_SIZE while on it.
10127 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10128 * grub-core/normal/context.c (grub_env_export): Move from here ...
10129 * grub-core/kern/env.c (grub_env_export): ... here.
10130 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10131 prefix.
10132 * grub-core/kern/main.c (grub_main): Export root and prefix.
10133 * include/grub/env.h (grub_env_export): Export.
10134 Reported by: Seth Goldberg.
10135
45146057
VS
101362011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10139 Take into account space used by ELF sections and multiboot palette.
10140 Reported by: Grégoire Sutre.
10141
f093110b
VS
101422011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10143
10144 * BUGS: New file.
10145
3395fe52
VS
101462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10147
10148 Pass more appropriate video id to Linux.
10149
10150 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10151 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10152 fill have_vga.
10153 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10154 shift params->lfb_size.
10155 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10156
c2fa6cbb
VS
101572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10160
b3ff6ff0
VS
101612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10164 separator and pass bootpath/devid even if only one of them is available.
10165 Reported by: Seth Goldberg.
10166
ae67942e
VS
101672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10170 implementations bug on them.
10171
10172 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10173 memory.
10174 (filter_memory_map): Likewise.
10175
d570097a
VS
101762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
10179 Reported by: nebuchadnezzar.
10180
a508e776
VS
101812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
10184 Reported by: nebuchadnezzar.
10185
dcb883b1
VS
101862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 Submenu default support.
10189
10190 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
10191 auto_boot. All users updated.
10192 Declared static.
10193 Handle chosen and default with submenus.
10194 (grub_menu_execute_with_fallback): Declared static.
10195 Don't notify failure if autobooted. Upper level does it.
10196 (menuentry_eq): New function.
10197 (get_entry_number): Use menuentry_eq.
10198 (show_menu): New parameter "autobooted". All users updated.
10199 (grub_show_menu): Likewise.
10200 * include/grub/normal.h (grub_show_menu): Likewise.
10201 * include/grub/menu.h (grub_menu_execute_entry): Removed.
10202 (grub_menu_execute_with_fallback): Likewise.
10203
6fef99b4
VS
102042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 * util/grub-mklayout.c (usage): Update help text.
10207
47a77af5
VS
102082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10209
10210 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
10211
ce6bb3ee
VS
102122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 * util/grub-menulst2cfg.c (main): Trim the line.
10215
db87be2a
VS
102162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10217
10218 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
10219 (grub_machine_init): Don't check amount of low memory as reportedly
10220 INT 12h can be broken and if low memory is too low we wouldn't have
10221 gotten into grub_machine_init anyway.
10222
c49849cc
VS
102232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
10226 (grub_machine_mmap_iterate): Take low memory into account
10227
b1969b30
VS
102282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
10231 badfs.
10232 Reported by: TiCPU.
10233
cf0eaf13
VS
102342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
10237 members errors.
10238
1f060f39
GS
102392011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10240
10241 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
10242 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
10243
a21e5672
GS
102442011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10245
10246 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
10247 openbsd and netbsd types being in part_bsd module.
10248
c88172fa
VS
102492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
10252 (_FILE_OFFSET_BITS): Likewise.
10253 Reported by: Seth Goldberg.
10254
53798c4b
GS
102552011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10256
10257 * configure.ac: Check for libdevmapper header.
10258
e7121b69
VS
102592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
10262 avoid aliasing.
10263 (fzap_lookup): Likewise.
10264 (dnode_get): Likewise.
10265 (make_mdn): Likewise.
10266 (zfs_mount): Likewise.
10267 (fzap_iterate): Use temporary pointer to avoid aliasing.
10268 (grub_zfs_read): Likewise.
10269 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
10270 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
10271 pointers to avoid aliasing.
10272 (grub_cmd_xnu_kernel64): Likewise.
10273 (grub_xnu_load_driver): Likewise.
10274
fc836af9
VS
102752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
10278 aliasing warning.
10279 (grub_cmd_terminal_output): Likewise.
10280 Reported and tested by: Grégoire Sutre.
10281
f9f37648
VS
102822011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
10285 warning.
10286 Reported and tested by: Grégoire Sutre.
10287
ec1dfd63
VS
102882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * configure.ac: Do CPU substitution even if it's specified explicitly.
10291 Reported and tested by: Alain Greppin.
10292
9462775a
VS
102932011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10294
10295 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
10296 Reported and tested by: Alain Greppin.
10297
0fd48e35
VS
102982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10299
10300 Satisfy some bison versions need for inttypes.h.
10301
10302 * grub-core/lib/posix_wrap/inttypes.h: New file.
10303 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
10304 (int16_t): Likewise.
10305 (int32_t): Likewise.
10306 (int64_t): Likewise.
10307 Reported and tested by: Alain Greppin.
10308
43f1bc83
VS
103092011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10310
10311 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
10312 Silence spurious warning.
10313 Reported and tested by: Alain Greppin.
10314
64d1f041
SJ
103152011-01-07 Szymon Janc <szymon@janc.net.pl>
10316
10317 * docs/grub.texi (Support automatic decompression): Update with xz
10318 decompression support.
10319
25953e10
SJ
103202011-01-07 Szymon Janc <szymon@janc.net.pl>
10321
10322 Improve loaders' kernel command line handling.
10323
10324 * grub-core/lib/cmdline.c: New file.
10325 * include/grub/lib/cmdline.h: Likewise.
10326 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
10327 grub_create_loader_cmdline to create kernel command line.
10328 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10329 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
10330 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
10331 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
10332 (linux): Add lib/cmdline.c on common.
10333
e72d259f
VS
103342011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
10337 inopos might be unaligned.
10338
c0cf26da
VS
103392011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10342 endian transformations.
10343 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10344 Based on report by: Doug Nazar.
10345
0ca09e6c
DN
103462011-01-07 Doug Nazar <nazard.michi@gmail.com>
10347
10348 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
10349 array->members[i].start_sector.
10350 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
10351
014b6806
VS
103522011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
10355 Reported and tested by: Grégoire Sutre.
10356
415502c2
CW
103572011-01-06 Colin Watson <cjwatson@ubuntu.com>
10358
10359 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
10360 avoid causing test failures by clearing the screen.
10361
71b6a2b7
CW
103622011-01-06 Colin Watson <cjwatson@ubuntu.com>
10363
10364 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10365 Fix prefix check to handle the case where dir ends with a slash
10366 (most significantly, "/" itself).
10367 Reported by: Michael Vogt.
10368
b3f8d28a
VS
103692011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 Run terminfo_cls on initing terminfo output to clear the screen and
10372 move the cursor to (0,0).
10373
10374 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
10375 Call grub_terminfo_output_init.
10376 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
10377 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
10378 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
10379
4c3e4f37
VS
103802011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10381
10382 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
10383 only when needed.
10384
488f71f1
VS
103852011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10386
10387 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
10388 CTRL.
10389
18a38098
VS
103902011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 The E820 type 5 is BADRAM, not EXEC_CODE.
10393
10394 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10395 (GRUB_E820_BADRAM): New define.
10396 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
10397 into reserved. Propagate BADRAM.
10398 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10399 (GRUB_E820_BADRAM): New define.
10400
9eae2084
VS
104012011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10402
10403 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
10404 Ignore the memory post-4G.
10405 (grub_relocator_firmware_alloc_region): Additional debug statement.
10406
ebc71d28
VS
104072011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
10410 names.
10411 Reported by: David Pravec.
10412
446fa400
VS
104132011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
10416 BIOSes.
10417
a0159f37
VS
104182011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
10421 Prevent overflow.
10422 (grub_reed_solomon_recover): Likewise.
10423
e5146ca1
VS
104242011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10425
10426 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
10427
104282011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
10429
10430 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
10431 variable.
10432
5b1bdf12
CW
104332011-01-04 Colin Watson <cjwatson@ubuntu.com>
10434
10435 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
10436 descriptions of extract_legacy_entries_source and
10437 extract_legacy_entries_configfile.
10438 Reported by: Seung Soo, Ha.
10439
99d925aa
CW
104402011-01-03 Colin Watson <cjwatson@ubuntu.com>
10441
10442 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
10443 on devices that do not implement function 0.
10444
4af0504b
DV
104452011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
10446
10447 * grub-core/fs/hfsplus.c: Make parent unsigned.
10448 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
10449 overflows.
10450 (grub_hfsplus_cmp_extkey): Likewise
10451
469ee10a
VS
104522011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 * util/grub-install.in: Correctly use bootloader_id and not
10455 GRUB_DISTRIBUTOR on efibootmgr line.
10456
323a8e9c
VS
104572011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
10460
1b394975
IC
104612010-12-31 Ian Campbell <ijc@hellion.org.uk>
10462
10463 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
10464 Xen and reorder menu item wording to make it clearer that this entry
10465 will launch Xen. Print separate messages when loading Xen and
10466 Linux.
10467
275bff5f
VS
104682010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
10471 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
10472 loop in case of incorrect amiga partmap.
10473
307806cb
VS
104742010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10475
10476 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
10477 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
10478 Reported by:EHeM.
10479
b12b923e
VS
104802010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
10483 spurious warning.
10484 Reported by: crocket
10485
14b48a19
VS
104862010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10487
10488 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
10489 Preload EFIemu.
10490 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
10491
693db2df
VS
104922010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
10495 is loaded
10496 (grub_cmd_xnu_kextdir): Likewise.
10497 (grub_cmd_xnu_splash): Likewise.
10498
c7638645
VS
104992010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 Avoid using Reed-Solomon with 0 redundancy.
10502
10503 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
10504 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
10505 or 0 redundancy.
10506 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
10507 (grub_reed_solomon_recover): Likewise.
10508
25dd4780
VS
105092010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10510
10511 Don't use disk subsystem in freebsd_boot.
10512
10513 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
10514 (freebsd_biosdev): Likewise.
10515 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
10516 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
10517
0b2db943
VS
105182010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 Handling of files of unknown size is currently limited. They can't be
10521 used e.g. for initrd or modules. Moreover gzip handling of not
10522 easily seekable files is buggy. Disable unknown file size for now. May
10523 be inefficient but works.
10524
10525 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
10526 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
10527
5c408d0f
MP
105282010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
10529
10530 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
10531 floppy probe.
10532
190a011a
JD
105332010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
10534
10535 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
10536
022d01b8
SL
105372010-12-25 Shea Levy <shlevy>
10538
10539 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
10540
c4855fdc
VS
105412010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10542
10543 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
10544 Windows Server 2008.
10545 Reported by: Devin Giddings.
10546
0354b867
VS
105472010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10548
10549 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
10550 writing an error message because of async power management.
10551 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
10552 (grub_reboot): Likewise.
10553
ab66c69f
JU
105542010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
10555
10556 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
10557 keep unit tests from failing when they shouldn't.
10558
1426ef35
CW
105592010-12-21 Colin Watson <cjwatson@ubuntu.com>
10560
10561 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
10562 previous patch increased the size of the RS code by 20 bytes (at
10563 least with gcc-4.4), so increase this by 20 bytes to match.
10564 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10565
20641b6b
CW
105662010-12-21 Colin Watson <cjwatson@ubuntu.com>
10567
10568 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
10569 scratch area. Make sure to initialise chosen in standalone mode as
10570 well as non-standalone.
10571 Reported by: Robert Hooker and Andy Whitcroft.
10572 Tested by: Andy Whitcroft.
10573
d060ad60
CW
105742010-12-21 Colin Watson <cjwatson@ubuntu.com>
10575
10576 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
10577 constructing a new unescaped string and passing it to grub_xputs in
10578 one go, rather than passing characters to grub_printf one at a time.
10579
b889cfad
CW
105802010-12-21 Colin Watson <cjwatson@ubuntu.com>
10581
10582 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
10583 initialising utf16.
10584
4e01b6c8
CW
105852010-12-21 Colin Watson <cjwatson@ubuntu.com>
10586
10587 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
10588 comment. Add an extra layer of quotation, requiring the output of
10589 this function to be used in a printf format string.
10590 (gettext_printf): New function.
10591 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
10592 Extract translatable strings from here-documents and use a temporary
10593 variable instead, so that xgettext can find them.
10594 * util/grub.d/10_kfreebsd.in: Likewise.
10595 * util/grub.d/10_linux.in: Likewise.
10596 * util/grub.d/20_linux_xen.in: Likewise.
10597
10598 * po/grub.d.sed: New file.
10599 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
10600 arguments. Set c-format flags on all strings extracted from
10601 util/grub.d/ (xgettext refuses to include these itself for strings
10602 it extracted from a shell file, but these really are c-format).
10603
5318fe98
VS
106042010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10605
10606 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
10607 Avoid next pointing to nowhere.
10608
6c85b743
VS
106092010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
10612 rather than assuming than rootblock is exactly in the middle.
10613 (grub_affs_label): Likewise.
10614
a2a08a35
VS
106152010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
10618 reserved_first_sector to 0.
10619 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
10620 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
10621 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
10622
7059d1ec
VS
106232010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10624
10625 Fix handling of UTF-16 UDF labels.
10626
10627 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
10628 (read_string): .. here.
10629 (grub_udf_label): Use read_string.
10630
30aff4cb
BC
106312010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
10632
10633 * grub-core/normal/menu_entry.c (run): Execute commands from menu
10634 editor under argument scope.
10635 Reported by: Jordan Uggla
10636
5cf86f4b
VS
106372010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
10640
32570200
CW
106412010-12-18 Colin Watson <cjwatson@ubuntu.com>
10642
10643 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
10644 line, and other keys scroll an entire page (previous handling was
10645 for \r and \n to scroll a page and other keys to scroll two lines).
10646
e1dffcf2
VS
106472010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10650 Set ptrdest to correct get_physical_target_address rather than
10651 incorrect get_virtual_current_address.
10652
b04298cf 106532010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
10654
10655 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
10656 correct cat to grub_uint8_t * rather than grub_uint32_t *.
10657
5367ecd3
CW
106582010-12-10 Colin Watson <cjwatson@ubuntu.com>
10659
10660 * .bzrignore: Ignore grub-core/rs_decoder.S.
10661
1fb430f8
CW
106622010-12-10 Colin Watson <cjwatson@ubuntu.com>
10663
10664 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
10665 .mo/.mo.gz opening sequence to ...
10666 (grub_mofile_open_lang): ... here.
10667 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
10668 * util/grub.d/00_header.in (grub_lang): Include country part of
10669 locale.
10670 Reported by: Mario Limonciello.
10671
a94a6671
RM
106722010-12-09 Robert Millan <rmh@gnu.org>
10673
10674 * NEWS: Document addition of ZFS support.
10675
24b7938b
CW
106762010-12-04 Colin Watson <cjwatson@ubuntu.com>
10677
10678 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
10679 rather than `/ 2', as the latter requires -Wa,--divide which would
10680 require bumping our minimum binutils version.
10681
bddc3ef6
BC
106822010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
10683
10684 * util/grub-script-check.c (main): Print script line number on
10685 error.
10686
bf78d5b2
RM
106872010-12-01 Robert Millan <rmh@gnu.org>
10688
10689 * grub-core/fs/zfs/zfs.c: New file.
10690 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
10691 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
10692 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
10693 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10694
10695 * include/grub/zfs/dmu.h: Likewise.
10696 * include/grub/zfs/dmu_objset.h: Likewise.
10697 * include/grub/zfs/dnode.h: Likewise.
10698 * include/grub/zfs/dsl_dataset.h: Likewise.
10699 * include/grub/zfs/dsl_dir.h: Likewise.
10700 * include/grub/zfs/sa_impl.h: Likewise.
10701 * include/grub/zfs/spa.h: Likewise.
10702 * include/grub/zfs/uberblock_impl.h: Likewise.
10703 * include/grub/zfs/vdev_impl.h: Likewise.
10704 * include/grub/zfs/zap_impl.h: Likewise.
10705 * include/grub/zfs/zap_leaf.h: Likewise.
10706 * include/grub/zfs/zfs.h: Likewise.
10707 * include/grub/zfs/zfs_acl.h: Likewise.
10708 * include/grub/zfs/zfs_znode.h: Likewise.
10709 * include/grub/zfs/zil.h: Likewise.
10710 * include/grub/zfs/zio.h: Likewise.
10711 * include/grub/zfs/zio_checksum.h: Likewise.
10712
10713 * Makefile.util.def: Build ZFS into libgrubmods.
10714 * grub-core/Makefile.core.def: Build zfs.mod.
10715
3f0f3831
SJ
107162010-11-30 Szymon Janc <szymon@janc.net.pl>
10717
10718 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
10719 variable.
10720 * grub-core/commands/wildcard.c (match_files): Likewise.
10721
3a4253b2
RM
107222010-11-30 Robert Millan <rmh@gnu.org>
10723
10724 * grub-core/loader/i386/bsd.c
10725 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
10726 whether kernel is loaded using grub_loader_is_loaded(), rather
10727 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
10728 certain error conditions.
10729
8c317b27
RM
107302010-11-30 Robert Millan <rmh@gnu.org>
10731
c5c9cd3e
RM
10732 * grub-core/commands/echo.c: Include `<grub/term.h>'.
10733 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 10734
49d3ab46
VS
107352010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10736
10737 Avoid using tricks for initialising endian variables.
10738
10739 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
10740 Make const.
10741 (GRUB_MOD_INIT): Don't byte-swap.
10742 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10743 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
10744 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
10745 (grub_swap_bytes32_compile_time): Likewise.
10746 (grub_cpu_to_le32_compile_time): Likewise.
10747 (grub_cpu_to_le16_compile_time): Likewise.
10748
f420a804
VS
107492010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10750
10751 * util/grub-setup.c (setup): Stop recommending --force. People who
10752 understand the dangers of blocklists are able to find this option
10753 anyway and the ones who don't shouldn't use it anyway.
10754
4e7db17b
RM
107552010-11-26 Robert Millan <rmh@gnu.org>
10756
10757 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
10758 Update all users.
10759
9be57a0d
CW
107602010-11-26 Colin Watson <cjwatson@ubuntu.com>
10761
10762 Fix LVM-on-RAID probing.
10763
10764 * util/grub-probe.c (probe): Remember which disk was detected as
10765 RAID (perhaps an LVM physical volume). Use that disk's raidname
10766 rather than that of the top-level disk.
10767
2c7859b3 107682010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 10769
d7647bb6
BC
10770 Fix cmdline argument quotes for setparams command of menuentry
10771 definitions.
7e623b0d
BC
10772
10773 * grub-core/commands/menuentry.c (setparams_prefix): Use single
10774 quotes for arguments.
f866fe80 10775 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 10776 grub_strchrsub function instead.
f866fe80 10777
7955bea0 10778 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 10779
74f72a64
CW
107802010-11-24 Colin Watson <cjwatson@ubuntu.com>
10781
10782 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
10783 effort by skipping "." and ".." entries up-front.
10784 Suggested by: Michael Lazarev.
10785
5a407278
CW
107862010-11-24 Colin Watson <cjwatson@ubuntu.com>
10787
10788 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
10789 ldflags to ldadd, to fix link line ordering.
10790 (none_decompress): Likewise.
10791
3030d8ec
CW
107922010-11-24 Colin Watson <cjwatson@ubuntu.com>
10793
10794 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
10795 platforms.
10796 (grub-emu-lite): Remove kern/emu/cache.S.
10797
b7fbac12
CW
107982010-11-23 Colin Watson <cjwatson@ubuntu.com>
10799
10800 * util/deviceiter.c (compare_devices): If the by-id link for a
10801 device couldn't be resolved, fall back to sorting by the by-id link
10802 rather than segfaulting.
10803 Reported and tested by: Daniel Mierswa.
10804
5225f328
CW
108052010-11-23 Colin Watson <cjwatson@ubuntu.com>
10806
10807 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
10808 ldflags, to fix link line ordering.
10809
038b3ce8
CW
108102010-11-23 Colin Watson <cjwatson@ubuntu.com>
10811
10812 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
10813 linkers are picky about this.
10814
bf16e98e
CW
108152010-11-23 Colin Watson <cjwatson@ubuntu.com>
10816
10817 * grub-core/Makefile.am (command.lst): Adjust sed expression
10818 ordering so that extended and priority commands aren't treated as
10819 ordinary commands.
10820
7242bab6
CW
108212010-11-23 Colin Watson <cjwatson@ubuntu.com>
10822
10823 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10824 Remove byte-swapping function calls, which are not valid in
10825 structure initialisers.
10826 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
10827 non-const.
10828 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
10829 grub_gpt_partition_type_bios_boot.
10830
14e8b279
CW
108312010-11-22 Colin Watson <cjwatson@ubuntu.com>
10832
10833 Fix test program build on GNU/kFreeBSD.
10834
10835 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
10836 $(LIBNVPAIR)' library dependencies.
10837
e6f63338 108382010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
10839
10840 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
10841
cf8ffc38
CW
108422010-11-22 Colin Watson <cjwatson@ubuntu.com>
10843
10844 * util/grub-install.in: Remove excessive quoting that broke
10845 installations to RAID devices.
10846
7f8b0fd7
VS
108472010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
10850 bootloader version instead of 0.
10851
dfd240b1
VS
108522010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
10855 warning.
10856
7b61e609
VS
108572010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
10860 retrieve the metadat sector if size isn't known.
10861 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10862
9dfe92d0
RM
108632010-11-18 Robert Millan <rmh@gnu.org>
10864
10865 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
10866 with grub_memcmp().
10867
41cc919e
VS
108682010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
10871 arrow.
10872 Reported by: Jordan Uggla.
10873
1afcc914
VS
108742010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 Make better UTF compliant.
10877
10878 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
10879 sequences as incorrect.
10880 (grub_is_valid_utf8): Likewise.
10881 (grub_utf8_to_ucs4): Likewise.
10882 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
10883 (grub_ucs4_to_utf8_alloc): Likewise.
10884 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
10885
f1808884
VS
108862010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10887
10888 Make legacy_source behave like source.
10889
10890 * grub-core/commands/legacycfg.c (legacy_file): Don't call
10891 grub_show_menu.
10892 (grub_cmd_legacy_source): Call grub_show_menu if needed.
10893
24ec575b
CW
108942010-11-16 Colin Watson <cjwatson@debian.org>
10895
10896 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
10897 (-Wunused implies -Wunused-parameter, but not vice versa).
10898
72b7c7aa
CW
108992010-11-16 Colin Watson <cjwatson@ubuntu.com>
10900
10901 * configure.ac: Make error messages less confusing by testing for
10902 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
10903 accepted, but produces a diagnostic if something else is wrong).
10904
e98937aa
VS
109052010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
10908 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
10909 (now unused).
10910 (grub_keyboard_controller_init)
10911 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
10912 read the initial state since controller isn't inited yet.
10913
f6bbabc3
VS
109142010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
10917 allocate_regbeg may need to create new chunk header.
10918
22e7dbb2
VS
109192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 Fix quoting in legacy parser.
10922
10923 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
10924 single quotes.
10925 (grub_legacy_parse): Likewise.
10926 Reported by: Jordan Uggla.
10927 Tested by: Jordan Uggla.
10928
03f80960
VS
109292010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 Don't add -lgcc on i386 and x86_64.
10932
10933 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
10934 * conf/Makefile.common (LDADD_KERNEL): Likewise.
10935 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
10936
779dc15b
VS
109372010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10938
10939 * configure.ac: Add -Wno-trampolines when supported.
10940
d20a3b37
MV
109412010-11-14 Modestas Vainius <modax@debian.org>
10942
10943 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
10944 fakeraid.
10945
e5360933
GC
109462010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10947
10948 Add generic logical block size support for UDF.
10949
10950 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
10951 (GRUB_UDF_BLKSZ): Removed.
10952 (struct grub_udf_data): New field "lbshift" to hold the logical block
10953 size of the file system in log2 format. All users updated.
10954 (sblocklist): Change type to unsigned.
10955 (grub_udf_mount): Change type of "sblklist" to unsigned.
10956 Move AVDP search before VRS recognition, because the latter requires
10957 knowledge of the logical block size, which is detected during the
10958 former.
10959 Detect and validate logical block size during AVDP search, adding
10960 support for block sizes 512, 1024 and 4096.
10961 Make VRS recognition independent of block size.
10962
cb0229c5
GC
109632010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10964
10965 Properly handle deleted files on UDF.
10966
10967 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
10968 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
10969 set.
10970
406858a8
GC
109712010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10972
10973 Support reading files larger than 2 GiB.
10974
10975 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
10976 "offset" to grub_off_t.
10977 (grub_udf_read_file): Likewise for parameter "pos".
10978
130da6a7
VS
109792010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
10982 unavailable.
10983 (Simple configuration): Refer to Changes from GRUB Legacy about
10984 save_env availability.
10985
65e93f6b
VS
109862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10987
10988 * util/grub-install.in: Ignore empty partition table detection
10989 instead of trying to include part_ module.
10990
1fd08bf1
VS
109912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
10994 LVM on RAID support.
10995
de1a024f
VS
109962010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10997
10998 Properly define WORDS_BIGENDIAN in wrapped environments.
10999
11000 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
11001 definition.
11002 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
11003
11004 Reported by: Manoel Rebelo Abranches.
11005 Tested by: Manoel Rebelo Abranches.
11006
bc5dd0b9
VS
110072010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 * util/grub-mkconfig.in: Fix quoting.
11010
58c184be
VS
110112010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11012
11013 Support big ext2 files.
11014
11015 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
11016 (grub_ext2_read_block): Support triple indirect blocks.
11017 (grub_ext2_read_file): Use 64-bit types and read size_high.
11018 (grub_ext2_open): Read size_high.
11019 Reported by: Ximin Luo.
11020 Tested by: Manoel Rebelo Abranches.
11021
5f0c02b3
VS
110222010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11023
11024 * util/grub-install.in: Handle filenames containing spaces.
11025 Reported by: Jordan Uggla.
11026 Tested by: Jordan Uggla.
11027
4417aae6
VS
110282010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11029
11030 * util/grub-mkconfig.in (grub_script_check): New variable.
11031 Use grub_script_check instead of grub-script-check.
11032 Reported by: Barry Jackson.
11033
7625a68e
VS
110342010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * docs/grub.texi (menu): Correct the order.
11037 Reported by: D. Hugh Redelmeier.
11038
10001ac5
VS
110392010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
11042 jump.
11043
9c4cf53b
MRA
110442010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11045
10001ac5
VS
11046 * include/grub/elfload.h (grub_elf32_size): New parameter.
11047 All users updated.
9c4cf53b
MRA
11048 Return maximum segments alignment.
11049 (grub_elf64_size): Likewise.
11050 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
11051 Return maximum segments alignment.
11052 (grub_elf64_size): Likewise.
11053 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
11054 (grub_linux_claimmap_iterate): New function. Uses the
11055 "available" property in the "memory" node for memory allocation
11056 for kernel in the PowerPC loader.
9c4cf53b
MRA
11057 (grub_linux_load32): Correctly find linux entry point offset.
11058 (grub_linux_load64): Likewise.
11059
d2bf06bf
RM
110602010-11-07 Robert Millan <rmh@gnu.org>
11061
11062 On mips-yeeloong, build with -march=loongson2f when this flag is
11063 available (GCC >= 4.4).
11064 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
11065 `-march=mips3'.
11066 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
11067 or otherwise add -march=mips3.
11068
898c99a2
BC
110692010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
11070
87220a68
BC
11071 Suppress shell expansion on echo '*' and echo "*" like cases.
11072 Reported by: Jordan Uggla.
898c99a2
BC
11073
11074 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
11075 string arguments before shell expansion.
11076 * tests/grub_cmd_echo.in: New testcases.
11077
4f9b406a
RM
110782010-11-07 Robert Millan <rmh@gnu.org>
11079
11080 * conf/mips-qemu-mips.rmk: Remove stale file from previous
11081 transition.
11082
80c6d25e
VS
110832010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
11084
11085 * grub-core/kern/emu/hostdisk.c
11086 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
11087
4a1a0153
VS
110882010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
11091 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
11092 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
11093
34706ddc
VS
110942010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11095
11096 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
11097
6972dea9
VS
110982010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11099
11100 * util/grub-install.in: Replace useless recomendation to pass
11101 --modules with a recomendation to report a bug.
11102
9c693bd6
VS
111032010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11104
11105 Properly register serial terminfo.
11106 Reported by: Jordan Uggla
11107
11108 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
11109 const.
11110 (grub_serial_terminfo_output_template): Likewise.
11111 (grub_cmd_serial): Register "serial" with terminfo.
11112 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11113 grub_serial_terminfo_output.
11114
6c9e4c0c
RM
111152010-11-05 Robert Millan <rmh@gnu.org>
11116
11117 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11118 needed).
11119
b9b3839f
RM
111202010-11-05 Robert Millan <rmh@gnu.org>
11121
11122 On Yeeloong, pass machine type information to Linux.
11123
11124 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11125 (LOONGSON_MACHTYPE): New macro, set to
11126 "machtype=lemote-yeeloong-2f-8.9inches".
11127 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11128 additional argument to Linux.
11129
1a3aaff4
RM
111302010-11-04 Robert Millan <rmh@gnu.org>
11131
11132 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11133 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11134 (its SATA disks are detected as slaveless IDE master drives on
11135 kFreeBSD).
11136 Reported by Carsten Aulbert.
11137
a75f4f62
CW
111382010-11-02 Colin Watson <cjwatson@ubuntu.com>
11139
11140 * util/bin2h.c (main): Fix spelling error in generated output.
11141
33b4b0c6
GS
111422010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11143
11144 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11145
2b36fbf4
VS
111462010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11149 vga= option is supplied.
11150
74aaf558
VS
111512010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11152
11153 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11154 * util/grub.d/10_kfreebsd.in: Likewise.
11155 * util/grub.d/10_linux.in: Likewise.
11156 * util/grub.d/20_linux_xen.in: Likewise.
11157
6428dec3
VS
111582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11161 argument as an argument to no-argument option.
11162
f8729d98
VS
111632010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11164
11165 * util/grub.d/10_linux.in: Add missing load_video with explicit
11166 GRUB_GFXPAYLOAD_LINUX.
11167
89d68fa6
VS
111682010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11169
11170 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11171
3a1197cd
VS
111722010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
11175 elements with invlid index.
11176 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11177 * grub-core/disk/raid.c (insert_array): Automatically reallocate
11178 members.
11179 * include/grub/raid.h (grub_raid_member): New struct.
11180 (grub_raid_array): Transform devices and start_sector into usage of
11181 grub_raid_member. All users updated
11182 (allocated_devs): New member.
11183
71574288
VS
111842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11185
11186 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
11187 is modified
11188
8d40ec65
BC
111892010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
11190
11191 NetBSD build fix for getline function conflict from gnulib.
11192
11193 * Makefile.util.def (libgrubkern.a): New library for grub kernel
11194 components that depend on gnulib headers.
11195 (libgrubmods.a): Renamed from earlier libgrub.a.
11196 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
11197
95b9257e
VS
111982010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11199
11200 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
11201 install rather than creating a broken install.
11202
26c53dc6
VS
112032010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 * util/grub-setup.c (argp): Remove misleading example of installing to
11206 a partition.
11207
4171b3c5
VS
112082010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * util/grub-setup.c (setup): Clarify the error message.
11211
18568d18
VS
112122010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
11215
4f6a2e21
VS
112162010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * grub-core/kern/emu/misc.c
11219 (grub_make_system_path_relative_to_its_root)
11220 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
11221
112222010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
11223
11224 * grub-core/kern/emu/misc.c
11225 (grub_make_system_path_relative_to_its_root): Revert r2882.
11226
e138c458
VS
112272010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
11228
11229 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
11230 useless field head. All users updated.
11231 (free_subchunk): Correct handling of IN_REGION subchunk.
11232
0cbcdf0e
CW
112332010-10-22 Colin Watson <cjwatson@ubuntu.com>
11234
11235 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
11236 (Supported kernels): Likewise.
11237
b65ea155
GS
112382010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11239
11240 Make mktemp invocations portable.
11241
11242 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
11243 exit if mktemp fails.
11244 * tests/grub_script_blockarg.in: Likewise.
11245 * tests/partmap_test.in: Likewise.
11246 * tests/util/grub-shell-tester.in: Likewise.
11247 * tests/util/grub-shell.in: Likewise.
11248 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11249 * Makefile.am: Likewise, and chain shell commands with `&&'
11250 instead of ';'.
11251 * util/grub-mkrescue.in: Use the same explicit template as above, and
11252 exit if mktemp fails.
11253
05f43cdd
BC
112542010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
11255
11256 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
11257 Linux kernel, reported by Dennis Schridde.
11258
800e6a9b
SJ
112592010-10-17 Szymon Janc <szymon@janc.net.pl>
11260
11261 * grub-core/normal/auth.c (grub_auth_check_authentication):
11262 Set-but-not-used variable removed.
11263
d82df574
VS
112642010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 * docs/grub.texi (GNU/Linux): Document APM unavailability with
11267 32-bit linux protocol.
11268
7bced458
VS
112692010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
11272 cursor shape for sanity.
11273
5b027690
VS
112742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * docs/grub.texi (Installation): Document buggy BIOS install.
11277
ba5f65cf
VS
112782010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 * docs/grub.texi (Installation): Indent.
11281
fdf2ec9c
VS
112822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11283
11284 * util/grub-setup.c (setup): New parameter allow_floppy.
11285 (arguments): New member allow_floppy.
11286 (argp_parser): Handle --allow-floppy.
11287 (main): Pass allow_floppy.
11288 * util/grub-install.in: New option --allow-floppy passed though to
11289 grub-setup.
11290
861dfd4c
VS
112912010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 * util/grub-install.in: Handle partitionless disks.
11294
f77a8c24
VS
112952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * util/grub-setup.c (setup): Don't clean blocklists before readability
11298 verfification.
11299
27d9ee32
VS
113002010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * docs/grub.texi (Installation): Document embedding zone. Remove
11303 obsolete grub-install example.
11304
6bdda8f8
SJ
113052010-10-16 Szymon Janc <szymon@janc.net.pl>
11306
11307 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11308 Set-but-not-used variable ifdef'ed.
11309 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
11310 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
11311 variable removed.
11312 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
11313 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
11314 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11315 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
11316 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
11317 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11318 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
11319 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
11320 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
11321 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
11322 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
11323 Likewise.
11324
e19b016b
VS
113252010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11326
11327 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
11328 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
11329 enum value.
11330
6c8d3002
VS
113312010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11332
11333 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
11334 synonym to _S5_. Needed for some DSDTs.
11335
c32b51c9
VS
113362010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11337
11338 Userspace ACPI parser debugging.
11339
11340 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
11341 headers and add relevant defines. Don't include standard headers.
11342 (main) [GRUB_DSDT_TEST]: New function.
11343 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
11344 Don't declare functions.
11345
fbfbeb39
VS
113462010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 Remove dead grub_efi_mm_fini.
11349
11350 * grub-core/kern/efi/mm.c (allocated_page): Removed.
11351 (ALLOCATED_PAGES_SIZE): Likewise.
11352 (MAX_ALLOCATED_PAGES): Likewise.
11353 (allocated_pages): Likewise.
11354 (grub_efi_allocate_pages): Don't record allocated pages.
11355 (grub_efi_free_pages): Likewise.
11356 (grub_efi_mm_init): Likewise.
11357 (grub_efi_mm_fini): Removed.
11358
65f7ed7c
VS
113592010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
11362 (grub_efi_mm_init): Take into account the memory map size increase.
11363
24977b44
VS
113642010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11365
11366 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
11367 (serial_hw_put): Wait based on real time rather than port reads. Don't
11368 roken ports.
11369 * include/grub/serial.h (grub_serial_port): New field broken.
11370
1eb01cd2
RM
113712010-10-16 Robert Millan <rmh@gnu.org>
11372
11373 * grub-core/kern/emu/misc.c
11374 (grub_make_system_path_relative_to_its_root): Fix premature return
11375 when processing non-root ZFS filesystems.
5f8b440b 11376 Reported by Sergio Talens-Oliag.
1eb01cd2 11377
2d5fed60
RM
113782010-10-15 Robert Millan <rmh@gnu.org>
11379
11380 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
11381 guarantee compressed ones are processed first.
11382
d0f4c1ea
VS
113832010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11384
11385 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
11386 grub_efiemu_autocore.
11387
d87c681f
VS
113882010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
11391 rather than 0x1b.
11392 (grub_console_getkey): Use correct jae opcode rather than ja.
11393
219b3564
RM
113942010-10-12 Robert Millan <rmh@gnu.org>
11395
11396 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
11397 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
11398 variable. All references updated.
11399
11400 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
11401
20c6bb7e
VS
114022010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
11403
11404 Correctly distinguish mdraid flavours.
11405
11406 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
11407 (insert_array): New argument raid.
11408 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
11409 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
11410 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
11411
74baff84
VS
114122010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
11413
11414 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
11415 handling of special keys.
11416
3ef068df 114172010-10-02 Aleš Nesrsta <starous@volny.cz>
11418
c7980ad9
VS
11419 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
11420 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 11421
a9455194 114222010-10-02 Aleš Nesrsta <starous@volny.cz>
11423
c7980ad9
VS
11424 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
11425 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
11426 users updated.
a9455194 11427 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 11428 Use right endpoint when querying descriptor.
a9455194 11429
441cfe65
VS
114302010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11431
11432 Clear out 0x80 color bit on EFI.
11433 Tested by: decoder
11434 Reported by: decoder and meta tech.
11435
11436 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
11437 (grub_console_setcolorstate): Clear out 0x80 bit.
11438 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
11439 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
11440 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
11441
bf26bcc4
VS
114422010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
11445 Set to "auto".
11446
6e3c515d
VS
114472010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
11450 mo_file after freeing.
11451
e6d983ba
VS
114522010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
11455
74ccb5b5
VS
114562010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
11459 flags.
11460
17821956
VS
114612010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
11464 usage.
11465
ee74fa48
VS
114662010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 Put terminfo into core on ieee1275 and yeeloong (needed for console).
11469
11470 * gentpl.py: New groups terminfoinkernel and terminfomodule.
11471 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
11472 and terminfo.h when needed.
11473 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
11474 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
11475 (terminfo): Enable only on terminfokernel.
11476 (extcmd): Likewise.
11477 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
11478 * include/grub/lib/arg.h: Likewise.
11479 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
11480 incorrect usage of ->.
11481
aa438e68
VS
114822010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
11485 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
11486
57994012
VS
114872010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11488
11489 Fix coreboot compilation.
11490
11491 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11492 Take VBE info into account even if only text is supported.
11493 (fill_vbe_info): Take into account the case when only VGA text
11494 is supported.
11495 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
11496 on coreboot, multiboot and qemu.
11497
2a406611
VS
114982010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
11501 debug messages.
11502 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
11503
d33613fc
VS
115042010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11505
11506 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
11507 parameters.
11508
44a1b432
VS
115092010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11510
11511 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
11512 if they were BSD-style.
11513
edde54e6
VS
115142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * grub-core/boot/i386/pc/lnxboot.S: Replace
11517 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
11518 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
11519
b65830fa
VS
115202010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 Write embedding zone using Reed-Solomon.
11523
11524 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
11525 * grub-core/Makefile.am (rs_decoder.S): New target.
11526 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
11527 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
11528 (multiboot): Move to RS part.
11529 (post_reed_solomon): New label.
11530 (grub_boot_drive): Move to non-RS part since it's modified in memory
11531 on boot.
11532 Include rs_decoder.S.
11533 * grub-core/lib/reed_solomon.c: New file.
11534 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
11535 New definition.
11536 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
11537 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
11538 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
11539 * include/grub/partition.h (grub_partition_map): Change prototype of
11540 embed to allow returning additional sectors.
11541 * include/grub/reed_solomon.h: New file.
11542 * util/grub-setup.c (setup): Handle Reed-Solomon.
11543
0b4b227f
CW
115442010-09-28 Colin Watson <cjwatson@ubuntu.com>
11545
11546 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11547 i386 and x86-64 definedness tests.
11548
f772623b
YB
115492010-09-27 Yves Blusseau <blusseau@zetam.org>
11550
11551 Fix generation of kernel_syms.lst
11552
11553 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
11554 ASM_PREFIX
11555
8e57a6ca
RM
115562010-09-26 Robert Millan <rmh@gnu.org>
11557
11558 Support degraded ZFS arrays in "grub-probe -t device" resolution.
11559
11560 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
11561 the pool is an array of devices, iterate through it and return the
11562 first device that passes a stat() test (instead of blindly returning
11563 the first one).
11564
f9130836
RM
115652010-09-26 Robert Millan <rmh@gnu.org>
11566
11567 Build fixes for GNU/kFreeBSD.
11568
11569 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
11570 to programs that require ZFS conversion.
11571 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
11572 kernels that don't have FLOPPY_MAJOR.
11573
96510faf
BC
115742010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11575
11576 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
11577
449333eb
BC
115782010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11579
11580 Fix grub-emu build.
11581
11582 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
11583 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
11584 mdraid09 and mdraid1x.
11585
e1fd1939
CW
115862010-09-24 Colin Watson <cjwatson@ubuntu.com>
11587
11588 Re-enable grub-extras.
11589
11590 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
11591 avoid confusing Automake. Run autogen only twice, once for the top
11592 level and once for grub-core. Add Makefile.util.def and
11593 Makefile.core.def from extra modules to the appropriate autogen
11594 invocations. If Makefile.common exists in an extra module, include
11595 it in both Makefile.util.am and grub-core/Makefile.core.am;
11596 similarly, include any Makefile.util.common file in Makefile.util.am
11597 and any Makefile.core.common file in grub-core/Makefile.core.am.
11598 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
11599 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
11600 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
11601 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
11602
11603 * gentpl.py (gvar_add): Turn GVARS into a set.
11604 (global_variable_initializers): Sort global variables on output.
11605 (vars_init): New function.
11606 (first_time): Likewise.
11607 (library): Ensure that non-global variable initialisations are
11608 emitted before the first time we emit code for a library block.
11609 Append to variables rather than setting them. Only emit
11610 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
11611 each conditional path.
11612 (program): installdir() emits an Autogen macro, so must be passed to
11613 var_add rather than gvar_add.
11614 (data): Likewise.
11615 (script): Likewise.
11616 (rules): New function, centralising handling for different target
11617 types. Set up Guile association lists for first_time and vars_init,
11618 and send most output to a diversion so that variable initialisations
11619 can be emitted first.
11620 (module_rules): Use new rules function.
11621 (kernel_rules): Likewise.
11622 (image_rules): Likewise.
11623 (library_rules): Likewise.
11624 (program_rules): Likewise.
11625 (script_rules): Likewise.
11626 (data_rules): Likewise.
11627
11628 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
11629
11630 * .bzrignore: Add contrib and grub-core/contrib. Remove
11631 grub-core/Makefile.gcry.am.
11632
1d12cf29
YB
116332010-09-24 Yves Blusseau <blusseau@zetam.org>
11634
11635 * grub-core/lib/LzFind.c: Add missing include.
11636 * grub-core/lib/LzmaEnc.c: Likewise.
11637 * grub-core/script/lexer.c: Likewise.
11638 * grub-core/script/yylex.l: Likewise.
11639 * util/grub-macho2img.c: Likewise.
11640 * util/grub-menulst2cfg.c: Likewise.
11641 * util/grub-mklayout.c: Likewise.
11642 * util/grub-mkpasswd-pbkdf2.c
11643 * util/grub-mkrelpath.c: Likewise.
11644 * util/resolve.c: Likewise.
11645
dd363028
BC
116462010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
11647
11648 * Makefile.util.def (example_unit_test): Add
11649 grub-core/gnulib/libgnu.a.
11650
f5a109e2
GS
116512010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
11652
11653 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
11654
6d0fa83c
VS
116552010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11656
11657 Support xz compression on yeeloong.
11658
11659 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
11660 * configure.ac: Check for LZMA.
11661 * grub-core/Makefile.core.def (xz_decompress): New target.
11662 (none_decompress): Likewise.
11663 * grub-core/boot/decompressor/minilib.c: New file.
11664 * grub-core/boot/decompressor/none.c: Likewise.
11665 * grub-core/boot/decompressor/xz.c: Likewise.
11666 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
11667 * grub-core/kern/mips/cache_flush.S: Likewise.
11668 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
11669 * grub-core/kern/mips/startup.S: Move first stage to ...
11670 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
11671 nomacro.
11672 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
11673 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
11674 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
11675 Allocate statically.
11676 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
11677 Allocate statically or use scratch. Don't check CRC32.
11678 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
11679 Allocate statically. Don't check CRC32.
11680 * include/grub/decompressor.h: New file.
11681 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
11682 Removed.
11683 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
11684 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
11685 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
11686 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
11687 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
11688 * util/grub-mkimage.c (grub_compression_t): New type.
11689 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
11690 (image_target_desc): New field default_compression.
11691 (image_targets): Adjust yeeloong targets.
11692 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
11693 (compress_kernel): New parameter comp.
11694 (generate_image): Likewise. Handle new compression case.
11695 (options): New option --compression
11696 (help): Likewise.
11697 (main): Handle new option.
11698
1b655af6
GS
116992010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
11700
11701 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
11702
8f03f0b5
CW
117032010-09-22 Colin Watson <cjwatson@ubuntu.com>
11704
11705 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11706 typo in __i386__ conditional.
11707
7835dfd3
VS
117082010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11709
11710 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
11711 include.
11712
e255597e
VS
117132010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11714
6d0fa83c 11715 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
11716
11717 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
11718 new tags as supported.
11719 (acpiv2_size): New function.
11720 (grub_multiboot_get_mbi_size): Take new tags into account.
11721 (grub_multiboot_make_mbi): Add new tags.
11722 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 11723
6cc14051 117242010-09-21 Aleš Nesrsta <starous@volny.cz>
11725
11726 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
11727 Added missing configuration of USB device.
11728
df7769d8
CW
117292010-09-21 Colin Watson <cjwatson@ubuntu.com>
11730
11731 * grub-core/normal/menu_entry.c (run): Make sure we always return
11732 a value.
11733
b031012d
CW
117342010-09-21 Colin Watson <cjwatson@ubuntu.com>
11735
11736 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
11737 NumberOfPages is UINT64 according to the UEFI specification, not
11738 UINTN. Fix printf format.
11739
174de8f3
CW
117402010-09-21 Colin Watson <cjwatson@ubuntu.com>
11741
11742 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
11743 `err' to grub_usb_err_t.
11744 Reported and tested by: KESHAV P.R.
11745
d7dbe923
CW
117462010-09-21 Colin Watson <cjwatson@ubuntu.com>
11747
11748 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
11749 tpart non-const, so that we can assign to it. (Since this is a
11750 typedef, the constness refers to the pointer rather than what it
11751 points to.)
11752
8d5e2af3
CW
117532010-09-21 Colin Watson <cjwatson@ubuntu.com>
11754
11755 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
11756 $(top_srcdir)/grub-core/gnulib as well as
11757 $(top_builddir)/grub-core/gnulib.
11758 Reported by: KESHAV P.R.
11759
5c527783
CW
117602010-09-21 Colin Watson <cjwatson@ubuntu.com>
11761
11762 * util/grub-install.in: Fix the bootloader ID option to be
11763 consistently --bootloader-id, not --bootloader_id.
11764 Reported by: KESHAV P.R.
11765
d309a16e
CW
117662010-09-21 Colin Watson <cjwatson@ubuntu.com>
11767
11768 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
11769 check hash checksum." consistently translatable.
11770
b830cd16
YB
117712010-09-21 Yves Blusseau <blusseau@zetam.org>
11772
11773 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
11774 $(top_builddir).
11775
c4fe27a8
CW
117762010-09-21 Colin Watson <cjwatson@ubuntu.com>
11777
11778 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
11779 (GRUB_MOD_INIT): Register sha1sum command.
11780 (GRUB_MOD_FINI): Unregister sha1sum command.
11781
a4c1d277
YB
117822010-09-21 Yves Blusseau <blusseau@zetam.org>
11783
11784 Keep boot and grub directory names in sync with utils scripts
11785
11786 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
11787 * config.h.in: Add previous macros.
11788 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
11789 * util/grub-install.in: Use $bootdir and $grubdir variables.
11790
4eff79d2
CW
117912010-09-21 Colin Watson <cjwatson@ubuntu.com>
11792
11793 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
11794 convert partition names to disk names if the new `convert' parameter
11795 is set.
11796 (grub_util_biosdisk_get_grub_dev): If opening the disk device
11797 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
11798 disk in its own right. This can happen with Xen disk images.
11799
934d7e44
YB
118002010-09-21 Yves Blusseau <blusseau@zetam.org>
11801
11802 * util/grub-editenv.c: Update strings to avoid warnings when generating
11803 grub.pot file.
11804 * util/grub-setup.c: Likewise.
934d7e44 11805
df3367cc
VS
118062010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11807
11808 * configure.ac: Change version to 1.99~beta0.
11809
77a94e98
VS
118102010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11813 Add BADRAM.
11814 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
11815 Likewise.
11816 * include/multiboot.h: Resynced with specification.
11817 * include/multiboot2.h: Likewise.
11818
269004c1
CW
118192010-09-21 Colin Watson <cjwatson@ubuntu.com>
11820
11821 Fix po directory handling.
11822
11823 * configure.ac: Create po/Makefile.in rather than po/Makefile.
11824 * grub-core/gnulib/Makefile.am: Import gettext module.
11825 * m4/gnulib-cache.m4: Likewise.
11826 * m4/gnulib-comp.m4: Likewise.
11827 * m4/gettext.m4: New file, from gnulib.
11828 * m4/glibc2.m4: Likewise.
11829 * m4/iconv.m4: Likewise.
11830 * m4/intdiv0.m4: Likewise.
11831 * m4/intl.m4: Likewise.
11832 * m4/intldir.m4: Likewise.
11833 * m4/intlmacosx.m4: Likewise.
11834 * m4/intmax.m4: Likewise.
11835 * m4/inttypes-pri.m4: Likewise.
11836 * m4/lcmessage.m4: Likewise.
11837 * m4/lib-ld.m4: Likewise.
11838 * m4/lib-link.m4: Likewise.
11839 * m4/lib-prefix.m4: Likewise.
11840 * m4/lock.m4: Likewise.
11841 * m4/nls.m4: Likewise.
11842 * m4/po.m4: Likewise.
11843 * m4/printf-posix.m4: Likewise.
11844 * m4/progtest.m4: Likewise.
11845 * m4/threadlib.m4: Likewise.
11846 * m4/uintmax_t.m4: Likewise.
11847 * m4/visibility.m4: Likewise.
11848 * po/Makefile.am: Remove.
11849 * po/Makefile.in.in: New file, from gettext.
11850 ($(DOMAIN).pot-update): Support POTFILES-shell.
11851 * po/Makevars: New file.
11852 * po/POTFILES-shell: Rename to ...
11853 * po/POTFILES-shell.in: ... this. Update.
11854 * po/POTFILES: Rename to ...
11855 * po/POTFILES.in: ... this. Update.
11856 * po/Rules-quot: New file, from gettext.
11857 * po/boldquot.sed: Likewise.
11858 * po/en@boldquot.header: Likewise.
11859 * po/en@quot.header: Likewise.
11860 * po/insert-header.sin: Likewise.
11861 * po/quot.sed: Likewise.
11862 * po/remove-potcdate.sin: Likewise.
11863
3e0fa5d0
VS
118642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11865
11866 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
11867
ade9bd66
VS
118682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11869
11870 * util/grub.d/20_linux_xen.in: Use submenus.
11871
fc55cc4c
VS
118722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11873
11874 Support submenus.
11875
11876 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
11877 parameter submenu. All users updated.
11878 * grub-core/normal/main.c (free_menu): Rename to ...
11879 (grub_normal_free_menu): ... this. Made global.
11880 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
11881 if requested.
11882 * grub-core/normal/menu_entry.c (screen): New field submenu.
11883 (make_screen): Set submenu.
11884 (run): Open new context if requested.
11885 * include/grub/menu.h (grub_menu_entry): New field submenu.
11886 * include/grub/normal.h (grub_normal_free_menu): New proto.
11887
600cedf7
VS
118882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 Menu entries extractor.
11891
11892 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
11893 variants.
11894 (GRUB_MOD_INIT): Register new variants.
11895 (GRUB_MOD_FINI): Unregister new variants.
11896 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
11897 into grub_cmd_legacy_source.
11898 (grub_cmd_legacy_source): Implement extractor variants.
11899 (GRUB_MOD_INIT): Register new variants.
11900 (GRUB_MOD_FINI): Unregister new variants.
11901 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
11902 as an extractor.
11903 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
11904 search as an extractor.
11905 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
11906 test as an extractor.
11907 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
11908 as an extractor.
11909 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
11910 (grub_env_new_context): New function.
11911 (grub_env_context_open): Likewise.
11912 (grub_env_extractor_open): Likewise.
11913 (grub_env_extractor_close): Likewise.
11914 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11915 grub_extractor_level.
11916 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
11917 * include/grub/env.h (grub_env_extractor_open): New proto.
11918 (grub_env_extractor_close): Likewise.
11919 * include/grub/normal.h (grub_extractor_level): New external variable.
11920
7bda3a87
VS
119212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 Make cutmem accept a region specification.
11924 Suggested by: Samuel Thibault
11925
11926 * grub-core/mmap/mmap.c (parsemem): New function.
11927 (grub_cmd_cutmem): Handle new arguments.
11928
2ea57f88
VS
119292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11930
11931 New command cutmem.
11932
11933 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
11934 (GRUB_MOD_INIT): Register new command.
11935 (GRUB_MOD_FINI): Unregister new command.
11936
74342e31
VS
119372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 Support some annoying BSD and Minix subpartitions.
11940
11941 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
11942 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
11943 Properly handle concatenation.
11944 * grub-core/kern/device.c (grub_device_iterate): Likewise.
11945 * grub-core/normal/completion.c (iterate_partition): Likewise.
11946 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
11947 contain partition. All users updated.
11948 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
11949 struct.
11950 (grub_openbsdlabel_partition_map): Likewise.
11951 (bsdlabel_partition_map_iterate): Rename to ..
11952 (iterate_real): ... this. New arguments sector, freebsd and pmap.
11953 (bsdlabel_partition_map_iterate): New function.
11954 (netopenbsdlabel_partition_map_iterate): Likewise.
11955 (netbsdlabel_partition_map_iterate): Likewise.
11956 (openbsdlabel_partition_map_iterate): Likewise.
11957 (GRUB_MOD_INIT): Register new partmaps.
11958 (GRUB_MOD_FINI): Unregister new partmaps.
11959 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
11960 (grub_partition_msdos_iterate): ... this. All users updated.
11961 Don't support embedding other than in a minix partition.
11962 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
11963 proto.
11964 * include/grub/partition.h (grub_partition): New field msdostype.
11965 * util/grub-install.in: Handle openbsd and netbsd types being in
11966 part_bsd module.
11967
1e8d555b
VS
119682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11969
11970 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
11971
11972 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
11973 * grub-core/Makefile.core.def (mdraid): Renamed to ...
11974 (mdraid09): ... this.
11975 (mdraid1x): New module.
11976 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
11977 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
11978
899d8af4
VS
119792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
11982 vsprintf.
11983
40901acd
CW
119842010-09-20 Colin Watson <cjwatson@ubuntu.com>
11985
11986 * grub-core/commands/efi/lsefimmap.c: Correct header.
11987 * NEWS: Update.
11988
dfe3b247
CW
119892010-09-20 Colin Watson <cjwatson@ubuntu.com>
11990
11991 * util/grub-editenv.c (argp_parser): Don't pass translated strings
11992 as printf format strings; the translations might contain '%' which
11993 could cause a crash.
11994 (main): Likewise.
11995 * util/grub-fstest.c (argp_parser): Likewise.
11996 * util/grub-setup.c (argp_parser): Likewise.
11997 (main): Likewise.
11998
3286a4b4
VS
119992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 Use argp in grub-fstest.
12002
12003 * util/grub-fstest.c: Don't include getopt.h.
12004 Include argp.h.
12005 (root): New variable.
12006 (args_count): Likewise.
12007 (nparm): Likewise.
12008 (num_disks): Likewise.
12009 (images): Likewise.
12010 (cmd): Likewise.
12011 (debug_str): Likewise.
12012 (args): Likewise.
12013 (options): Transformed to argp.
12014 (usage): Removed.
12015 (main): Split argument parsing into ...
12016 (argp_parser): ... this. Changed to argp format.
12017 (argp): New variable.
12018 (main): Use argp_parse.
12019
3dccbe4b
TG
120202010-09-20 Tristan Gingold <gingold@free.fr>
120212010-09-20 Robert Millan <rmh.grub@aybabtu.com>
120222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12023
12024 * grub-core/commands/efi/lsefimmap.c: New file.
12025 * grub-core/Makefile.core.def (lsefimmap): New module.
12026 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
12027
38c259a7
VS
120282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12029
12030 Pause the execution (10s max) if any errors are displayed so the user
12031 has a chance to see them.
12032
12033 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
12034 (grub_print_error): Increment grub_err_printed_errors.
12035 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
12036 execution if any errors were displayed.
12037 (show_menu): Remove old code for pause.
12038 * grub-core/normal/menu_entry.c (run): Likewise.
12039 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
12040 users updated.
12041 (grub_normal_get_char_counter): Likewise.
12042 * include/grub/err.h (grub_err_printed_errors): New external variable.
12043 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
12044
f218b09c
VS
120452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12046
12047 Support multiboot VBE info.
12048
12049 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12050 Take VBE info into account.
12051 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
12052 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12053 Call fill_vbe_info when appropriate.
12054 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
12055 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
12056 as supported.
12057 (grub_multiboot_get_mbi_size): Take new tags into account.
12058 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
12059 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12060 Call fill_vbe_tag when appropriate.
12061 (grub_multiboot_make_mbi): Properly align tags.
12062 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
12063 function.
12064 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
12065 proto.
12066 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
12067
a9cc5438
VS
120682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 Suport manual terminal geometry specification.
12071
12072 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
12073 Save state in grub_ofconsole_terminfo_output.
12074 (grub_ofconsole_term): Use grub_terminfo_getwh.
12075 (grub_ofconsole_getwh): Removed.
12076 * grub-core/term/serial.c (grub_serial_getwh): Removed.
12077 (grub_serial_term): Use grub_terminfo_getwh.
12078 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
12079 (options): New struct.
12080 (OPTION_*): New enum.
12081 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
12082 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
12083 width and height.
12084 (grub_terminfo_getwh): New proto.
12085 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
12086
1a8fed20
VS
120872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12088
12089 Handle legacy "terminal" command.
12090
12091 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
12092 and FLAG_TERMINAL.
12093 (legacy_commands): Add terminal and title.
12094 (grub_legacy_parse): Handle terminal. Simplify title handling.
12095
41e9c57d
VS
120962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12097
12098 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
12099 parameters overflow.
12100
61c874c5
CW
121012010-09-20 Colin Watson <cjwatson@ubuntu.com>
12102
12103 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
12104 widthspec.h.
12105
12106 * docs/grub.texi (Shell-like scripting): Document `!'.
12107 (Network): Simplify using new i386-pc-pxe format. Mention
12108 grub-mknetdir.
12109
12110 * NEWS: Update.
12111
943682b4
CW
121122010-09-20 Colin Watson <cjwatson@ubuntu.com>
12113
12114 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12115 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12116 when needed.
12117
6d3d698d
CW
121182010-09-20 Colin Watson <cjwatson@ubuntu.com>
12119
12120 * grub-core/commands/efi/lsefisystab.c: Correct header.
12121 * grub-core/commands/efi/lssal.c: Likewise.
12122 * grub-core/commands/testload.c: Likewise.
12123
c982589f
CW
121242010-09-20 Colin Watson <cjwatson@ubuntu.com>
12125
12126 * util/grub-mkrescue.in: Add explicit root argument to --set to
12127 prevent the UUID being interpreted as an argument to --set (matches
12128 previous change to prepare_grub_to_access_device).
12129
a63c31b6
CW
121302010-09-20 Colin Watson <cjwatson@ubuntu.com>
12131
12132 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12133 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12134 the verbosity of later #ifs.
12135 (find_partition_start): Define this function on FreeBSD too.
12136 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12137 function.
12138 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12139 on FreeBSD.
12140
6439b8ee
YB
121412010-09-20 Yves Blusseau <blusseau@zetam.org>
12142
12143 * util/grub-editenv.c: Use argp instead of getopt.
12144
c5930ec8
YB
121452010-09-20 Yves Blusseau <blusseau@zetam.org>
12146
12147 * util/grub-setup.c: Use argp instead of getopt.
12148
15c69261
YB
121492010-09-20 Yves Blusseau <blusseau@zetam.org>
12150
12151 Use gnulib-tool to create gnulib source files.
12152
12153 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12154 grub-core/gnulib directories
12155 * .bzignore: Add **/.deps and autogenerated gnulib files
12156 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12157 of gnulib macros, add grub-core/gnulib/Makefile
12158 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12159 include m4 directory to aclocal.
12160 * Makefile.util.def: Remove direct compilation of gnulib source files
12161 and use the new grub-core/gnulib/libgnu.a.
12162 * build-aux/config.rpath: move config.rpath from top directory to
12163 build-aux
12164 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12165 in gnulib headers
12166 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12167 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12168 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12169 header.
12170 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12171 string.
12172
e511c9f5
YB
121732010-09-20 Yves Blusseau <blusseau@zetam.org>
12174
12175 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
12176 grub-core/genmod.sh and grub-core/gensyminfo.sh
12177
c2dede05
BC
121782010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
12179
12180 Add a test for echo command options.
12181
12182 * tests/grub_cmd_echo.in: New test.
12183 * Makefile.util.def: Rules for new test.
12184
c55f5018
SJ
121852010-09-20 Szymon Janc <szymon@janc.net.pl>
12186
12187 Remove crc.mod and move crc command to hashsum.mod.
12188 Remove lib/crc.c - users updated to use gcrypt implementation.
12189
12190 * grub-core/commands/crc.c: Removed.
12191 * grub-core/Makefile.core.def (crc): Module removed.
12192 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
12193 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
12194 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
12195 * grub-core/lib/crc.c: Removed.
12196 * include/grub/lib/crc.h: Removed.
12197 * Makefile.util.def (crc): Remove lib/crc.c
12198 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
12199 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
12200 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
12201 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
12202 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
12203 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
12204
e0337366
VS
122052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12206
12207 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
12208
742f9232
VS
122092010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 Split config.h for util and core.
12212
12213 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
12214 (ADDR32): Likewise.
12215 (DATA32): Likewise.
12216 (BSS_START_SYMBOL): Likewise.
12217 (END_SYMBOL): Likewise.
12218 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
12219 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
12220 * config.h.in: New file.
12221 * configure.ac: Use config-util.h as config define file.
12222 Rename MACHINE into GRUB_MACHINE. All users updated.
12223 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
12224 updated.
12225 (NESTED_FUNC_ATTR): Likewise.
12226 Substitue new variables.
12227 (COND_HAVE_ASM_USCORE): New conditional.
12228 * grub-core/Makefile.am (ASM_PREFIX): New variable.
12229 (kernel_syms.lst): Use ASM_PREFIX.
12230 * grub-core/kern/emu/console.c: Include config-util.h.
12231 * grub-core/kern/emu/misc.c: Likewise.
12232 * grub-core/kern/emu/mm.c: Likewise.
12233 * include/grub/emu/misc.h: Likewise.
12234 * include/grub/libgcc.h: Likewise.
12235
39feb0e8
VS
122362010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12237
12238 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
12239 constants usage.
12240 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
12241 Fix GRUB_TERM_KEY_* constants usage.
12242 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
12243
9af6dac3
VS
122442010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12245
12246 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
12247 print pointer.
12248 * grub-core/bus/usb/uhci.c: Remove empty define.
12249 (grub_uhci_check_transfer): Add missing cast.
12250 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
12251 print pointer.
12252 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
12253 PRIuGRUB_SIZE.
12254 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
12255
d6d94820
VS
122562010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12257
12258 * grub-core/Makefile.core.def (legacycfg): Add
12259 lib/i386/pc/vesa_modes_table.c on emu.
12260
3572f2b6
BC
122612010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12262
12263 Reduce number of temporary files generated by build system.
12264
12265 * grub-core/gencmdlist.sh: Removed.
12266 * grub-core/genfslist.sh: Removed.
12267 * grub-core/genhandlerlist.sh: Removed.
12268 * grub-core/genmodsrc.sh: Removed.
12269 * grub-core/genpartmaplist.sh: Removed.
12270 * grub-core/genparttoollist.sh: Removed.
12271 * grub-core/gentermiinallist.sh: Removed.
12272 * grub-core/genvideolist.sh: Removed.
12273
12274 * grub-core/genmod.sh.in: New file.
12275 * grub-core/gensyminfo.sh.in: New file.
12276
12277 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
12278 * conf/Makefile.extra-dist: Update with new files.
12279 * gentpl.py: Remove rules related to unnecessary temporary files.
12280 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
12281 and und-* files.
12282 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
12283 genmod.sh scripts.
12284 * grub-core/bus/usb/uhci.c: Remove empty #define.
12285 * grub-core/genmoddep.awk: Updated with new syminfo format.
12286 * util/bash-completion.d/Makefile.am: Add config.log to
12287 CLEANFILES.
12288
c836b030
YB
122892010-09-19 Yves Blusseau <blusseau@zetam.org>
12290
12291 * Makefile.util.def: Add forgotten $(LIBINTL) library.
12292
2f4e8053
BC
122932010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12294
12295 * util/grub-mkconfig.in: Check the config script for syntax errors
12296 before saving.
12297
75831c34
CW
122982010-09-19 Colin Watson <cjwatson@ubuntu.com>
122992010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12300
12301 * Makefile.util.def (grub-install): Use util/grub-install.in on all
12302 platforms.
12303 * util/grub-install.in: Add EFI and IEEE1275 support.
12304 * util/i386/efi/grub-install.in: Removed.
12305 * util/ieee1275/grub-install.in: Likewise.
12306
eaf41b25
VS
123072010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
12310 (grub_cmd_cmosclean): Likewise.
12311 (GRUB_MOD_INIT): Register command cmosclean.
12312 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
12313 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
12314
1a9130dd
CPE
123152010-09-18 Carles Pina i Estany <carles@pina.cat>
123162010-09-18 Aleš Nesrsta <starous@volny.cz>
123172010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12318
12319 Add keyboard layouts support.
12320
12321 * Makefile.util.def (grub-mklayout): New file.
12322 (grub-kbdcomp): New script.
12323 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
12324 Add keyboard_layouts.h.
12325 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
12326 commands/boot.c on yeeloong.
12327 (keylayouts): New module.
12328 * grub-core/bus/usb/ohci.c
12329 * grub-core/bus/usb/uhci.c
12330 * grub-core/bus/usb/usbhub.c (rescan): New variable.
12331 (grub_usb_add_hub): Poll interrupt pipe for device handling.
12332 (attach_root_port): Likewise.
12333 (poll_nonroot_hub): Likewise.
12334 (grub_usb_poll_devices): Likewise.
12335 (detach_device): Close transfer.
12336 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
12337 function.
12338 (grub_usb_bulk_setup_readwrite): Likewise.
12339 (grub_usb_bulk_finish_readwrite): Likewise.
12340 * grub-core/commands/keylayouts.c: New file.
12341 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
12342 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
12343 aliases.
12344 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
12345 support scancode 2.
12346 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
12347 * include/grub/keyboard_layouts.h: New file.
12348 * util/grub-mklayout.c: New file.
12349 * util/grub-kbdcomp.in: Likewise.
12350
a1d84a5e
VS
123512010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 Unify memory types.
12354
12355 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
12356 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
12357 types.
12358 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
12359 (grub_upper_mem): Likewise.
12360 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
12361 * include/grub/memory.h (grub_memory_type_t): New enum.
12362 All users updated.
12363
9696382e
VS
123642010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 * grub-core/Makefile.core.def (lsapm): New module.
12367 * grub-core/commands/i386/pc/lsapm.c: New file.
12368 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
12369 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
12370 Likewise.
12371 * include/grub/i386/pc/apm.h: New file.
12372 * include/multiboot.h (multiboot_apm_info): New struct.
12373
123742010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 GRUB-legacy configuration file support.
12377
12378 * Makefile.util.def (grub-menulst2cfg): New util.
12379 * docs/man/grub-menulst2cfg.h2m: New file.
12380 * grub-core/Makefile.core.def (legacycfg): New module.
12381 * grub-core/commands/legacycfg.c: New file.
12382 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
12383 (grub_normal_add_menu_entry): ... this.
12384 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
12385 (grub_normal_set_password): ...this.
12386 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
12387 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
12388 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
12389 * grub-core/lib/legacy_parse.c: New file.
12390 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
12391 * include/grub/i386/pc/vesa_modes_table.h: New file.
12392 * include/grub/legacy_parse.h: Likewise.
12393 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
12394 * util/grub-menulst2cfg.c: New file.
12395
bf8d1338
CW
123962010-09-17 Colin Watson <cjwatson@ubuntu.com>
12397
12398 * grub-core/kern/emu/hostdisk.c
12399 (convert_system_partition_to_system_disk): Initialise node.
12400
9c0bad2e
CW
124012010-09-17 Colin Watson <cjwatson@ubuntu.com>
12402
12403 * grub-core/kern/emu/hostdisk.c
12404 (convert_system_partition_to_system_disk): Fix devmapper memory pool
12405 leak.
12406 Reported and based on patch by: Modestas Vainius.
12407
a939d135
CW
124082010-09-17 Colin Watson <cjwatson@ubuntu.com>
12409
12410 Fix DM-RAID probing with recent versions of device-mapper udev
12411 rules.
12412
12413 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
12414 canonicalise device paths under /dev/mapper/.
12415 (convert_system_partition_to_system_disk): Compare the
12416 uncanonicalised path to /dev/mapper/ rather than the canonicalised
12417 path, since device nodes under /dev/mapper/ are often symlinks.
12418
0f7ee3c9
YB
124192010-09-17 Yves Blusseau <blusseau@zetam.org>
12420
12421 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
12422
10854d0d
YB
124232010-09-16 Yves Blusseau <blusseau@zetam.org>
12424
12425 * configure.ac: Avoid some annoying error messages if freetype-config
12426 program is not found.
12427
108538d8
CW
124282010-09-16 Colin Watson <cjwatson@ubuntu.com>
12429
12430 Support RAID on virtio devices, and others.
12431
12432 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
12433 Rename to ...
12434 [__MINGW32__] (grub_find_device): ... this.
12435 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
12436 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
12437 reasonable default if dir is NULL.
12438 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
12439 ...
12440 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
12441 (grub_guess_root_device): Update callers.
12442 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
12443
12444 * util/raid.c (grub_util_getdiskname): Remove.
12445 (grub_util_raid_getmembers): Use grub_find_device rather than
12446 grub_util_getdiskname.
12447
e5bfc130
CW
124482010-09-16 Colin Watson <cjwatson@ubuntu.com>
12449
12450 * docs/grub.texi (serial): Remove obsolete comment about GRUB
12451 needing to be compiled with serial support.
12452 (ls): Indicate that multiple files are accepted.
12453 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
12454 indicate that multiple files are accepted.
12455
be458ae2
CW
124562010-09-16 Colin Watson <cjwatson@ubuntu.com>
12457
12458 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
12459 libgrub_a_init.c, and util/bash-completion.d/grub.
12460
cb731b5e
VS
124612010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 * util/grub-setup.c (setup): Fix incorrect container semantics.
12464
35139e8a
VS
124652010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12466
12467 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
12468 misusage.
12469 Reported by: J. Nick Terry
12470
e50fca4a
VS
124712010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 Move embedding routines to partmap sources files.
12474
12475 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
12476 [GRUB_UTIL]: New variable.
12477 (gpt_partition_map_iterate): Set part.parent.
12478 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
12479 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
12480 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
12481 New function.
12482 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
12483 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
12484 (grub_partition_map) [GRUB_UTIL]: New field embed.
12485 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
12486 (setup): Use ->embed.
12487
f00478b7
VS
124882010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
12491 function.
12492 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
12493 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
12494
2b94e3ff
YB
124952010-09-15 Yves Blusseau <blusseau@zetam.org>
12496
12497 Add function to get completions from usage.
12498
12499 * util/bash-completion.d/grub-completion.bash.in: Add function to get
12500 completions from usage. Use LC_ALL=C to get options properly.
12501
2e04a006
VS
125022010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12503
12504 * grub-core/gnulib/basename-lgpl.c: Imported.
12505 * grub-core/gnulib/basename.c: Likewise.
12506 * grub-core/gnulib/dirname-lgpl.c: Likewise.
12507 * grub-core/gnulib/dirname.c: Likewise.
12508 * grub-core/gnulib/dirname.h: Likewise.
12509 * grub-core/gnulib/stripslash.c: Likewise.
12510
5dcdf93a
VS
125112010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12512
12513 * grub-core/gnulib/error.c: Resynced.
12514 * grub-core/gnulib/getopt.c: Likewise.
12515 * grub-core/gnulib/getopt_int.h: Likewise.
12516 * grub-core/gnulib/regex.h: Likewise.
12517 * grub-core/gnulib/regex_internal.c: Likewise.
12518 * grub-core/gnulib/regex_internal.h: Likewise.
12519
014f47b7
SJ
125202010-09-15 Szymon Janc <szymon@janc.net.pl>
12521
12522 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
12523 CRC calculations and validity checks.
12524 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
12525 calculations.
12526
dd521a4a
SJ
125272010-09-15 Szymon Janc <szymon@janc.net.pl>
12528
12529 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
12530
79c4eeb9
VS
125312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12532
12533 Fix incorrect echo options handling.
12534 Reported by: Yves Blusseau.
12535
12536 * include/grub/command.h (grub_command_flags_t): New flags
12537 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
12538 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
12539 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
12540
ed80f7d5
VS
125412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
12544 users updated.
12545 (GRUB_COMMAND_FLAG_MENU): Likewise.
12546 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12547 (GRUB_COMMAND_FLAG_TITLE): Removed.
12548 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12549 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
12550 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
12551 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
12552 (grub_command_flags_t): New enum. All users updated.
12553
5fe7620a
SG
125542010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
12555
12556 Fix solaris compilation.
12557
12558 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
12559 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
12560 (grub-emu-list): Likewise.
12561
545b752f
VS
125622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12563
12564 Remove deprecated root command.
12565
12566 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
12567 updated.
12568
6c1a338c
VS
125692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12570
12571 * util/i386/pc/grub-setup.c: Merge this ...
12572 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
12573 * util/grub-setup.c: ... into this.
12574 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
12575 New struct.
12576
125772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
12580 possible.
12581
d2ea4551
VS
125822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
12585 allocate p.
12586
3c3b5040
VS
125872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12588
12589 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12590 explicit root argument to set to prevent UUID to be interpreted as
12591 argument to set.
12592
b71c3fae
VS
125932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
12596
275433e6
VS
125972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12598
12599 Don't export grub_gate_a20.
12600
12601 * grub-core/kern/i386/pc/init.c: Remove leftovers.
12602 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
12603 to ...
12604 (grub_gate_a20): ... this. All users updated.
12605 * include/grub/i386/pc/init.h: Removed. All users updated.
12606
a5dbb1f1
VS
126072010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 Create euro.pf2 which supports most European languages.
12610
12611 * Makefile.am (grubdata_DATA): Add euro.pf2.
12612 (euro.pf2): New target.
12613 (CLEANFILES): Add euro.pf2.
12614
62a747cb
VS
126152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 * configure.ac: Disable emu-usb by default to prevent inadvertent
12618 device takeover.
12619
608e43b1
VS
126202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12621
12622 Disable usbserial on grub-emu since our libusb code isn't good enough
12623 yet.
12624
12625 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
12626 (usbserial_pl2303): Likewise.
12627 (usbserial_ftdi): Likewise.
12628
94564f81
VS
126292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12630
12631 * include/grub/disk.h (grub_disk): Remove has_partitions.
12632 All users updated.
12633 * disk/loopback.c (grub_loopback): Remove has_partitions.
12634 All users updated.
12635 (options): Remove partitions. All users updated.
12636 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
12637 * util/i386/pc/grub-setup.c (setup): copy partition table only when
12638 actual partition table is found.
12639
3352800b
VS
126402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12641
12642 Remove readability checks (too many false negatives).
12643
12644 * util/grub-install.in: Remove readability checks.
12645 * util/grub-mkconfig.in: Likewise.
12646 * util/grub.d/10_hurd.in: Likewise.
12647 * util/grub.d/10_kfreebsd.in: Likewise.
12648 * util/grub.d/10_linux.in: Likewise.
12649 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
12650 way.
12651
2419f17a
VS
126522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12653
12654 Enable acpi shutdown on all ACPI platforms.
12655
12656 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
12657 on coreboo, multiboot and EFI.
12658 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
12659 (grub_acpi_halt): Likewise.
12660 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
12661 (grub_cmd_halt): Don't call grub_acpi_halt directly.
12662 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
12663 * grub-core/lib/i386/halt.c (grub_halt)
12664 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
12665
0575c7c3
VS
126662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12667
12668 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
12669 context.
12670
54ac3cd1
VS
126712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12672
12673 * grub-core/video/efi_gop.c: Fix over-80-chars line.
12674 * grub-core/video/efi_uga.c: Likewise.
12675
b2a30ac5
VS
126762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 Filter devaliases and never open same device twice.
12679
12680 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
12681 (last_ihandle): Likewise.
12682 (ofdisk_hash_ent): New member shortest.
12683 (ofdisk_hash_add): Add canonical path too.
12684 (scan): New function.
12685 (grub_ofdisk_iterate): Iterate over hashed entries.
12686 (compute_dev_path): Don't add :0.
12687 (grub_ofdisk_open): Don't really open the disk.
12688 (grub_ofdisk_close): Avoid closing unrelated disk.
12689 (grub_ofdisk_read): Implement reopen logic.
12690 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
12691 New function.
12692 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
12693 New proto.
12694
fb53b340
VS
126952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 Fix sparc64.
12698
12699 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
12700 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
12701 right address. Add sparc64_ieee1275_ldflags.
12702 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
12703 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
12704 to grub_host_to_target_addr
12705 (load_image): Likewise.
12706
f452b040
VS
127072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12708
12709 * grub-core/normal/completion.c (complete_file): Handle device
12710 containing slash.
12711 Fix based on patch by Doug Nazar.
12712
9b5b2541
VS
127132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 grub-mknetdir script.
12716
12717 * Makefile.util.def (grub-mknetdir): New module.
12718 * tests/util/grub-shell.in: Support boot=net
12719 * util/grub-mknetdir.in: New file.
12720
9d2be652
VS
127212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 videoinfo on non-vbe.
12724
12725 * grub-core/Makefile.core.def (vbeinfo): Removed.
12726 (vbetest): Removed.
12727 (videoinfo): New module.
12728 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
12729 * grub-core/commands/i386/pc/vbetest.c: Removed.
12730 * grub-core/commands/videoinfo.c: New file.
12731 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
12732 specification.
12733 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
12734 as vbetest.
12735 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
12736 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
12737 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
12738 mode_number. New parameter mode. All users updated.
12739 (grub_video_gop_iterate): New function.
12740 (grub_video_efi_gop): New member iterate.
12741 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
12742 (grub_vbe_set_video_mode): Remove setting useless fields.
12743 (vbe2videoinfo): New function.
12744 (grub_video_vbe_iterate): Likewise.
12745 (grub_video_vbe_setup): Use vbe2videoinfo.
12746 (grub_video_vbe_print_adapter_specific_info): New function.
12747 (grub_video_vbe_adapter): New fields iterate and
12748 print_adapter_specific_info.
12749 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
12750 All users updated.
12751 (grub_video_mode_info): New field mode_number.
12752 (grub_video_adapter): New fields iterate and
12753 print_adapter_specific_info.
12754
179503f5
TG
127552010-09-13 Tristan Gingold <gingold@free.fr>
127562010-09-13 Robert Millan <rmh.grub@aybabtu.com>
127572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 * grub-core/commands/efi/lsefisystab.c: New file.
12760 * grub-core/commands/efi/lssal.c: Likewise.
12761 * grub-core/Makefile.core.def (lsacpi): New module.
12762 (lsefisystab): Likewise.
12763 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
12764 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
12765 (grub_efi_sal_system_table): New struct.
12766 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
12767 (grub_efi_sal_system_table_memory_descriptor): Likewise.
12768 (grub_efi_sal_system_table_platform_features): Likewise.
12769 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
12770 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
12771 (grub_efi_sal_system_table_ap_wakeup): Likewise.
12772 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
12773
cf9827de
VS
127742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12775
12776 Support explicit user claim that a device is BIOS-visible.
12777
12778 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
12779 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
12780 * grub-core/kern/emu/hostdisk.c
12781 (convert_system_partition_to_system_disk): Support mdX.
12782 (find_system_device): New parameter add. All users updated.
12783 (grub_util_biosdisk_is_present): New function.
12784 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
12785 proto.
12786
53f0eb1f
VS
127872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12788
12789 Search hints support.
12790
12791 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
12792 All users updated.
12793
b23ffd70
YB
127942010-09-13 Yves Blusseau <blusseau@zetam.org>
12795
12796 Bash completion script for util commands
12797
12798 * Makefile.am: Add util/bash-completion.d directory
12799 * configure.ac: Likewise.
12800 * util/bash-completion.d/Makefile.am: New file.
12801 * util/bash-completion.d/grub-completion.bash.in: Likewise.
12802
d547dc28
VS
128032010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12804
12805 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
12806 (print_backlog): set backlog_ucs4 and backlog_glyphs.
12807 Reported by: Yves Blusseau.
12808
2fc8ccb9
VS
128092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12810
12811 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
12812 partition size and offset.
12813
d8a84076
VS
128142010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
12817
84fb3b3d
VS
128182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12819
12820 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
12821
768ec2e2
VS
128222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
12825 (grub_xvasprintf): Likewise.
12826
4870900f
VS
128272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12828
12829 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
12830
faca6bec
VS
128312010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12832
12833 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
12834 args ending with NULL.
12835
128362010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
12837
12838 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
12839 pointer.
12840
3c70f225
SJ
128412010-09-11 Szymon Janc <szymon@janc.net.pl>
12842
12843 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
12844
4df7996d
VS
128452010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12846
12847 Shutdown using ACPI.
12848
12849 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
12850 * grub-core/commands/acpihalt.c: New file.
12851 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
12852 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
12853 (grub_acpi_halt): New proto.
12854 (GRUB_ACPI_SLP_EN): New const.
12855 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
12856 (GRUB_ACPI_OPCODE_*): New enum.
12857 (GRUB_ACPI_EXTOPCODE_*): Likewise.
12858
126b4c32
TG
128592010-09-11 Tristan Gingold <gingold@free.fr>
128602010-09-11 Robert Millan <rmh.grub@aybabtu.com>
128612010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12862
12863 * commands/lsacpi.c: New file.
12864 * grub-core/Makefile.core.def (lsacpi): New module.
12865 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
12866 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
12867 (grub_acpi_madt_entry_header): New struct.
12868 (grub_acpi_madt): Likewise.
12869 (grub_acpi_madt_entry_interrupt_override): Likewise.
12870 (grub_acpi_madt_entry_sapic): Likewise.
12871 (grub_acpi_madt_entry_lsapic): Likewise.
12872 (grub_acpi_madt_entry_platform_int_source): Likewise.
12873 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
12874 (PRIuGRUB_UINT32_T): Likewise.
12875 (PRIxGRUB_UINT64_T): Likewise.
12876
1aa4fe88
VS
128772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12878
12879 Implement loading palette on ieee1275_fb.
12880
12881 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
12882 (have_setcolors): Likewise.
12883 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
12884 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
12885 (grub_video_ieee1275_set_palette): Implement.
12886
25761e13
VS
128872010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
128882010-09-11 Colin Watson <cjwatson@ubuntu.com>
12889
12890 * util/grub-install.in (grub_partition): New variable.
12891 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
12892 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
12893 Fixes a bug reported by Yves Blusseau.
12894
050abaea
VS
128952010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12896
12897 Fix emu on mipsel.
12898
12899 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
12900 =grub_cpu_flush_cache on all mips and not only yeeloong.
12901 * configure.ac (COND_mips): New conditional.
12902 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
12903 platforms.
12904 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
12905 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
12906 [GRUB_LINKER_HAVE_INIT]: New function.
12907 (grub_emu_post_init): Likewise.
12908 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
12909 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
12910 * include/grub/cache.h (_mips): Include mips/cache.h.
12911 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
12912 LVM and RAID prototypes.
12913 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
12914 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
12915 function.
12916
5ed7d816
CW
129172010-09-10 Colin Watson <cjwatson@ubuntu.com>
12918
12919 * util/grub-install.in: Don't try to verify core.img until after
12920 running grub-mkimage to create it.
12921
90367e04
RM
129222010-09-10 Robert Millan <rmh@gnu.org>
12923
12924 * util/grub.d/10_hurd.in: Add misc readability checks.
12925 * util/grub.d/10_kfreebsd.in: Likewise.
12926 * util/grub.d/10_linux.in: Likewise.
12927
c452fa66
CW
129282010-09-10 Colin Watson <cjwatson@ubuntu.com>
12929
12930 * util/grub-install.in: ${imgext} won't be defined here until the
12931 install branch is merged. For the meantime, only verify core.img on
12932 i386-pc and sparc64-ieee1275 platforms.
12933
c38fe9f4
RM
129342010-09-10 Robert Millan <rmh@gnu.org>
12935
12936 Solaris support in grub_find_zpool_from_dir(). Thanks
12937 Seth Goldberg for referring to getextmntent() facility.
12938
12939 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
12940 `sys/mkdev.h'.
12941 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
12942 `<sys/mnttab.h>'.
12943 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
12944 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
12945 method for finding zpool name.
12946
905f7773
CW
129472010-09-10 Colin Watson <cjwatson@ubuntu.com>
12948
12949 grub-fstest needs the host and hostfs modules while other utilities
12950 actively require those modules to be absent, so grub-fstest needs
12951 its own initialisation and finalisation code.
12952
12953 * Makefile.am (grub_fstest.pp): New target.
12954 (grub_fstest_init.lst): Likewise.
12955 (grub_fstest_init.c): Likewise.
12956 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
12957
fb90b546
RM
129582010-09-10 Robert Millan <rmh@gnu.org>
12959
12960 * configure.ac: Check for `struct statfs.f_fstypename' and
12961 `struct statfs.f_mntfromname'.
12962
12963 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
12964 kFreeBSD-specific code.
12965
66d4bea5
RM
129662010-09-10 Robert Millan <rmh@gnu.org>
12967
12968 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
12969 on ZFS. Now non-main filesystems are supported as / too.
12970
b6a690ee
CW
129712010-09-09 Colin Watson <cjwatson@ubuntu.com>
12972
12973 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
12974 and grub-core/disk/host.c to ...
12975 (grub-fstest): ... here. Having the host disk implementation
12976 present confuses grub-probe and other utility programs.
12977
12978 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
12979 when writing to a file, not when writing to stdout.
12980
8901b00c 129812010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
12982
12983 * tests/partmap_test.in: New test for partitions.
12984 * Makefile.util.def: Rules for new test.
12985
7bf45fdd
RM
129862010-09-09 Robert Millan <rmh@gnu.org>
12987
12988 * util/grub-probe.c (probe): Fix a pair of unhandled error
12989 conditions.
12990
4dfbc574
RM
129912010-09-09 Robert Millan <rmh@gnu.org>
12992
12993 Basic Btrfs support (detection and UUID).
12994
12995 * grub-core/fs/btrfs.c: New file.
12996 * Makefile.util.def (library): Register btrfs.c.
12997 * grub-core/Makefile.core.def: Likewise.
12998
6b8e78ae
RM
129992010-09-08 Robert Millan <rmh@gnu.org>
13000
13001 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
13002 with (optional) parameters to specify device and relative path.
13003 * util/grub-install.in: Use is_path_readable_by_grub() to
13004 verify readability of a few critical files.
13005 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
13006 verify readability of grub.cfg.new.
13007
27f21a8b
VS
130082010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13009
13010 Split minix.mod into minix.mod and minix2.mod.
13011
13012 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
13013 * grub-core/Makefile.core.def (minix2): New module.
13014 * grub-core/fs/minix.c: Use definitions instead of runtime version
13015 checking.
13016 * grub-core/fs/minix2.c: New file.
13017
c0e53ea5
YB
130182010-09-08 Yves Blusseau <blusseau@zetam.org>
13019
13020 Add new --boot-directory option to replace --root-directory
13021
13022 * util/grub-install.in: Add new --boot-directory option
13023 * util/grub-reboot.in: Likewise.
13024 * util/grub-set-default.in: Likewise.
13025
b9fe6ea2
YB
130262010-09-08 Yves Blusseau <blusseau@zetam.org>
13027
13028 * util/grub-mkconfig.in: Use new variable.
13029
d87aedff
YB
130302010-09-08 Yves Blusseau <blusseau@zetam.org>
13031
13032 * configure.ac: Define some useful variables.
13033
e55e8495
VS
130342010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13035
13036 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13037 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
13038 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
13039 Use terminfo and don't use cursor-on/cursor-off unless it's known
13040 to work.
13041 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
13042 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
13043
6fa6d675
CW
130442010-09-08 Colin Watson <cjwatson@ubuntu.com>
13045
13046 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
13047 starts with "(,", fill the drive containing the loaded image in
13048 between those two characters, but expect that a full partition
13049 specification including partition map names will follow.
13050
92f2aef0
RM
130512010-09-08 Robert Millan <rmh@gnu.org>
13052
13053 * configure.ac: Remove `--enable-grub-fstest' option.
13054 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
13055
13056 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
13057 `grub-fstest' instead of `grub-probe' for readability verification.
13058 * util/grub-probe.c (probe): Remove readability verification kludge.
13059
99fd620d
RM
130602010-09-08 Robert Millan <rmh@gnu.org>
13061
13062 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
13063 initializing `GRUB_FS'.
13064
058e30ac 130652010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
13066
13067 Not command (!) support to GRUB script.
13068
13069 * tests/grub_script_not.in: New test.
13070 * Makefile.util.def: Rules for new test.
13071
13072 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13073 ! command as a special case.
13074 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
13075
b61d05ed 130762010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13077
058e30ac 13078 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
13079 grub_free.
b61d05ed 13080
4d69c786 130812010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13082
13083 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
13084
aa3119c4 130852010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13086
13087 * docs/grub.texi (Shell-like scripting): Documentation for break,
13088 continue, shift and return commands.
13089
db0f7e3d
VS
130902010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 Rename CD-ROM to cd on BIOS.
13093
13094 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
13095 "cd".
13096 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
13097
88b87c93
VS
130982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
13101 * util/grub-probe.c (main): Likewise.
13102 * util/i386/pc/grub-setup.c (main): Likewise.
13103 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13104 Reported and debugged by: alexxy
13105
294f324d
VS
131062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13107
13108 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
13109 diagnostic info.
13110
d7ee3441
JS
131112010-09-05 Jo Shields <directhex@apebox.org>
13112
13113 * util/grub.d/30_os-prober.in: Add missing classes.
13114
d7e06c1f
VS
131152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * docs/grub.texi (Theme file format): Document new position format.
13118
fc157e53
VS
131192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13122 a table. Use @code instead of @verbatim.
13123
506e9a1c
CB
131242010-09-05 Colin D Bennett <colin@gibibit.com>
13125
13126 Gfxmenu documentation.
13127
13128 * docs/grub.texi (Theme file format): New chapter.
13129
f0aff67c
SJ
131302010-09-05 Szymon Janc <szymon@janc.net.pl>
13131
13132 * grub-core/Makefile.core.def (xzio): New module.
13133 * grub-core/io/xzio.c: New file.
13134 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13135 * grub-core/lib/xzembed/xz_config.h: Likewise.
13136 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13137 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13138 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13139 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13140 * grub-core/lib/xzembed/xz_private.h: Likewise.
13141 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13142 * include/grub/file.h (grub_file_filter_id): New compression filter
13143 GRUB_FILE_FILTER_XZIO.
13144
82a85062
VS
131452010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13146
13147 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13148 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13149 size.
13150
3579415d
VS
131512010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13152
13153 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13154 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13155
5124ae6d
VS
131562010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13157
13158 Uncompressed checksum support.
13159
13160 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13161 (check_list): New parameter uncompress.
13162 (grub_cmd_hashsum): Handle --uncompress.
13163
9aadb3d1
VS
131642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13165
13166 Reintroduce testload.
13167
13168 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13169 from here ...
13170 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13171 (GRUB_MOD_INIT): New function.
13172 (GRUB_MOD_FINI): Likewise.
13173 * grub-core/Makefile.core.def (testload): New module.
13174
a17792c3
SJ
131752010-09-05 Szymon Janc <szymon@janc.net.pl>
13176
13177 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
13178 (uint8_t): New type.
13179 (uint16_t): Likewise.
13180 (uint32_t): Likewise.
13181 (uint64_t): Likewise.
13182
b81e40a3
SJ
131832010-09-05 Szymon Janc <szymon@janc.net.pl>
13184
13185 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
13186
fc2ef117
VS
131872010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13188
13189 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
13190 Made static.
13191 (grub_gzfile_open): Removed. All users updated.
13192 (GRUB_MOD_INIT): New function.
13193 (GRUB_MOD_FINI): Likewise.
13194 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13195 (grub_file_filters_enabled): Likewise.
13196 (grub_file_open): Handle filters.
13197 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
13198 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
13199 * include/grub/file.h (grub_file_filter_id_t): New type.
13200 (grub_file_filter_t): Likewise.
13201 (grub_file_filters_all): New extern variable.
13202 (grub_file_filters_enabled): Likewise.
13203 (grub_file_filter_register): New inline function.
13204 (grub_file_filter_unregister): Likewise.
13205 (grub_file_filter_disable): Likewise.
13206 (grub_file_filter_disable_compression): Likewise.
13207 * include/grub/gzio.h: Removed.
13208
35ee15e0
BC
132092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13210
13211 Filename expansion support for wildcards in GRUB script.
13212
13213 * tests/grub_script_expansion.in: New test.
13214 * Makefile.util.def: Rule for new test.
13215
13216 * grub-core/commands/wildcard.c: New file, implements filename
13217 expansion support for GRUB script.
13218 * grub-core/Makefile.core.def: Rule update for regexp.mod.
13219 * grub-core/script/argv.c: Cosmetic changes.
13220 * grub-core/script/execute.c (grub_script_arglist_to_argv):
13221 Refactored to perform wildcard expansion on arguments.
13222 * include/grub/script_sh.h (grub_script_wildcard_translator): New
13223 struct.
13224
13225 * tests/util/grub-shell.in: Fix quoting for read input.
13226
5f0c4aca
BC
132272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13228
13229 Support for updating environment variables with matched substrings
13230 of regexp.
13231
13232 * tests/grub_cmd_regexp.in: New test.
13233 * Makefile.util.def: Rule for new test.
13234
13235 * grub-core/commands/regexp.c: New option -s to update environment
13236 variables with regexp matches.
13237
3759a35f
SJ
132382010-09-04 Szymon Janc <szymon@janc.net.pl>
13239
13240 * include/grub/file.h (grub_file): New member not_easly_seekable.
13241 (grub_file_seekable): New inline function.
13242 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
13243 easily seekable.
13244 (grub_gzio_open): Set not_easly_seekable.
13245 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
13246 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
13247
ed8c6dec
BC
132482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13249
13250 Support for options to appear multiple times on cmdline.
13251
13252 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
13253 * grub-core/commands/extcmd.c: Support for repeatable option.
13254 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
13255 repeatable option support.
13256
13257 Refactor menuentry into a regular command.
13258
13259 * grub-core/commands/menuentry.c: New file, menuentry command
13260 implementation.
13261 * grub-core/Makefile.core.def: Rule update for normal.mod.
13262 * grub-core/normal/main.c: Moved menuentry creation to
13263 grub-core/commands/menuentry.c.
13264 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
13265 (grub_menu_execute_entry_real): Removed.
13266 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
13267 function.
13268 (grub_script_execute_menuentry): Removed.
13269 * grub-core/script/parser.y (menuentry): Removed.
13270 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
13271 * grub-core/script/yylex.l (menuentry): Removed.
13272 * include/grub/menu.h (grub_menu_init): New prototype.
13273 (grub_menu_fini): New prototype.
13274 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
13275 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
13276 (grub_script_execute_sourcecode): New prototype.
13277
dacd0cf0
BC
132782010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13279
13280 "return" command for GRUB script functions.
13281
13282 * tests/grub_script_return.in: New test.
13283 * Makefile.util.def: Rules for new test.
13284
13285 * grub-core/script/execute.c (grub_script_return): New function.
13286 * grub-core/script/main.c: Register/unregister return commaond.
13287 * include/grub/script_sh.h (grub_script_return): New prototype.
13288
52e72f9d
BC
132892010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13290
13291 "setparams" command to update positional parameters.
13292
13293 * tests/grub_script_setparams.in: New test.
13294 * Makefile.util.def: Rules for new test.
13295
13296 * grub-core/script/argv.c (grub_script_argv_make): New function.
13297 * grub-core/script/execute.c (replace_scope): New function.
13298 (grub_script_setparams): New function.
13299 * grub-core/script/lexer.c: Remove unused variables.
13300 * grub-core/script/main.c: Register/unregister setparams command.
13301 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
13302 (grub_script_setparams): New prototype.
13303
25b60c91
BC
133042010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13305
13306 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
13307 grub_free order.
13308
37e7bf68
BC
133092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13310
13311 Support for passing block of commands as an argument to extcmds.
13312
13313 * Makefile.util.def: Rules for new test.
13314 * tests/grub_script_blockarg.in: New test.
13315 * grub-core/tests/test_blockarg.c: New file, block argument
13316 command used in the test.
13317
13318 * include/grub/extcmd.h (grub_extcmd_context): New struct.
13319 (grub_register_extcmd_prio): New function prototype.
13320 (grub_extcmd_dispatcher): New function prototype.
13321 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
13322 type.
13323 * include/grub/script_sh.h (struct grub_script): New members
13324 `children', `next_siblings' and `refcnt' for block arguments and
13325 reference counting.
13326 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
13327 (grub_script_arg): New member `script' for block argument.
13328 (grub_script_argv): New member `script' for block argument.
13329 (grub_parser_param): New member `scripts' for block argument.
13330 (grub_script_mem_free): New extern function prototype.
13331 (grub_script_ref): New function prototype.
13332 (grub_script_unref): New function prototype.
13333
13334 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
13335 extcmd form to support block arguments.
13336 * grub-core/script/argv.c: Block arguments support.
13337 * grub-core/script/execute.c: Likewise.
13338 * grub-core/script/lexer.c: Likewise.
13339 * grub-core/script/main.c: Likewise.
13340 * grub-core/script/script.c: Likewise.
13341 * grub-core/script/parser.y: Likewise. New `block' and `block0'
13342 non-terminals.
13343
13344 * grub-core/commands/acpi.c: Update extcmd implementations with
13345 grub_extcmd_context_t.
13346 * grub-core/commands/cat.c: Likewise.
13347 * grub-core/commands/echo.c: Likewise.
13348 * grub-core/commands/extcmd.c: Likewise.
13349 * grub-core/commands/hashsum.c: Likewise.
13350 * grub-core/commands/hdparm.c: Likewise.
13351 * grub-core/commands/help.c: Likewise.
13352 * grub-core/commands/hexdump.c: Likewise.
13353 * grub-core/commands/i386/cpuid.c: Likewise.
13354 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13355 * grub-core/commands/i386/pc/halt.c: Likewise.
13356 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13357 * grub-core/commands/iorw.c: Likewise.
13358 * grub-core/commands/keystatus.c: Likewise.
13359 * grub-core/commands/loadenv.c: Likewise.
13360 * grub-core/commands/ls.c: Likewise.
13361 * grub-core/commands/lspci.c: Likewise.
13362 * grub-core/commands/memrw.c: Likewise.
13363 * grub-core/commands/probe.c: Likewise.
13364 * grub-core/commands/search_wrap.c: Likewise.
13365 * grub-core/commands/setpci.c: Likewise.
13366 * grub-core/commands/sleep.c: Likewise.
13367 * grub-core/disk/loopback.c: Likewise.
13368 * grub-core/hello/hello.c: Likewise.
13369 * grub-core/loader/i386/bsd.c: Likewise.
13370 * grub-core/loader/xnu.c: Likewise.
13371 * grub-core/term/gfxterm.c: Likewise.
13372 * grub-core/term/serial.c: Likewise.
13373 * grub-core/tests/lib/functional_test.c: Likewise.
13374
888d1500
BC
133752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13376
13377 Multi-line quoted strings support.
13378
13379 * grub-core/script/lexer.c (append_newline): Removed.
13380 (grub_script_lexer_yywrap): Refactored.
13381 (grub_script_lexer_init): Refactored.
13382 * grub-core/script/yylex.l (yywrap): New function.
13383 (grub_lexer_resplit): New function.
13384 (grub_lexer_unput): New function.
13385 * include/grub/script_sh.h (grub_lexer_param): New members, unput
13386 and resplit.
13387 * tests/grub_script_echo1.in: Added few more testcases.
13388
dda060dd
VS
133892010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 * grub-core/kern/misc.c: Don't add abort alias in utils.
13392 Reported by: echoline.
13393
6556eba9
BC
133942010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
13395
13396 Add missing files into "make dist" tarball for other platforms.
13397
13398 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
13399 * conf/Makefile.common (dist_noinst_DATA): New variable.
13400 * conf/Makefile.extra-dist: Added missing make dist files.
13401 * grub-core/Makefile.core.def: Likewise.
13402
c8e7bf5f
VS
134032010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13404
13405 Compress grub_prefix.
13406
13407 * grub-core/boot/i386/pc/lnxboot.S: Use
13408 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
13409 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
13410 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
13411 GRUB_MACHINE_PREFIX_END. All users updated.
13412 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
13413 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
13414 + 0x40.
13415 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13416 * util/grub-mkimage.c (image_target_desc): Change data_end to
13417 prefix_end. All users updated.
13418
a7c00cdb
VS
134192010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
13422 value.
13423 (grub_openbsd_boot): Likewise.
13424 (grub_netbsd_boot): Likewise.
13425 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
13426 (grub_xnu_boot): Likewise.
13427
9f915872
VS
134282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 * configure.ac: Clean LIBS variable after tests.
13431
efa1bee7
CW
134322010-09-02 Colin Watson <cjwatson@ubuntu.com>
13433
13434 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
13435
61d720e5
VS
134362010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
13439 echo if libdevmapper will be used.
13440
ef8e0ec8
IT
134412010-09-02 Ian Turner <Ian.Turner@deshaw.com>
13442
13443 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
13444 constant for the same file.
13445
03e261d8
VS
134462010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13447
13448 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
13449
c2a4eba6
CW
134502010-09-02 Colin Watson <cjwatson@ubuntu.com>
13451
13452 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
13453 grub-core/*.pp.
13454
9056cbf3
CW
134552010-09-02 Colin Watson <cjwatson@ubuntu.com>
13456
13457 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
13458 required by the boot protocol.
13459
13460 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
13461 ebp and edi members.
13462 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
13463 state.ebp and state.edi.
13464 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
13465 %ebp and %edi according to grub_relocator32_ebp and
13466 grub_relocator32_edi respectively.
13467 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
13468 and state.edi.
13469
529cc99a
VS
134702010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13471
13472 Add i386-pc-pxe image target.
13473
13474 * util/grub-mkimage.c (image_target_desc): New enum value
13475 IMAGE_I386_PC_PXE.
13476 (image_targets): New target i386-pc-pxe.
13477 (generate_image): Handle i386-pc-pxe image.
13478
9a093920
VS
134792010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13480
13481 Fix grub_pxe_scan.
13482
13483 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
13484 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
13485 All users updated.
13486 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
13487 (grub_pxe_pxenv): Correct type.
13488
f9cefc4e
CW
134892010-09-01 Colin Watson <cjwatson@ubuntu.com>
13490
13491 * NEWS: Document most of the important changes since 1.98.
13492
4066f57f
CW
134932010-09-01 Colin Watson <cjwatson@ubuntu.com>
13494
13495 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
13496 generated manual page) a little.
13497
da2891f9
CW
134982010-09-01 Colin Watson <cjwatson@ubuntu.com>
13499
13500 * docs/grub.texi: Add myself as an author.
13501
ad717fae
VS
135022010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13503
13504 * Makefile.util.def (libgrub.a): Add missing sunpc.
13505 Reported by: Seth Goldberg.
13506
eefe8abd
VS
135072010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13508
13509 Interrupt wrapping and code simplifications.
13510
9494ef9a
VS
13511 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
13512 x86_noieee1275 which are functionaly equivalent in this case.
13513 (grub-install): Make source on each platform explicit. Enable on
13514 all noemu.
13515 * gentpl.py (x86_efi_pc): Removed group.
13516 (x86_noefi): Likewise.
13517 (i386_noefi): Likewise.
13518 (x86_noieee1275): Likewise.
13519 (i386_noieee1275): Likewise.
13520 (i386_noefi_noieee1275): Likewise.
13521 (i386_pc_qemu_coreboot): Likewise.
13522 (i386_coreboot_multiboot): Likewise.
13523 (i386_pc_coreboot_multiboot_qemu): Likewise.
13524 (x86_noefi_mips): Likewise.
13525 (noieee1275): Likewise.
13526 (ieee1275_mips): Likewise.
13527 (noemu_noieee1275): Likewise.
13528 (cmos): New group.
13529 (usb): Likewise.
13530 (videoinkernel): Likewise.
13531 (videomodules): Likewise.
eefe8abd 13532 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
13533 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
13534 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
13535 include/grub/loader.h, include/grub/msdos_partition.h,
13536 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
13537 include/grub/machine/console.h, include/grub/machine/vga.h,
13538 include/grub/machine/vbe.h, include/grub/machine/init.h,
13539 include/grub/machine/kernel.h, include/grub/cpu/time.h,
13540 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 13541 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
13542 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
13543 * grub-core/Makefile.core.def (kernel): Explicit the source for
13544 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
13545 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
13546 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
13547 Use videoinkernel tag.
13548 (usb): Enable on all usb.
13549 (usbserial_common): Likewise.
13550 (usbserial_pl2303): Likewise.
13551 (usbserial_ftdi): Likewise.
13552 (uhci): Enable on all x86.
13553 (ohci): Enable on all pci.
13554 (cmostest): Enable on all CMOS.
13555 (acpi): Include commands/acpi.c on all platforms.
13556 (halt): Add relevant lib/*/halt.c.
13557 (hdparm): Enable on all pci.
13558 (lspci): Likewise.
13559 (usbtest): Enable on all usb.
13560 (ata): Enable on all pci.
13561 (ata_pthru): Likewise.
13562 (usbms): Enable on all usb.
13563 (usb_keyboard): Likewise.
13564 (font): Use tag videomodules.
13565 (bufio): Likewise.
13566 (datetime): Use tag cmos. Enable on all noemu.
13567 (mmap): Use tags common and x86.
13568 (gfxterm): Use tag videomodules.
13569 (bitmap): Likewise.
13570 (bitmap_scale): Likewise.
13571 (video_fb): Likewise.
13572 (video): Likewise.
13573 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
13574 adjust padding accordingly. All users updated.
13575 (grub_ohci_transaction): Fix bad format specification.
13576 (GRUB_MOD_INIT): Add asserts for struct size.
13577 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
13578 (grub_alloc_td): Likewise.
13579 (grub_free_queue): Likewise.
13580 (grub_uhci_transfer): Likewise.
13581 (grub_uhci_transaction): Fix bad format specification.
13582 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13583 (grub_usb_bulk_readwrite): Likewise.
13584 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
13585 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
13586 Made static.
13587 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
13588 Made static.
13589 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
13590 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
13591 Transformed into C.
13592 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
13593 Moved from here ...
13594 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
13595 ... here. Transformed into C. Made static.
13596 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
13597 Moved from here ...
13598 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
13599 ... here. Transformed into C. Made static.
13600 * grub-core/kern/i386/pc/startup.S
13601 (grub_biosdisk_check_int13_extensions): Moved from here ...
13602 * grub-core/disk/i386/pc/biosdisk.c
13603 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
13604 Made static.
13605 * grub-core/kern/i386/pc/startup.S
13606 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
13607 * grub-core/disk/i386/pc/biosdisk.c
13608 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
13609 Transformed into C. Made static.
13610 * grub-core/kern/i386/pc/startup.S
13611 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
13612 * grub-core/disk/i386/pc/biosdisk.c
13613 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
13614 Transformed into C. Made static.
13615 * grub-core/kern/i386/pc/startup.S
13616 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
13617 * grub-core/disk/i386/pc/biosdisk.c
13618 (grub_biosdisk_get_diskinfo_standard): ... here.
13619 Transformed into C. Made static.
13620 * grub-core/kern/i386/pc/startup.S
13621 (grub_biosdisk_get_num_floppies): Moved from here ...
13622 * grub-core/disk/i386/pc/biosdisk.c
13623 (grub_biosdisk_get_num_floppies): ... here.
13624 Transformed into C. Made static.
13625 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
13626 New function.
13627 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
13628 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
13629 Transformed into C. Made static.
13630 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
13631 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
13632 Transformed into C. Made static.
13633 * grub-core/kern/i386/ieee1275/init.c: Removed.
13634 * grub-core/kern/i386/misc.S: Likewise.
13635 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
13636 Splitted from here ...
13637 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
13638 Transformed into C. Made static. All users updated.
13639 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
13640 Transformed into C. Made static. All users updated.
13641 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
13642 Moved from here...
13643 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
13644 Transformed into C. Made static. All users updated.
13645 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
13646 Moved from here...
13647 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
13648 Transformed into C. Made static. All users updated.
13649 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
13650 Removed (replaced by C version).
13651 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
13652 Moved from here...
13653 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
13654 Transformed into C. Made static.
13655 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
13656 Moved from here...
13657 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
13658 ... here. Transformed into C.
13659 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
13660 Moved from here...
13661 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
13662 ... here. Transformed into C.
13663 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
13664 Moved from here...
13665 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
13666 ... here. Transformed into C. Made static.
13667 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
13668 Moved from here...
13669 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
13670 ... here. Transformed into C.
21ed554b
VS
13671 * grub-core/kern/i386/pc/startup.S
13672 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
13673 * grub-core/video/i386/pc/vbe.c
13674 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
13675 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
13676 Moved from here...
13677 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
13678 ... here. Transformed into C.
13679 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
13680 Moved from here...
13681 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
13682 ... here. Transformed into C.
13683 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
13684 Moved from here...
13685 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
13686 ... here. Transformed into C.
13687 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
13688 Moved from here...
13689 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
13690 ... here. Transformed into C.
13691 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
13692 Moved from here...
13693 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
13694 ... here. Transformed into C. Made static.
13695 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
13696 Moved from here...
13697 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
13698 ... here. Transformed into C. Made static.
13699 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
13700 Moved from here...
13701 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
13702 ... here. Transformed into C. Made static.
13703 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
13704 pxe_rm_entry as third argument.
13705 (grub_bios_interrupt): New function.
13706 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
13707 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
13708 of calling grub_stop.
13709 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
13710 * grub-core/lib/efi/halt.c (grub_halt): ...here.
13711 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
13712 * grub-core/lib/emu/halt.c (grub_halt): ... here.
13713 * grub-core/lib/i386/halt.c: Moved from here ...
13714 * grub-core/lib/i386/halt.c: ... here.
13715 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
13716 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
13717 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
13718 grub_stop_floppy.
13719 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
13720 * include/grub/i386/coreboot/init.h: Removed.
13721 * include/grub/i386/multiboot/init.h: Likewise.
13722 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
13723 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
13724 * include/grub/i386/pc/int.h: New file.
13725 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
13726 (grub_pxe_scan): Removed.
13727 (grub_pxe_call): Update prototype.
13728 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
13729 prototypes.
13730 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
13731 * include/grub/i386/qemu/init.h: Removed.
13732 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
13733 noreturn.
13734 (grub_halt): Likewise.
13735 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
13736 (grub_reboot): Likewise.
13737 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
13738 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
13739 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
13740
215dd471
RM
137412010-08-30 Robert Millan <rmh@gnu.org>
13742
13743 * NEWS: Document addition of ZFS support in `grub-install' and
13744 `grub-mkconfig'.
13745
ebd65b82
BC
137462010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
13747
13748 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
13749 dprintf output.
13750
11721d19
VS
137512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13752
13753 Remove leftover embedding of font objects.
13754
13755 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13756 * util/grub-install.in (font): Removed.
13757 * util/grub-mkimage.c (generate_image): Remove font support. All users
13758 updated.
13759
37837d4e
VS
137602010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13761
13762 Remove leftover embedding of font objects.
13763
13764 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13765 * util/grub-install.in (font): Removed.
13766 * util/grub-mkimage.c (generate_image): Remove font support. All users
13767 updated.
13768
b4c1aae0
VS
137692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 13772 Reported by: Ian Turner
b4c1aae0 13773
8920a08d
VS
137742010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
13777 timeout to avoid indefinite boot stalling.
13778
f21db033
VS
137792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13780
13781 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
13782 (grub_env_write_color_highlight): Likewise.
13783
9a9de209
VS
137842010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13785
13786 * grub-core/normal/term.c (print_more): Return to normal and not
13787 to standard state after printing "---MORE---".
13788
3dca01d7
VS
137892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13790
13791 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
13792 Mask out the bit 0x80 since it has other meaning that specifiing color.
13793
0b986c40
VS
137942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13795
13796 New relocator. Allows for more kernel support and more straightforward
13797 loader writing.
13798
13799 * Makefile.am (BOOTTARGET): New variable.
13800 (QEMU32): Likewise.
13801 (linux.init.x86_64): New target.
13802 (linux.init.i386): Likewise.
13803 (multiboot.elf): Likewise.
13804 (kfreebsd.elf): Likewise.
13805 (kfreebsd.aout): Likewise.
13806 (pc-chainloader.elf): Likewise.
13807 (pc-chainloader.bin): Likewise.
13808 (ntldr.elf): Likewise.
13809 (ntldr.bin): Likewise.
13810 (multiboot2.elf): Likewise.
13811 (kfreebsd.init.x86_64): Likewise.
13812 (kfreebsd.init.i386): Likewise.
13813 (knetbsd.init.i386): Likewise.
13814 (kopenbsd.init.i386): Likewise.
13815 (knetbsd.init.x86_64): Likewise.
13816 (kopenbsd.init.x86_64): Likewise.
13817 (linux-initramfs.i386): Likewise.
13818 (linux-initramfs.x86_64): Likewise.
13819 (kfreebsd-mfsroot.i386.img): Likewise.
13820 (knetbsd.image.i386): Likewise.
13821 (kopenbsd.image.i386): Likewise.
13822 (kopenbsd.image.x86_64): Likewise.
13823 (knetbsd.miniroot-image.i386.img): Likewise.
13824 (kfreebsd-mfsroot.x86_64.img): Likewise.
13825 (knetbsd.image.x86_64): Likewise.
13826 (knetbsd.miniroot-image.x86_64.img): Likewise.
13827 (kfreebsd-mfsroot.i386.gz): Likewise.
13828 (bootcheck-kfreebsd-i386): Likewise.
13829 (kfreebsd-mfsroot.x86_64.gz): Likewise.
13830 (bootcheck-kfreebsd-x86_64): Likewise.
13831 (knetbsd.miniroot-image.i386.gz): Likewise.
13832 (bootcheck-knetbsd-i386): Likewise.
13833 (bootcheck-kopenbsd-i386): Likewise.
13834 (bootcheck-kopenbsd-x86_64): Likewise.
13835 (knetbsd.miniroot-image.x86_64.gz): Likewise.
13836 (bootcheck-knetbsd-x86_64): Likewise.
13837 (bootcheck-linux-i386): Likewise.
13838 (bootcheck-linux-x86_64): Likewise.
13839 (bootcheck-linux16-i386): Likewise.
13840 (bootcheck-linux16-x86_64): Likewise.
13841 (bootcheck-multiboot): Likewise.
13842 (bootcheck-multiboot2): Likewise.
13843 (bootcheck-kfreebsd-aout): Likewise.
13844 (bootcheck-pc-chainloader): Likewise.
13845 (bootcheck-ntldr): Likewise.
13846 (CLEANFILES): Add new targets.
13847 (BOOTCHECKS): New variable.
13848 (.PHONY): Add bootchecks.
13849 (SUCCESSFUL_BOOT_STRING): New variable.
13850 (BOOTCHECK_TIMEOUT): Likewise.
13851 (bootcheck): New target
13852 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
13853 * configure.ac: Correct efiemu excuse.
13854 * docs/grub.texi (Supported kernels): New chapter.
13855 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
13856 include/grub/mm_private.h. Simplify inclusion of
13857 include/grub/boot.h, include/grub/loader.h
13858 and include/grub/msdos_partition.h
13859 (KERNEL_HEADER_FILES) [i386_coreboot]:
13860 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
13861 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
13862 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
13863 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
13864 include/grub/machine/loader.h.
13865 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
13866 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
13867 extra_dist.
13868 (pci.mod): Enable on i386-multiboot.
13869 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
13870 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
13871 i386-qemu.
13872 (relocator.mod): Rewritten.
13873 (aout.mod): Enable on all x86.
13874 (bsd.mod): Likewise.
13875 (ntldr.mod): New module.
13876 (linux.mod): Use loader/i386/linux.c on all x86.
13877 (xnu.mod): Enable on all x86.
13878 (vga_text.mod): disable on EFI and QEMU.
13879 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
13880 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
13881 * grub-core/efiemu/loadcore.c: Likewise.
13882 * grub-core/efiemu/main.c: Likewise.
13883 (grub_efiemu_exit_boot_services): Removed.
13884 (grub_efiemu_finish_boot_services): Likewise.
13885 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
13886 function.
13887 * grub-core/efiemu/i386/nocfgtables.c: New file.
13888 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
13889 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
13890 (grub_efi_finish_boot_services): Moved from here ...
13891 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
13892 Fille finish memory map and related data.
13893 (finish_mmap_buf): New variable.
13894 (grub_efi_uintn_t finish_mmap_size): Likewise.
13895 (grub_efi_uintn_t finish_key): Likewise.
13896 (grub_efi_uintn_t finish_desc_size): Likewise.
13897 (grub_efi_uint32_t finish_desc_version): Likewise.
13898 (grub_efi_is_finished): Likewise.
13899 (grub_efi_get_memory_map): Use saved memory map if EFI is already
13900 finished.
13901 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
13902 (grub_elf64_phdr_iterate): Likewise.
13903 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
13904 (grub_os_area_size): Likewise.
13905 (grub_machine_init): Don't reserve os area.
13906 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
13907 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13908 * grub-core/kern/i386/loader.S: Removed.
13909 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
13910 (grub_os_area_size): Likewise.
13911 (grub_machine_init): Don't reserve os area.
13912 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
13913 Don't call grub_dl_unload_all.
13914 Don't include loader.S.
13915 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
13916 Declare the memory after _end as available.
13917 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 13918 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 13919 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
13920 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
13921 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
13922 * include/grub/mm_private.h (grub_mm_header): ... here.
13923 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
13924 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
13925 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
13926 (grub_mm_region): ..here. Removed addr. Added pre_size.
13927 All users updated.
13928 * grub-core/kern/mm.c (base): Renamed to ...
13929 (grub_mm_base): ... this. Made global.
13930 (grub_real_malloc): Alloc from end of region.
13931 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
13932 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
13933 * grub-core/kern/powerpc/cache_flush.S: ... here.
13934 * grub-core/lib/efi/relocator.c: New file.
13935 * grub-core/lib/i386/relocator.c: Rewritten.
13936 * grub-core/lib/i386/relocator16.S: New file.
13937 * grub-core/lib/i386/relocator32.S: Likewise.
13938 * grub-core/lib/i386/relocator64.S: Likewise.
13939 * grub-core/lib/i386/relocator_asm.S: Rewritten.
13940 * grub-core/lib/i386/relocator_common.S: New file.
13941 * grub-core/lib/ieee1275/relocator.c: Likewise.
13942 * grub-core/lib/mips/relocator.c: Rewritten.
13943 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
13944 stylistic adjustments.
13945 * grub-core/lib/powerpc/relocator.c: New file.
13946 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
13947 * grub-core/lib/relocator.c: Rewritten.
13948 * grub-core/lib/x86_64/relocator_asm.S: New file.
13949 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
13950 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
13951 (bsd_tag): New struct.
13952 (tags): New variable.
13953 (tags_last): Likewise.
13954 (netbsd_module): New struct.
13955 (netbsd_mods): New variable.
13956 (netbsd_mods_last): Likewise.
13957 (openbsd_opts): New parameter "serial".
13958 (OPENBSD_SERIAL_ARG): New definition.
13959 (netbsd_opts): New parameter "serial".
13960 (NETBSD_SERIAL_ARG): New definition.
13961 (grub_freebsd_add_meta): Reorganised into ...
13962 (grub_bsd_add_meta): ...this. All users updated.
13963 (grub_freebsd_add_mmap): Reorganised into ...
13964 (generate_e820_mmap): ...this...
13965 (grub_bsd_add_mmap): ...and this. All users updated.
13966 (grub_freebsd_list_modules): Use tags.
13967 (grub_netbsd_add_meta_module): New function.
13968 (grub_netbsd_list_modules): Likewise.
13969 (grub_freebsd_boot): Use relocator and finish EFI.
13970 (grub_openbsd_boot): Likewise.
13971 (grub_netbsd_setup_video): New function.
13972 (grub_netbsd_add_modules): Likewise.
13973 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
13974 and finish EFI.
13975 (grub_bsd_unload): Unload tags.
13976 (grub_bsd_load_aout): Use relocator.
13977 (grub_bsd_elf32_size_hook): New function.
13978 (grub_bsd_elf32_hook): Use relocator.
13979 (grub_bsd_elf64_size_hook): New function.
13980 (grub_bsd_elf64_hook): Use relocator.
13981 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
13982 (grub_bsd_load): Zero-out openbsd_ramdisk.
13983 (grub_bsd_load): Use relocator.
13984 (grub_cmd_openbsd): Support serial.
13985 (grub_cmd_netbsd): Support modules.
13986 (grub_cmd_freebsd_module): Use relocator.
13987 (grub_netbsd_module_load): New function.
13988 (grub_cmd_netbsd_module): Likewise.
13989 (grub_cmd_openbsd_ramdisk): Likewise.
13990 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
13991 kopenbsd_ramdisk.
13992 (GRUB_MOD_FINI): Unregister new commands.
13993 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
13994 (grub_freebsd_load_elfmodule_obj): Use relocator.
13995 (grub_freebsd_load_elfmodule): Likewise.
13996 (grub_freebsd_load_elf_meta): Likewise.
13997 (grub_netbsd_load_elf_meta): New function.
13998 (grub_openbsd_find_ramdisk): Likewise.
13999 * grub-core/loader/i386/bsd_helper.S: Removed.
14000 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
14001 * grub-core/loader/i386/bsd_trampoline.S: Removed.
14002 * grub-core/loader/i386/efi/linux.c: Likewise.
14003 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
14004 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
14005 (DEFAULT_VIDEO_MODE): Likewise.
14006 (real_mode_target): New variable.
14007 (prot_mode_target): Likewise.
14008 (initrd_mem_target): Likewise.
14009 (relocator): Likewise.
14010 (efi_mmap_buf): Likewise.
14011 (efi_mmap_size): Likewise.
14012 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
14013 (free_pages): Use relocator.
14014 (allocate_pages): Account for efi_mmap and use relocator. Return error.
14015 (grub_linux_setup_video): Return error.
14016 (grub_linux_trampoline_start): Removed.
14017 (grub_linux_trampoline_end): Likewise.
14018 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
14019 andd video parameters depending on firmware.
14020 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
14021 [GRUB_MACHINE_EFI]: Pass EFI parameters.
14022 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
14023 (grub_cmd_initrd): Use relocator.
14024 * grub-core/loader/i386/linux_trampoline.S: Removed.
14025 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
14026 (elf_sec_entsize): Likewise.
14027 (elf_sec_shstrndx): Likewise.
14028 (elf_sections): Likewise.
14029 (grub_multiboot_load): Use relocator.
14030 (grub_multiboot_get_mbi_size): Account for sections.
14031 (grub_multiboot_make_mbi): Use relocator and support sections.
14032 (grub_multiboot_add_elfsyms): New function.
14033 (grub_multiboot_free_mbi): Free sections.
14034 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
14035 (grub_linux_real_target): Likewise.
14036 (grub_linux_real_chunk): Likewise.
14037 (grub_linux16_prot_size): Likewise.
14038 (grub_linux16_boot): Use relocator.
14039 (grub_linux_unload): Unload relocator.
14040 (grub_cmd_linux): Use relocator.
14041 (grub_cmd_initrd): Likewise.
14042 * grub-core/loader/i386/pc/ntldr.c: New file.
14043 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
14044 Don't try to guess CPU frequency.
14045 (grub_xnu_set_video): Stretch bitmap.
14046 (grub_xnu_boot): Use relocator.
14047 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
14048 (grub_linux_unload): Free relocator.
14049 (grub_linux_load32): Use relocator.
14050 (grub_linux_load64): Likewise.
14051 (grub_cmd_initrd): Likewise.
14052 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
14053 (grub_multiboot_unload): Unload relocator.
14054 (grub_cmd_multiboot): Use relocator.
14055 (grub_cmd_module): Likewise.
14056 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
14057 Use relocator and support sections.
14058 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
14059 (elf_sec_entsize): Likewise.
14060 (elf_sec_shstrndx): Likewise.
14061 (elf_sections): Likewise.
14062 (grub_multiboot_load): Use relocator.
14063 (grub_multiboot_get_mbi_size): Account for sections.
14064 (grub_multiboot_make_mbi): Use relocator and support sections.
14065 (grub_multiboot_add_elfsyms): New function.
14066 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
14067 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
14068 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
14069 Prototype changed. All users updated.
14070 (grub_xnu_align_heap): Simplified.
14071 (grub_xnu_writetree_toheap): Likewise.
14072 (grub_xnu_unload): Unload relocator.
14073 (grub_cmd_xnu_kernel): Use relocator.
14074 (grub_cmd_xnu_kernel64): Likewise.
14075 (grub_xnu_register_memory): Simplified.
14076 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
14077 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
14078 EFI is finished.
14079 (grub_console_checkkey): Likewise.
14080 (grub_console_getkey): Likewise.
14081 (grub_console_getwh): Likewise.
14082 (grub_console_getxy): Likewise.
14083 (grub_console_gotoxy): Likewise.
14084 (grub_console_cls): Likewise.
14085 (grub_console_setcolorstate): Likewise.
14086 (grub_console_setcursor): Likewise.
14087 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
14088 * grub-core/tests/boot/kbsd.init-i386.S: New file.
14089 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
14090 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
14091 * grub-core/tests/boot/kernel-8086.S: Likewise.
14092 * grub-core/tests/boot/kernel-i386.S: Likewise.
14093 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
14094 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
14095 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
14096 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
14097 * grub-core/tests/boot/knetbsd.cfg: Likewise.
14098 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
14099 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
14100 * grub-core/tests/boot/linux.cfg: Likewise.
14101 * grub-core/tests/boot/linux.init-i386.S: Likewise.
14102 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
14103 * grub-core/tests/boot/linux16.cfg: Likewise.
14104 * grub-core/tests/boot/multiboot.cfg: Likewise.
14105 * grub-core/tests/boot/multiboot2.cfg: Likewise.
14106 * grub-core/tests/boot/ntldr.cfg: Likewise.
14107 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
14108 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
14109 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14110 New definition.
14111 * include/grub/dl.h (grub_dl_unload_all): Removed.
14112 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14113 (grub_efi_finish_boot_services): Change prototype.
14114 (grub_efi_is_finished): New variable.
14115 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14116 Changed prototype.
14117 (grub_efiemu_finish_boot_services): Removed.
14118 (grub_machine_efiemu_init_tables): New prototype.
14119 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14120 (grub_elf64_phdr_iterate): Likewise.
14121 * include/grub/i386/bsd.h: Include relocator.h.
14122 (freebsd_tag_header): New struct.
14123 (grub_openbsd_bios_mmap): Removed.
14124 (grub_unix_real_boot): Removed.
14125 (grub_freebsd_load_elfmodule32): Changed prototype.
14126 (grub_freebsd_load_elfmodule_obj64): Likewise.
14127 (grub_freebsd_load_elf_meta32): Likewise.
14128 (grub_freebsd_load_elf_meta64): Likewise.
14129 (grub_freebsd_add_meta): Removed.
14130 (grub_netbsd_load_elf_meta32): New prototype.
14131 (grub_netbsd_load_elf_meta64): Likewise.
14132 (grub_bsd_add_meta): Likewise.
14133 (grub_openbsd_ramdisk_descriptor): New struct.
14134 (grub_openbsd_find_ramdisk32): New prototype.
14135 (grub_openbsd_find_ramdisk64): Likewise.
14136 * include/grub/i386/coreboot/loader.h: Removed.
14137 * include/grub/i386/efi/loader.h: Likewise.
14138 * include/grub/i386/ieee1275/loader.h: Likewise.
14139 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14140 to grub_uint32_t.
14141 * include/grub/i386/loader.h: Removed.
14142 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14143 value.
14144 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14145 (grub_phys_addr_t): New type.
14146 (grub_vtop): New inline function.
14147 (grub_map_memory): Likewise.
14148 (grub_unmap_memory): Likewise.
14149 * include/grub/i386/multiboot/loader.h: Removed.
14150 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14151 (NETBSD_BTINFO_CONSOLE): New definition.
14152 (NETBSD_BTINFO_SYMTAB): Likewise.
14153 (NETBSD_BTINFO_MODULES): Likewise.
14154 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14155 (grub_netbsd_bootinfo): New struct.
14156 (grub_netbsd_btinfo_common): Use explicit bitsize.
14157 (grub_netbsd_btinfo_mmap_entry): Removed.
14158 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14159 (grub_netbsd_btinfo_bootdisk): New struct.
14160 (grub_netbsd_btinfo_symtab): Likewise.
14161 (grub_netbsd_btinfo_serial): Likewise.
14162 (grub_netbsd_btinfo_modules): Likewise.
14163 (grub_netbsd_btinfo_framebuf): Likewise.
14164 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14165 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14166 Likewise.
14167 (grub_openbsd_bootargs): Use explicit bitsize.
14168 (grub_openbsd_bootarg_console): New struct.
14169 (GRUB_OPENBSD_COM_MAJOR): New definition.
14170 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14171 * include/grub/i386/pc/efiemu.h: Removed.
14172 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14173 * include/grub/i386/qemu/loader.h: Removed.
14174 * include/grub/i386/relocator.h: Rewritten.
14175 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
14176 * include/grub/mips/memory.h: New file.
14177 * include/grub/mips/multiboot.h: Rewritten.
14178 * include/grub/mips/relocator.h: Rewritten.
14179 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
14180 (grub_vtop): New function.
14181 (grub_map_memory): Likewise.
14182 (grub_unmap_memory): Likewise.
14183 * include/grub/misc.h (ALIGN_DOWN): New definition.
14184 * include/grub/mm.h (grub_mm_check_real): New proto.
14185 (GRUB_MM_CHECK): New definition.
14186 * include/grub/mm_private.h: New file.
14187 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
14188 (grub_multiboot_get_mbi_size): Removed.
14189 (grub_multiboot_make_mbi): Change prottype.
14190 (grub_multiboot_set_accepts_video): New proto.
14191 (grub_multiboot_add_elfsyms): Likewise.
14192 (grub_multiboot_payload_eip): New variable.
14193 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
14194 New prototype.
14195 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
14196 New definition.
14197 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
14198 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
14199 * include/grub/powerpc/ieee1275/loader.h: Removed.
14200 * include/grub/powerpc/memory.h: New file.
14201 * include/grub/powerpc/relocator.h: Likewise.
14202 * include/grub/relocator.h: Likewise.
14203 * include/grub/relocator_private.h: Likewise.
14204 * include/grub/sparc64/ieee1275/loader.h: Removed.
14205 * include/grub/x86_64/memory.h: New file.
14206 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
14207 (grub_xnu_heap_malloc): Likewise.
14208 (grub_xnu_heap_real_start): Removed.
14209 (grub_xnu_heap_start): Likewise.
14210 (grub_xnu_relocator): New variable.
14211 (grub_xnu_heap_target_start): Likewise.
14212 * tests/util/grub-shell.in: Support non-pc.
14213 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 14214
5303b85d
VS
142152010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14216
14217 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
14218 on malloc error.
14219 (grub_bidi_logical_to_visual): Check that malloc succeded.
14220 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
14221 puts.
14222 (grub_xputs_normal): Likewise.
14223
d768d159
VS
142242010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14225
14226 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
14227 extra_dist.
14228
142292010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14230
14231 * grub-core/efiemu/runtime/efiemu.sh: Removed.
14232
5bf84df4
VS
142332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14234
14235 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
14236
3626810e
VS
142372010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14238
14239 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
14240 dprintf.
14241
a7363f53
BC
142422010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
14243
14244 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
14245
902f75f6
VS
142462010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14247
14248 * grub-core/normal/term.c (print_more): Fix a memory leak.
14249 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
14250 (grub_xputs_normal): Likewise.
14251
3c707967
VS
142522010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14253
14254 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
14255 the begining of the string
14256
2053cc07
VS
142572010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14258
14259 * grub-core/script/script.c (grub_script_parse): Free parsed on
14260 failure.
14261
46422ebf
VS
142622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
14265 on failure.
14266
9e0fa3f6
VS
142672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14268
14269 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
14270 return.
14271
3393cf16
VS
142722010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14273
14274 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
14275 (scroll_up): Fix a memory leak.
14276
b17540cb
VS
142772010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14278
14279 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
14280 errors.
14281
67140446
VS
142822010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
14283
14284 Handle USB pendrives exposed as floppies.
14285
14286 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
14287 floppy.
14288 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14289 Check for partitions on all devices.
14290
e35e46fc
VS
142912010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14292
14293 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
14294 (readkey): Likewise.
14295
d24c6190
BC
142962010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14297
14298 Multiple variable names support to "export" command.
14299
14300 * normal/context.c (grub_cmd_export): "export" command supports
14301 multiple variable names.
14302
04ddcc6a
ST
143032010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
14304
14305 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
14306 --target=drive output to Mach device name.
14307
0c8b61d8
BC
143082010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14309
14310 New Automake based build system for GRUB.
14311
14312 * ABOUT-NLS: New file.
14313 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
14314 in Makefile.util.def file.
14315 * Makefile.util.def: New file. Autogen build definitions file for
14316 GRUB host utils.
14317 * conf/Makefile.common: New file. Common variables for GRUB host
14318 utils and target modules.
14319 * conf/Makefile.extra-dist: New file. Extra files for make dist.
14320 * docs/Makefile.am: New file. Automake file for docs.
14321 * gentpl.py: New file. Python script to generate Autogen
14322 template.
14323 * grub-core/Makefile.am: New file. GRUB target modules' rules
14324 that doesn't fit in Makefile.core.def file.
14325 * grub-core/Makefile.core.def: New file. Autogen build
14326 definitions file for GRUB target modules.
14327 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
14328 specific setjmp.S file.
14329 * po/Makefile.am: New file.
14330
14331 * .bzrignore: New ignores.
14332 * INSTALL: New requirements, without Ruby.
14333 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
14334 * autogen.sh: Updated to invoke autogen as necessary.
14335 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
14336 and defines for Automake conditionals.
14337 * geninit.sh: Refactoring.
14338
14339 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
14340 necessary.
14341 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
14342 New prototype.
14343
14344 * include/grub/test.h: Fix functional test modules' naming.
14345 * grub-core/tests/example_functional_test.c: Fix test module name.
14346
14347 * util/misc.c: Hosted versions' of grub functions for libgrub.a
14348 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
14349 * util/grub-editenv.c: Likewise.
14350 * util/grub-fstest.c: Likewise.
14351 * util/grub-mkdevicemap.c: Likewise.
14352 * util/grub-mkfont.c: Likewise.
14353 * util/grub-mkimage.c: Likewise.
14354 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14355 * util/grub-probe.c: Likewise.
14356 * util/grub-script-check.c: Likewise.
14357 * util/i386/pc/grub-setup.c: Likewise.
14358 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14359
14360 * tests/util/grub-shell.in: Fix override directory path.
14361 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
14362 * util/import_gcry.py: Create Makefile.gcry.def file instead.
14363
14364 * util/lvm.c: Update #includes.
14365 * util/raid.c: Likewise.
14366 * util/resolve.c: Likewise.
14367 * grub-core/bus/emu/pci.c: Likewise.
14368 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
14369 * grub-core/lib/posix_wrap/string.h: Likewise.
14370 * grub-core/kern/emu/main.c: Likewise.
14371
14372 * grub-core/gensymlist.sh: New file. Script for generating kernel
14373 symbols file.
14374 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
14375
14376 * grub-core/gentrigtables.c: Fix unused variable warnings.
14377
14378 * Makefile.in: Removed.
14379 * conf/any-emu.rmk: Removed.
14380 * conf/common.rmk: Removed.
14381 * conf/i386-coreboot.rmk: Removed.
14382 * conf/i386-efi.rmk: Removed.
14383 * conf/i386-ieee1275.rmk: Removed.
14384 * conf/i386-multiboot.rmk: Removed.
14385 * conf/i386-pc.rmk: Removed.
14386 * conf/i386-qemu.rmk: Removed.
14387 * conf/i386.rmk: Removed.
14388 * conf/mips-yeeloong.rmk: Removed.
14389 * conf/mips.rmk: Removed.
14390 * conf/powerpc-ieee1275.rmk: Removed.
14391 * conf/sparc64-ieee1275.rmk: Removed.
14392 * conf/tests.rmk: Removed.
14393 * conf/x86-efi.rmk: Removed.
14394 * conf/x86_64-efi.rmk: Removed.
14395 * gendistlist.sh: Removed.
14396 * geninitheader.sh: Removed.
14397 * genkernsyms.sh.in: Removed.
14398 * genmk.rb: Removed.
14399 * gensymlist.sh.in: Removed.
14400 * mkinstalldirs: Removed.
14401 * boot: Moved ...
14402 * grub-core/boot: ... to here.
14403 * bus: Moved ...
14404 * grub-core/bus: ... to here.
14405 * commands: Moved ...
14406 * grub-core/commands: ... to here.
14407 * disk: Moved ...
14408 * grub-core/disk: ... to here.
14409 * efiemu: Moved ...
14410 * grub-core/efiemu: ... to here.
14411 * font: Moved ...
14412 * grub-core/font: ... to here.
14413 * fs: Moved ...
14414 * grub-core/fs: ... to here.
14415 * gencmdlist.sh: Moved ...
14416 * grub-core/gencmdlist.sh: ... to here.
14417 * genemuinit.sh: Moved ...
14418 * grub-core/genemuinit.sh: ... to here.
14419 * genemuinitheader.sh: Moved ...
14420 * grub-core/genemuinitheader.sh: ... to here.
14421 * genfslist.sh: Moved ...
14422 * grub-core/genfslist.sh: ... to here.
14423 * genhandlerlist.sh: Moved ...
14424 * grub-core/genhandlerlist.sh: ... to here.
14425 * genmoddep.awk: Moved ...
14426 * grub-core/genmoddep.awk: ... to here.
14427 * genmodsrc.sh: Moved ...
14428 * grub-core/genmodsrc.sh: ... to here.
14429 * genpartmaplist.sh: Moved ...
14430 * grub-core/genpartmaplist.sh: ... to here.
14431 * genparttoollist.sh: Moved ...
14432 * grub-core/genparttoollist.sh: ... to here.
14433 * genterminallist.sh: Moved ...
14434 * grub-core/genterminallist.sh: ... to here.
14435 * gentrigtables.c: Moved ...
14436 * grub-core/gentrigtables.c: ... to here.
14437 * genvideolist.sh: Moved ...
14438 * grub-core/genvideolist.sh: ... to here.
14439 * gettext: Moved ...
14440 * grub-core/gettext: ... to here.
14441 * gfxmenu: Moved ...
14442 * grub-core/gfxmenu: ... to here.
14443 * gnulib: Moved ...
14444 * grub-core/gnulib: ... to here.
14445 * hello: Moved ...
14446 * grub-core/hello: ... to here.
14447 * hook: Moved ...
14448 * grub-core/hook: ... to here.
14449 * io: Moved ...
14450 * grub-core/io: ... to here.
14451 * kern: Moved ...
14452 * grub-core/kern: ... to here.
14453 * lib: Moved ...
14454 * grub-core/lib: ... to here.
14455 * loader: Moved ...
14456 * grub-core/loader: ... to here.
14457 * mmap: Moved ...
14458 * grub-core/mmap: ... to here.
14459 * normal: Moved ...
14460 * grub-core/normal: ... to here.
14461 * partmap: Moved ...
14462 * grub-core/partmap: ... to here.
14463 * parttool: Moved ...
14464 * grub-core/parttool: ... to here.
14465 * script: Moved ...
14466 * grub-core/script: ... to here.
14467 * term: Moved ...
14468 * grub-core/term: ... to here
14469 * tests/example_functional_test.c: Moved ...
14470 * grub-core/tests/example_functional_test.c: ... to here.
14471 * tests/lib/functional_test.c: Moved ...
14472 * grub-core/tests/lib/functional_test.c: ... to here.
14473 * tests/lib/test.c: Moved ...
14474 * grub-core/tests/lib/test.c: ... to here.
14475 * video: Moved ...
14476 * grub-core/video: ... to here.
14477
645586e6
BC
144782010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14479
14480 Replace --enable-grub-emu-modules with grub-emu-lite.
14481
14482 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
14483 cache.S.
14484
14485 * include/grub/emu/misc.h (grub_emu_init): New prototype.
14486 * kern/emu/full.c: New file. For grub-emu specific initialization.
14487 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
14488 * kern/emu/main.c: Call initialization function grub_emu_init.
14489
14490 * Makefile.in: Include grub-emu-lite in install.
14491 * commands/parttool.c: Use grub_no_autoload to differentiate
14492 between grub-emu and grub-emu-lite.
14493 * include/grub/misc.h: New variable grub_no_autoload.
14494
14495 * conf/any-emu.rmk: New rules for grub-emu-lite.
14496 * configure.ac: Remove --enable-grub-emu-modules.
14497 * genmk.rb: Cleanup unnecessary rules.
14498 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
14499
14500 * normal/main.c: Don't load list files on grub-emu-lite.
14501 * util/misc.c (grub_arch_sync_caches): Removed.
14502
f86a4030
CW
145032010-08-23 Colin Watson <cjwatson@ubuntu.com>
14504
14505 * kern/mips/startup.S (grub_prefix): Update comment to refer to
14506 grub-mkimage rather than grub-mkelfimage.
14507 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14508
06776944
VS
145092010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14510
14511 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
14512 a key after CapsLock or NumLock. It's just a qemu bug.
14513
df262419
VS
145142010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14515
14516 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
14517 needed by libusb wrapper.
14518
b40ea81b
ST
145192010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14520
14521 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
14522
dee50575
VS
145232010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14524
14525 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
14526 --nounzip is passed.
14527
fb1d7b79
VS
145282010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
14529
14530 USB hotunplugging and USB serial support.
14531
14532 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
14533 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
14534 (grub_uhci_transfer): Respect timeout and set *actual.
14535 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
14536 non-standard length.
14537 (grub_usb_device_attach): Autoload modules.
14538 (GRUB_MOD_INIT): Set grub_term_poll_usb.
14539 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
14540 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
14541 users updated.
14542 (grub_usb_add_hub): Fill nports and children.
14543 (attach_root_port): Receive hub instead of controller.
14544 All users updated. Fill hub->devices.
14545 (grub_usb_root_hub): Allocate hub->devices.
14546 (detach_device): New function.
14547 (poll_nonroot_hub): Fill children and detach devices.
14548 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
14549 actual arguments. All users updated.
14550 (grub_usb_bulk_read_extended): New function.
14551 * bus/usb/serial/common.c: New file.
14552 * bus/usb/serial/ftdi.c: Likewise.
14553 * bus/usb/serial/pl2303.c: Likewise.
14554 * commands/terminal.c (handle_command): Support wildcard.
14555 * commands/usbtest.c: Output "Unknown" instead of empty string.
14556 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
14557 (usbserial_common_mod_SOURCES): New variable.
14558 (usbserial_common_mod_CFLAGS): Likewise.
14559 (usbserial_common_mod_LDFLAGS): Likewise.
14560 (pkglib_MODULES): Add usbserial_pl2303.mod.
14561 (usbserial_pl2303_mod_SOURCES): New variable.
14562 (usbserial_pl2303_mod_CFLAGS): Likewise.
14563 (usbserial_pl2303_mod_LDFLAGS): Likewise.
14564 (pkglib_MODULES): Add usbserial_ftdi.mod.
14565 (usbserial_ftdi_mod_SOURCES): New variable.
14566 (usbserial_ftdi_mod_CFLAGS): Likewise.
14567 (usbserial_ftdi_mod_LDFLAGS): Likewise.
14568 (pkglib_MODULES): Add serial.mod.
14569 (serial_mod_SOURCES): New variable.
14570 (serial_mod_CFLAGS): Likewise.
14571 (serial_mod_LDFLAGS): Likewise.
14572 * conf/i386-pc.rmk: Likewise.
14573 * conf/mips-yeeloong.rmk: Likewise.
14574 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
14575 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14576 * disk/usbms.c (first_available_slot): New variable.
14577 (grub_usbms_attach): Don't reuse free slots due to potential cache
14578 problems.
14579 * include/grub/serial.h: Moved to ..
14580 * include/grub/ns8250.h: ...this.
14581 * include/grub/serial.h: New file.
14582 * include/grub/term.h (grub_term_poll_usb): New variable.
14583 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
14584 readkey. All users updated.
14585 (grub_terminfo_output_state): Pass term to put.
14586 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
14587 (grub_usb_controller_dev): Add timeout and actual arguments to
14588 transfer. All users updated.
14589 (grub_usb_interface): New field detach_data.
14590 (grub_usb_device): New fields children and nports.
14591 (grub_usb_ep_type_t): New type.
14592 (grub_usb_get_ep_type): New function.
14593 (grub_usb_bulk_read_extended): Likewise.
14594 * include/grub/usbdesc.h (grub_usb_desc): New type.
14595 * include/grub/usbserial.h: New file.
14596 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
14597 * kern/term.c (grub_term_poll_usb): New variable.
14598 (grub_getkey): Call grub_term_poll_usb if set.
14599 (grub_checkkey): Likewise.
14600 (grub_getkeystatus): Likewise.
14601 * term/serial.c: Moved controller-specific parts to ...
14602 * term/ns8250.c: ... here.
14603 * term/serial.c: Mostly rewritten.
14604 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
14605 according to spec.
14606
21a313de
RM
146072010-08-20 Robert Millan <rmh@gnu.org>
14608
14609 Make kFreeBSD code more generic to support ext2fs as root, ufs as
14610 a separate module and maybe other interesting combinations.
14611
14612 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
14613 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
14614 (kfreebsd_entry): Add generic filesystem module load routine.
14615 Map GRUB `ext2' to kFreeBSD `ext2fs'.
14616
63c734a6
CW
146172010-08-20 Colin Watson <cjwatson@ubuntu.com>
14618
14619 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
14620 "numcenter" (I misunderstood the purpose of this entry).
14621 * docs/grub.texi (sendkey): Likewise.
14622
c4d16542
CW
146232010-08-20 Colin Watson <cjwatson@ubuntu.com>
14624
14625 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
14626 status flag options; simply omitting the option is equivalent and
14627 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
14628 (keysym_table): Rename "num5numlock" to "numlock".
14629 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
14630 can uniformly say that only the last of multiple `sendkey'
14631 invocations has any effect.
14632 * docs/grub.texi (sendkey): New section.
14633
93541d66
CW
146342010-08-19 Colin Watson <cjwatson@ubuntu.com>
14635
14636 * commands/i386/pc/sendkey.c (options): Fix three typos.
14637
b4ece5e1
VS
146382010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 Implement sendkey support.
14641
14642 * commands/i386/pc/sendkey.c: New file.
14643 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
14644 (sendkey_mod_SOURCES): New variable.
14645 (sendkey_mod_CFLAGS): Likewise.
14646 (sendkey_mod_LDFLAGS): Likewise.
14647
51f1f5af
CW
146482010-08-18 Colin Watson <cjwatson@ubuntu.com>
14649
14650 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
14651 fix warnings from Autoconf.
14652
9da94e05
CW
146532010-08-18 Colin Watson <cjwatson@ubuntu.com>
14654
14655 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
14656 to avoid false positives with some assemblers that output things
14657 like "someprefix_func" as part of their output.
14658
729a0f2e
RM
146592010-08-15 Robert Millan <rmh@gnu.org>
14660
14661 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
14662 errors.
14663 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
14664 grub_get_libzfs_handle() errors.
14665
f3710e08
RM
146662010-08-14 Robert Millan <rmh@gnu.org>
14667
14668 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
14669 filesystem is not ZFS.
14670
7a3c13de
BC
146712010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14672
14673 Fix for misspelled color names defaulting to black/black (bug
14674 reported by Doug Nazar)
14675
14676 * include/grub/normal.h (grub_parse_color_name_pair): Add return
14677 status to prototype.
14678 * normal/color.c (grub_parse_color_name_pair): Return failure
14679 status.
14680 (grub_env_write_color_normal): Ignore bad color names.
14681 (grub_env_write_color_highlight): Likewise.
14682 * normal/main.c (GRUB_MOD_INIT): Set default color names.
14683
ab8ba50d
BC
146842010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14685
14686 "shift" command support to GRUB script.
14687
14688 * include/grub/script_sh.h (grub_script_shift): New prototype.
14689 * script/execute.c (grub_script_shift): New function.
14690 * script/main.c (grub_script_init): Register shift command.
14691 (grub_script_fini): Unregister shift command.
14692 * util/grub-script-check.c (grub_script_cmd_shift): New function.
14693
14694 * tests/grub_script_shift.in: New testcase.
14695 * conf/tests.rmk: Rules for new testcase.
14696
4d61999e
BC
146972010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14698
14699 "continue" command support to GRUB script.
14700
14701 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
14702 (grub_script_break): Continue support.
14703 * script/main.c (grub_script_init): Register continue command.
14704 (grub_script_fini): Unregister continue command.
14705
14706 * tests/grub_script_continue.in: New testcase.
14707 * conf/tests.rmk: Rules for new testcase.
14708
4df51e00
BC
147092010-08-12 BVK Chaitanya <bvk@dbook>
14710
14711 "break" command support to GRUB script.
14712
14713 * conf/common.rmk: Rule updates to grub-script-check.
14714 * include/grub/misc.h (grub_min): New function.
14715 * include/grub/script_sh.h (grub_script_init): New prototype.
14716 (grub_script_fini): New prototype.
14717 (grub_script_break): New prototype.
14718 * script/main.c (grub_script_init): New function.
14719 (grub_script_fini): New function.
14720 * script/execute.c (grub_script_break): New function.
14721 * normal/main.c: Calls to grub_script_{init,fini}.
14722 * util/grub-script-check.c (grub_script_break): New function.
14723
14724 * tests/grub_script_break.in: New testcase.
14725 * conf/tests.rmk: Rules for new test case.
14726
f12c8420
BC
147272010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14728
14729 Function parameters support to GRUB script.
14730
14731 * script/yylex.l (VARIABLE): Regular expression update.
14732 * script/function.c (grub_script_function_call): Moved ...
14733 * script/execute.c (grub_script_function_call): ... to here.
14734 (grub_script_execute_arglist_to_argv): Removed.
14735 (grub_script_arglist_to_argv): New function.
14736 * script/argv.c: New file.
14737 (grub_script_argv_free): New function.
14738 (grub_script_argv_next): Likewise.
14739 (grub_script_argv_append): Likewise.
14740 (grub_script_argv_split_append): Likewise.
14741 * include/grub/script_sh.h (grub_script_argv): New struct.
14742 (grub_script_argv_free): New function.
14743 (grub_script_argv_next): Likewise.
14744 (grub_script_argv_append): Likewise.
14745 (grub_script_argv_split_append): Likewise.
14746
14747 * conf/common.rmk (normal.mod): New source script/argv.c.
14748
14749 * tests/grub_script_echo1.in: More tests.
14750 * tests/grub_script_vars1.in: Likewise.
14751 * tests/grub_script_functions.in: New test case.
14752 * conf/tests.rmk: Rules for new testcase.
14753
8022b748
BC
147542010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14755
14756 Remove grub_script_cmdblock struct.
14757
14758 * include/grub/script_sh.h: Remove grub_script_cmdblock.
14759 * script/parser.y: Likewise.
14760 * script/execute.c: Rename cmdblock suffix to cmdlist.
14761 * script/script.c: Likewise.
14762 * util/grub-script-check.c: Likewise.
14763
79a6ba61
YB
147642010-08-11 Yves Blusseau <blusseau@zetam.org>
14765
14766 * .bzrignore: add grub-macho2img
14767
d04b9414
VS
147682010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14769
14770 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
14771
f947ab49
VS
147722010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14773
14774 Remove the dump of sm712 initialisation sequence.
14775
14776 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
14777 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
14778 (GRUB_VGA_IO_MISC_WRITE): Likewise.
14779 (GRUB_VGA_CR_*): Added many registers.
14780 (GRUB_VGA_SR_*): Likewise.
14781 (GRUB_VGA_GR_*): Likewise.
14782 (grub_vga_write_arx): New function.
14783 (grub_video_hw_config): New struct.
14784 (grub_vga_set_geometry): New function.
14785 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
14786 GRUB_PCI_CLASS_SUBCLASS_VGA.
14787 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
14788 * video/sm712.c (grub_sm712_write_reg): New function
14789 (grub_sm712_read_reg): Likewise.
14790 (grub_sm712_sr_write): Likewise.
14791 (grub_sm712_gr_write): Likewise.
14792 (grub_sm712_cr_write): Likewise.
14793 (grub_sm712_write_arx): Likewise.
14794 (grub_sm712_cr_shadow_write): Likewise.
14795 (grub_sm712_write_dda_lookup): Likewise.
14796 (grub_video_sm712_setup): Initialise the video rather then
14797 blindly replay the dump.
14798 (main) [TEST]: Add a routine to be able to compile as standalone for
14799 tests.
14800 * video/sm712_init.c (sm712_init): Removed.
14801 (sm712_sr_seq1): New array.
14802 (sm712_sr_seq2): Likewise.
14803
f0206638
VS
148042010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14805
14806 * include/grub/vga.h: Add missing grub/pci.h include.
14807
2764da3b
YB
148082010-08-10 Yves Blusseau <blusseau@zetam.org>
14809
14810 * util/grub-macho2img.c (main): fix typo
14811
cf0c775e
VS
148122010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14813
14814 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
14815 (grub_vga_gr_read): Likewise.
14816 (grub_vga_cr_write): Likewise.
14817 (grub_vga_cr_read): Likewise.
14818 (grub_vga_sr_write): Likewise.
14819 (grub_vga_sr_read): Likewise.
14820 (grub_vga_palette_read): Likewise.
14821 (grub_vga_palette_write): Likewise.
14822 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
14823 (grub_sm712_sr_read): New function.
14824 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
14825 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
14826
07f360e9
RM
148272010-08-09 Robert Millan <rmh@gnu.org>
14828
14829 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
14830 out unused variables on non-ZFS build.
14831
346c2072
RM
148322010-08-08 Robert Millan <rmh@gnu.org>
14833
14834 Fix path generation for sub-filesystems in ZFS.
14835
14836 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
14837 missing slash.
14838
71175420
RM
148392010-08-08 Robert Millan <rmh@gnu.org>
14840
14841 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
14842
0d8286f3
RM
148432010-08-08 Robert Millan <rmh@gnu.org>
14844
14845 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
14846 exist, issue a proper error message (rely on `ls' for translated
14847 strings).
14848
55dd2924
RM
148492010-08-08 Robert Millan <rmh@gnu.org>
14850
14851 Fix grub-probe invocation.
14852
14853 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
14854
d3dd9e80
RM
148552010-08-04 Robert Millan <rmh@gnu.org>
14856
14857 * configure.ac: Remove checks for getfsstat() and getmntany().
14858 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
14859 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
14860 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
14861 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
14862 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
14863 function.
14864 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
14865 via find_mount_point_from_dir() and getfsstat() / getmntany().
14866
0de22aa9
RM
148672010-08-04 Robert Millan <rmh@gnu.org>
14868
14869 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14870 (grub_find_zpool_from_mount_point): Merge into ...
14871 (grub_find_zpool_from_dir): ... this.
14872 * kern/emu/misc.c: Likewise.
14873
14874 * kern/emu/misc.c
14875 (grub_make_system_path_relative_to_its_root): Replace
14876 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
14877 with grub_find_zpool_from_dir().
14878 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
14879
62858144
RM
148802010-08-04 Robert Millan <rmh@gnu.org>
14881
14882 Support OpenSolaris in ZFS device resolution.
14883
14884 * configure.ac: Check for getmntany().
14885 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
14886 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
14887 support.
14888
9dd6fd50
RM
148892010-08-03 Robert Millan <rmh@gnu.org>
14890
14891 Fix grub-emu build.
14892
14893 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
14894 * include/grub/emu/misc.h: ... here.
14895
14896 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
14897 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
14898
14899 * util/misc.c: Remove `<grub/util/libzfs.h>'.
14900 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
14901 (grub_get_libzfs_handle): Move to ...
14902 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
14903 (grub_get_libzfs_handle): ... here.
14904
c9f7ff97
BC
149052010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
14906
14907 * script/execute.c (grub_script_execute_cmdline): Check for NULL
14908 as command name case.
14909
a870a783
CW
149102010-08-02 Colin Watson <cjwatson@ubuntu.com>
14911
14912 * disk/raid.c (insert_array): Select unique numbers for named arrays
14913 as well, for use as keys in the disk cache.
14914
c7db243b
RM
149152010-08-01 Robert Millan <rmh@gnu.org>
14916
14917 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
14918 kFreeBSD device name, except on ZFS where the filesystem label is
14919 used.
14920 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
14921 `/boot/zfs/zpool.cache'.
14922 Set mountfrom kernel variable using ${kfreebsd_device}.
14923
f7abdefb
RM
149242010-08-01 Robert Millan <rmh@gnu.org>
14925
14926 Make it even harder to use uninitialized `libzfs_handle' (and
14927 make the interface a bit simpler).
14928
14929 * include/grub/util/misc.h (grub_util_init_libzfs)
14930 (libzfs_handle): Remove.
14931 (grub_get_libzfs_handle): New prototype.
14932
14933 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
14934 attribute.
14935 (grub_util_init_libzfs): Remove.
14936 (grub_get_libzfs_handle): New function.
14937
14938 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
14939 grub_get_libzfs_handle() to obtain a libzfs handle instead of
14940 accessing `libzfs_handle' directly.
14941
c882acc0
RM
149422010-08-01 Robert Millan <rmh@gnu.org>
14943
14944 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14945 (grub_find_zpool_from_mount_point): New function prototypes.
14946
14947 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14948 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14949
14950 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14951 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14952 `static' attribute.
14953
14954 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14955 finding zpool from mount point into ...
14956 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14957
14958 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14959 requested path is part of a ZFS pool, use
14960 grub_find_zpool_from_mount_point() to detect its filesystem name,
14961 and generate a path with `/fsname@path' syntax.
14962
8bfe31d8
CW
149632010-08-01 Colin Watson <cjwatson@ubuntu.com>
14964
14965 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
14966 (void) rather than () so that this is a proper prototype.
14967
553df63d
VS
149682010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14969
14970 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
14971
8687cf07
VS
149722010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14973
14974 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
14975 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
14976
ea9be8ea
CW
149772010-08-01 Colin Watson <cjwatson@ubuntu.com>
14978
14979 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
14980
6eea041a
CW
149812010-08-01 Colin Watson <cjwatson@ubuntu.com>
14982
14983 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
14984
2cfb45df
CW
149852010-08-01 Colin Watson <cjwatson@ubuntu.com>
14986
14987 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
14988 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
14989 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
14990 disable gfxpayload.
14991 (Shell-like scripting): Add real content.
14992 (Serial terminal): Suggest `terminal_input serial; terminal_output
14993 serial' rather than putting the two commands on separate lines,
14994 since console input will be inoperative after the first command.
14995 (menuentry): Document --class, --users, and --hotkey options.
14996 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
14997 Vladimir Serbinenko).
14998
7decd202
VS
149992010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
150002010-08-01 Colin Watson <cjwatson@ubuntu.com>
15001
15002 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
15003
c882acc0
RM
150042010-08-01 Robert Millan <rmh@gnu.org>
15005
15006 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15007 (grub_find_zpool_from_mount_point): New function prototypes.
15008
15009 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15010 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15011
15012 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15013 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15014 `static' attribute.
15015
15016 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15017 finding zpool from mount point into ...
15018 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15019
15020 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15021 requested path is part of a ZFS pool, use
15022 grub_find_zpool_from_mount_point() to detect its filesystem name,
15023 and generate a path with `/fsname@path' syntax.
15024
deb0caa3
RM
150252010-08-01 Robert Millan <rmh@gnu.org>
15026
15027 Prevent accidental use of uninitialized libzfs_handle.
15028
15029 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
15030 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
15031 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
15032
ce04ef47
CW
150332010-08-01 Colin Watson <cjwatson@ubuntu.com>
15034
15035 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
15036 util/grub.d/10_linux.in). Fixes Debian bug #591093.
15037
ebf53056
RM
150382010-08-01 Robert Millan <rmh@gnu.org>
15039
15040 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 15041
3710bb6b
RM
150422010-07-31 Robert Millan <rmh@gnu.org>
15043
15044 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
15045
8072efeb
RM
150462010-07-31 Robert Millan <rmh@gnu.org>
15047
15048 * kern/emu/misc.c: Add missing license header.
15049
3169f4c7
RM
150502010-07-31 Robert Millan <rmh@gnu.org>
15051
15052 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
15053
15054 * include/grub/util/libnvpair.h: Include `<config.h>'.
15055 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
15056 declaring libnvpair prototypes ourselves.
15057 * include/grub/util/libzfs.h: Include `<config.h>'.
15058 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
15059 declaring libzfs prototypes ourselves.
15060
15061 (libzfs_handle): Moved to ...
15062 * include/grub/util/misc.h (libzfs_handle): ... here.
15063 Include `<grub/util/libzfs.h>'.
15064
c9a00aee
RM
150652010-07-30 Robert Millan <rmh@gnu.org>
15066
15067 * include/grub/emu/misc.h: Add missing license header.
15068
a184f9c8
RM
150692010-07-30 Robert Millan <rmh@gnu.org>
15070
15071 Enable `grub-probe -t device' resolution on ZFS.
15072
15073 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
15074 * include/grub/util/libnvpair.h: New file.
15075 * include/grub/util/libzfs.h: New file.
15076
15077 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
15078 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
15079 `<grub/util/libnvpair.h>'.
15080 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
15081
15082 (find_mount_point_from_dir): New static function.
15083 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
15084 function.
15085 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
15086 find_root_device_from_libzfs() before ressorting to find_root_device().
15087
15088 * include/grub/util/misc.h (grub_util_init_libzfs): New function
15089 prototype.
15090 * util/misc.c: Include `<grub/util/libzfs.h>'.
15091 (grub_util_init_libzfs): New function.
15092 [HAVE_LIBZFS] (libzfs_handle): New global variable.
15093 [HAVE_LIBZFS] (fini_libzfs): New static function.
15094 (grub_util_init_libzfs): New function.
15095 * util/grub-probe.c (main): Call grub_util_init_libzfs().
15096
f7790cdd
RM
150972010-07-30 Robert Millan <rmh@gnu.org>
15098
15099 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
15100 (xmalloc, xrealloc, xstrdup, xasprintf): Add
15101 `warn_unused_result' attribute.
15102 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
15103 (grub_xasprintf, grub_xvasprintf): Likewise.
15104 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
15105
0806b63c
RM
151062010-07-29 Robert Millan <rmh@gnu.org>
15107
15108 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
15109 (probe): Handle `PRINT_FS_LABEL'.
15110 (main): Handle `-t fs_label'.
15111
9f841f5c
RM
151122010-07-29 Robert Millan <rmh@gnu.org>
15113
15114 * configure.ac: Remove grub-mkisofs checks.
15115
46371121
VS
151162010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15117
15118 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15119 Reported by: Lennart Sorensen.
15120
151212010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15122
15123 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15124 prior to terminal_input/terminal_output separation. It's been over 1.5
15125 years and those versions weren't widely deployed.
15126
a9600892
CW
151272010-07-22 Colin Watson <cjwatson@ubuntu.com>
15128
15129 * disk/raid.c (insert_array): Don't count named arrays when looking
15130 for unused array numbers.
697e053c 15131 Reported and tested by: Michael Guntsche.
a9600892 15132
c03507df
CW
151332010-07-20 Colin Watson <cjwatson@ubuntu.com>
15134
15135 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15136 implementation of this so that grub-emu links again, with a note
15137 that this should support hotplugging in the future.
15138
b26f1c11
CW
151392010-07-20 Colin Watson <cjwatson@ubuntu.com>
15140
15141 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15142
efc9d7f1
CW
151432010-07-20 Colin Watson <cjwatson@ubuntu.com>
15144
15145 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15146 handle on failure.
15147 (grub_loopback_close): Remove empty function.
15148 (grub_loopback_dev): Remove close method.
15149
dd8ff5c9
CW
151502010-07-20 Colin Watson <cjwatson@ubuntu.com>
15151
15152 Disable EFI cursor when the EFI console becomes inactive.
15153
15154 * term/efi/console.c (grub_efi_console_init): New function.
15155 (grub_efi_console_fini): New function.
15156 (grub_console_term_output): Register init and fini methods.
15157
5e3bec67
VS
151582010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15159
15160 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15161 sh script.
15162
afaec079
VS
151632010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15164
15165 * disk/loopback.c (grub_loopback): Replace filename with file.
15166 (delete_loopback): Handle new semantics.
15167 (grub_cmd_loopback): Likewise.
15168 (grub_loopback_iterate): Likewise.
15169 (grub_loopback_close): Likewise.
15170
a6a11f3c
VS
151712010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15172
15173 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
15174 with -p "".
15175 Reported by: Tito Keitel.
15176
64a638b0
VS
151772010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15178
15179 * docs/grub.texi (Naming convention): Document new naming convention.
15180
ab8ba957
VS
151812010-07-20 Vadim Solomin <vadic052@gmail.com>
151822010-07-20 Colin Watson <cjwatson@ubuntu.com>
15183
15184 Generate device.map in something closer to the old ordering.
15185
15186 * util/deviceiter.c (struct device): New declaration.
15187 (compare_file_names): Rename to ...
15188 (compare_devices): ... this. Sort by kernel name in preference to
15189 the stable by-id name, but keep the latter as a fallback comparison.
15190 Update header comment.
15191 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
15192 of `struct device' rather than of plain file names.
15193
a29d6a4b
TF
151942010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
15195
15196 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
15197 on i386.
15198
39d824e8
VS
151992010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15200
15201 * commands/acpi.c (setup_common_tables): Use sizeof instead of
15202 hardcoding size.
15203 (setv1table): Likewise.
15204
f058276b
FZ
152052010-07-20 Colin Watson <cjwatson@ubuntu.com>
15206
15207 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
15208 removing the homehost if present.
15209 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
15210 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
15211 removing the homehost if present.
15212 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
15213 if possible.
15214 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
15215
15216 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
15217 parameter. Set its pointer target to 0.
15218 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
15219 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
15220 `data_offset' value from the superblock for 1.x metadata.
15221 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
15222 data on the device.
15223 (insert_array): Record the start sector of data on the device.
15224 (grub_raid_register): Pass start_sector parameters to
15225 grub_raid_list->detect and insert_array.
15226 * include/grub/raid.h (struct grub_raid_array): Add start_sector
15227 member.
15228 (struct grub_raid): Add start_sector parameter to `detect'.
15229
15230 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
15231 __attribute__ ((packed)), leaving a comment.
15232 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
15233 (grub_mdraid_detect_09): ... here and ...
15234 (grub_mdraid_detect_1x): ... here.
15235
152362010-07-20 Peter Henn <peter.henn@web.de>
15237
15238 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
15239 chunk size and disk size, which are already given as sector counts
15240 as distinct from the 0.90 units. Fetch the correct device number
15241 from the role table instead of using the table index.
15242
152432010-07-20 Felix Zielcke <fzielcke@z-51.de>
15244
15245 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
15246 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
15247 (WriteMostly1): New macro.
15248 Set array->name to NULL for metadata format 0.90. Add support for
15249 metadata 1.x. Fix some comments.
15250 * disk/raid.c (): Add support for name based RAID arrays. Fix a
15251 few comments.
15252 * util/getroot.c (grub_util_get_grub_dev): Add support for
15253 /dev/md/name style devices.
15254
4b761da9
CW
152552010-07-20 Colin Watson <cjwatson@ubuntu.com>
15256
15257 * .bzrignore: Ignore 20_linux_xen.
15258
5771289a
CW
152592010-07-17 Colin Watson <cjwatson@ubuntu.com>
15260
15261 * util/import_unicode.py: Remove unnecessary imports.
15262
5dab68df
AN
152632010-07-17 Aleš Nesrsta <starous@volny.cz>
15264
15265 Hotplugging and USB hub support.
15266
15267 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
15268 (grub_ohci): Likewise.
15269 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
15270 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
15271 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
15272 (GRUB_OHCI_CTRL_EDS): Likewise.
15273 (GRUB_OHCI_BULK_EDS): Likewise.
15274 (GRUB_OHCI_TDS): Likewise.
15275 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
15276 (grub_ohci_ed_phys2virt): New function.
15277 (grub_ohci_virt_to_phys): Likewise.
15278 (grub_ohci_td_phys2virt): Likewise.
15279 (grub_ohci_td_virt2phys): Likewise.
15280 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
15281 attachment.
15282 (grub_ohci_find_ed): New function.
15283 (grub_ohci_alloc_td): Likewise.
15284 (grub_ohci_free_td): Likewise.
15285 (grub_ohci_free_tds): Likewise.
15286 (grub_ohci_transfer): Use previously allocated memory.
15287 (grub_ohci_portstatus): Reset status changed bit.
15288 (grub_ohci_detect_dev): Supply status changed.
15289 (grub_ohci_fini_hw): Free memory.
15290 (grub_ohci_restore_hw): Reallocate memory.
15291 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
15292 Reset status change.
15293 (grub_uhci_detect_dev): Supply status_change.
15294 * bus/usb/usb.c (attach_hooks): New var.
15295 (grub_usb_device_attach): New function.
15296 (grub_usb_register_attach_hook_class): Likewise.
15297 (grub_usb_unregister_attach_hook_class): Likewise.
15298 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
15299 (grub_usb_add_hub): Reset connection changed bit.
15300 (attach_root_port): New function.
15301 (grub_usb_root_hub): Likewise.
15302 (poll_nonroot_hub): Likewise.
15303 (grub_usb_poll_devices): Likewise.
15304 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
15305 * disk/usbms.c (grub_usbms_open): Use device hooks.
15306 (grub_usbms_iterate) :Poll devices.
15307 (grub_usbms_finddevs): Split into ...
15308 (grub_usbms_attach): ... this ...
15309 (grub_usbms_attach): ... and this.
15310 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
15311 in detect_dev.
15312 (grub_usb_interface): New fields attached and detach_hook.
15313 (grub_usb_attach_hook_class): New type.
15314 (grub_usb_attach_desc): New struct.
15315 (grub_usb_register_attach_hook_class): New function.
15316 (grub_usb_unregister_attach_hook_class): Likewise.
15317 (grub_usb_poll_devices): Likewise.
15318 (grub_usb_device_attach): Likewise.
15319 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
15320 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
15321
3222efaf
VS
153222010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15323
15324 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
15325 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
15326 delta determination style. Works with most NetBSD partitions too.
15327
139b714a
VS
153282010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15329
15330 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
15331 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
15332
986aad56
VS
153332010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15334
15335 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
15336
99be513c
AB
153372010-07-14 Anton Blanchard <anton@samba.org>
15338
15339 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
15340 ET_DYN files.
15341
18075f62
GS
153422010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15343
15344 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
15345
8d9a5b15
GS
153462010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15347
15348 * kern/partition.c (grub_partition_check_containment): New function to
15349 check that a partition is physically contained in a parent. Since
15350 offsets are relative (and non-negative), this reduces to checking that
15351 the partition ends before its parent.
15352 (grub_partition_map_probe): Discard out-of-range sub-partitions.
15353 (grub_partition_iterate): Likewise.
15354 * include/grub/partition.h (grub_partition_map): Slightly more detailed
15355 comments.
15356 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
15357 partitions that start before their parent, and add debug printfs.
15358
19563c25
CW
153592010-07-13 Colin Watson <cjwatson@ubuntu.com>
15360
15361 * Makefile.in (.SUFFIX): Spell correctly, as ...
15362 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
15363 bare module name without `.mod', e.g. `test') tried to invoke a
15364 Modula-2 compiler.
15365
1a1f1e67
CW
153662010-07-13 Colin Watson <cjwatson@ubuntu.com>
15367
15368 * README: Point to the Info manual.
15369
811b0dca
JS
153702010-07-13 Jiro SEKIBA <jir@unicus.jp>
15371
15372 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
15373 2nd superblock position from partition size.
15374
e4f4eafc
CW
153752010-07-10 Colin Watson <cjwatson@ubuntu.com>
15376
15377 * Makefile.in (MAINTAINER_CLEANFILES): Remove
15378 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
15379 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
15380 outputs.
15381
4274c30f
VS
153822010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15383
15384 Restructure SCSI .id handling.
15385 Reported and tested by: Aleš Nesrsta.
15386
15387 * disk/ata.c (grub_atapi_close): Removed. All users updated.
15388 (grub_atapi_dev): Changed .name to "ata". New field .id.
15389 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
15390 (grub_usbms_dev): New field .id.
15391 * disk/scsi.c (grub_scsi_iterate): Generate name.
15392 (grub_scsi_open): Parse name.
15393 * include/grub/scsi.h (grub_make_scsi_id): New function.
15394 (grub_scsi_dev): Change iterate and open to number instead of naming
15395 busses. All users updated.
15396 (grub_scsi): Remove name. Add .bus.
15397
5bc24388
VS
153982010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15399
15400 * commands/help.c (grub_cmd_help): Fix a typo.
15401
249975ba
VS
154022010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15403
15404 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
15405 Reported and tested by: Colin Watson.
15406
3eaac1a1
VS
154072010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15408
15409 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
15410 in this context.
15411
becce1b1
VS
154122010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15413
15414 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
15415
f7bf0918
CW
154162010-07-07 Colin Watson <cjwatson@ubuntu.com>
15417
15418 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
15419 indentation.
15420
0b0f9620
CW
154212010-07-06 Colin Watson <cjwatson@ubuntu.com>
15422
15423 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
15424 and disk/raid6_recover.c.
15425 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15426 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15427
1e545469
CW
154282010-07-06 Colin Watson <cjwatson@ubuntu.com>
15429
15430 * term/gfxterm.c (repaint_schedulded): Rename to ...
15431 (repaint_scheduled): ... this. Update all callers.
15432 (repaint_was_schedulded): Rename to ...
15433 (repaint_was_scheduled): ... this. Update all callers.
15434
5357687a
CW
154352010-07-06 Colin Watson <cjwatson@ubuntu.com>
15436
15437 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
15438 which we expect to be handled by upper layers.
15439
29d7e783
BC
154402010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
15441
15442 * bus/usb/usbhub.c: #include time.h header.
15443
37582066
CW
154442010-07-06 Colin Watson <cjwatson@ubuntu.com>
15445
15446 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
15447 entry_name also for entries without stat blocks (e.g. ".."); fixes
15448 corruption of the first entry in a directory.
15449
c8c06953
CW
154502010-07-06 Colin Watson <cjwatson@ubuntu.com>
15451
15452 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
15453 after setting gfxterm as the active terminal. GRUB_BACKGROUND
15454 doesn't work otherwise.
15455
e75056f1
CW
154562010-07-05 Colin Watson <cjwatson@ubuntu.com>
15457
15458 * docs/grub.texi (Features): Update list of supported file systems.
15459 (GNU/Linux): Update for GRUB 2.
15460 (Serial terminal): Remove mention of --disable-serial, which was a
15461 GRUB Legacy configure option. Update instructions to use
15462 `terminal_input' and `terminal_output' rather than `terminal'.
15463 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
15464 configuration' and `Installing GRUB using grub-install'.
15465 (Menu entry editor): Update for GRUB 2.
15466 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
15467 Document new -a, -u, and -v options.
15468 (initrd): New section.
15469 (initrd16): New section.
15470 (linux): New section.
15471 (linux16): New section.
15472 (search): The `var' argument to `--set' is optional.
15473 (GRUB only offers a rescue shell): Go into a little more detail on
15474 drive ordering.
15475
5cf69151
CW
154762010-07-05 Colin Watson <cjwatson@ubuntu.com>
15477
15478 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
15479
e3f90044
CW
154802010-07-05 Colin Watson <cjwatson@ubuntu.com>
15481
15482 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
15483 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
15484
38d8f4f3
CW
154852010-07-05 Colin Watson <cjwatson@ubuntu.com>
15486
15487 * util/i386/pc/grub-setup.c (setup): Rename prefix to
15488 install_prefix, in line with install_dos_part and install_bsd_part.
15489 Add new prefix variable, which is copied to install_prefix after
15490 comparing core.img in memory with the one read from disk in the
15491 no-embedding case, and use that rather than overwriting
15492 install_prefix immediately when installing to a partition.
15493 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
15494 Bicakci.
15495
57ebd41e
GS
154962010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15497
15498 * configure.ac: Avoid == in test command, it's not portable.
15499 * util/grub.d/30_os-prober.in: Likewise.
15500
cb7f64b2
CW
155012010-07-04 Colin Watson <cjwatson@ubuntu.com>
15502
15503 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
15504
6b654bb0
GS
155052010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15506
15507 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
15508 multiple (top-level) partmaps.
15509
72a2026d
VS
155102010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15511
15512 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 15513 Reported by: Tino Keitel.
72a2026d 15514
df3eb88f
VS
155152010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15516
15517 Bidi and diacritics support.
15518
15519 * Makefile.in (widthspec.bin): New target.
15520 (widthspec.h): Likewise.
15521 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
15522 * autogen.sh: Generate unidata.c.
15523 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
15524 * commands/ls.c (grub_ls_list_devices): Likewise.
15525 (grub_ls_list_files): Likewise.
15526 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
15527 (grub_mini_cmd_lsmod): Likewise.
15528 * commands/read.c: Likewise.
15529 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
15530 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
15531 * lib/arg.c (grub_arg_show_help): Likewise.
15532 * lib/crypto.c (grub_password_get): Likewise.
15533 * normal/auth.c (grub_username_get): Likewise.
15534 * normal/misc.c (grub_normal_print_device_info): Likewise.
15535 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
15536 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
15537 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
15538 (normal/charset.c_DEPENDENCIES): New variable.
15539 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
15540 (pkglib_MODULES): Remove charset.mod.
15541 (charset_mod_SOURCES): Removed.
15542 (charset_mod_CFLAGS): Likewise.
15543 (charset_mod_LDFLAGS): Likewise.
15544 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
15545 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
15546 and term/tparm.c.
15547 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15548 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15549 (kernel_img_HEADERS): Add terminfo.h.
15550 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
15551 Fill ->font. Reverse ascii bitmaps.
15552 (grub_font_get_xheight): New function.
15553 * font/font.c (grub_font_get_string_width): Moved from here ...
15554 * gfxmenu/font.c (grub_font_get_string_width): ... here.
15555 * font/font.c (grub_font_draw_string): Moved from here ...
15556 * gfxmenu/font.c (grub_font_draw_string): ... here.
15557 * font/font.c (grub_font_dup_glyph): New function.
15558 (grub_font_blit_glyph): Likewise.
15559 (grub_font_blit_glyph_mirror): Likewise.
15560 (blit_comb): Likewise.
15561 (grub_font_construct_dry_run): Likewise.
15562 (grub_font_get_constructed_device_width): Likewise.
15563 (grub_font_construct_glyph): Likewise.
15564 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
15565 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
15566 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
15567 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
15568 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
15569 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
15570 (grub_font_get_xheight): New proto.
15571 (grub_font_get_constructed_device_width): Likewise.
15572 (grub_font_construct_glyph): Likewise.
15573 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
15574 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
15575 * include/grub/font.h (grub_font_draw_string): Moved from here ...
15576 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
15577 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
15578 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
15579 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
15580 (grub_console_getcharwidth): Likewise.
15581 * include/grub/misc.h (grub_xputs): New proto.
15582 (grub_puts): Inlined.
15583 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
15584 (grub_normal_get_line_counter): Removed.
15585 (grub_install_newline_hook): Likewise.
15586 (grub_normal_get_char_counter): New proto.
15587 (grub_normal_reset_more): Likewise.
15588 (grub_xputs_normal): Likewise.
15589 * include/grub/powerpc/ieee1275/console.h: Removed.
15590 * include/grub/sparc64/ieee1275/console.h: Likewise.
15591 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
15592 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
15593 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
15594 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
15595 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
15596 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
15597 (grub_term_input): Pass reference to self. All users updated.
15598 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
15599 Pass reference to self. New fields normal_color, highlight_color and
15600 data. All users updated.
15601 (grub_putchar): Removed.
15602 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
15603 (grub_unicode_estimate_width): New function.
15604 (grub_term_getcharwidth): Add defaults.
15605 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
15606 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
15607 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
15608 (grub_cls): Remove EXPORT_FUNC.
15609 (grub_setcolorstate): Inline.
15610 (grub_newline_hook): Removed.
15611 * include/grub/terminfo.h: Rewritten. All users updated.
15612 * include/grub/unicode.h: New file.
15613 * include/grub/video.h (grub_video_signed_rect): New type.
15614 * kern/emu/console.c (grub_console_highlight_color): Removed.
15615 (grub_console_normal_color): Likewise.
15616 (grub_console_standard_color): Made static.
15617 (grub_ncurses_putchar): Remove mapping.
15618 (grub_ncurses_getcharwidth): Removed.
15619 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15620 (grub_ncurses_setcolor): Removed.
15621 (grub_ncurses_getcolor): Likewise.
15622 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
15623 (grub_console_putchar): ... this.
15624 (grub_console_putchar): Handle argument difference.
15625 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
15626 console_init_early and console_init_lately.
15627 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
15628 * kern/misc.c (grub_puts): Removed.
15629 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
15630 (grub_vsnprintf_real): Remove str = NULL support.
15631 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
15632 * normal/charset.c (grub_utf8_to_ucs4): ... here.
15633 * kern/term.c (grub_putcode): Renamed to ...
15634 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
15635 (grub_putchar): Removed.
15636 (grub_xputs_dumb): New function.
15637 (grub_xputs): New variable.
15638 * lib/charset.c: Move from here ...
15639 * normal/charset.c: ... to here.
15640 (grub_ucs4_to_utf8): New function.
15641 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
15642 (join_types): New variable.
15643 (unpack_join): New function.
15644 (bidi_types): New variable.
15645 (unpack_bidi): New function.
15646 (get_bidi_type): Likewise.
15647 (get_join_type): Likewise.
15648 (is_mirrored): Likewise.
15649 (grub_unicode_get_comb_type): Likewise.
15650 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
15651 (is_type_after): Likewise.
15652 (grub_unicode_aglomerate_comb): Likewise.
15653 (bidi_line_wrap): Likewise.
15654 (grub_bidi_line_logical_to_visual): Likewise.
15655 (grub_bidi_logical_to_visual): Likewise.
15656 (grub_unicode_mirror_code): Likewise.
15657 (grub_unicode_shape_code): Likewise.
15658 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
15659 Don't use grub_putchar.
15660 * normal/main.c (grub_normal_init_page): Use grub_putcode.
15661 (grub_normal_reader_init): Likewise.
15662 (grub_xputs_saved): New variable.
15663 (GRUB_MOD_INIT): Set grub_xputs.
15664 (GRUB_MOD_FINI): Restore grub_xputs.
15665 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
15666 (menu_init): Avoid printing gfxmenu error.
15667 (show_menu): Use grub_normal_get_char_counter.
15668 * normal/menu_entry.c (update_screen): Fix out-of-array.
15669 (complete): Avoid NULL dereferencing.
15670 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
15671 * normal/menu_text.c (print_spaces): Removed.
15672 (grub_print_ucs4): Likewise.
15673 (grub_print_message_indented): Use grub_print_ucs4.
15674 (print_message): Use grub_putcode.
15675 (print_entry): Hanlde diacritics.
15676 * normal/term.c (term_state): New type.
15677 (grub_more_lines): Removed.
15678 (term_states): New variable.
15679 (grub_normal_line_counter): Renamed to ..
15680 (grub_normal_char_counter): ...this. All users updated.
15681 (grub_normal_get_line_counter): Renamed to ...
15682 (grub_normal_get_char_counter): ... this.
15683 (grub_normal_reset_more): New function.
15684 (process_newline): Removed.
15685 (print_more): New function.
15686 (grub_install_newline_hook): Removed.
15687 (map_code): New function.
15688 (grub_puts_terminal): Use grub_print_ucs4.
15689 (putglyph): New function.
15690 (putcode_real): Likewise.
15691 (grub_putcode): Use putcode_real.
15692 (get_maxwidth): New function.
15693 (get_startwidth): Likewise.
15694 (print_ucs4_terminal): Likewise.
15695 (find_term_state): Likewise.
15696 (put_glyphs_terminal): Likewise.
15697 (print_backlog): Likewise.
15698 (print_ucs4_real): Likewise.
15699 (grub_print_ucs4): Likewise.
15700 (grub_xputs_normal): Likewise.
15701 * term/efi/console.c (grub_console_putchar): Output diacritics.
15702 (grub_console_getcharwidth): Removed.
15703 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15704 * term/gfxterm.c (clear_char): Free chars.
15705 (scroll_up): Avoid leaking memory.
15706 (grub_gfxterm_putchar): Support diacritics.
15707 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15708 * term/i386/pc/console.c (grub_console_term_output): Declare as
15709 GRUB_TERM_CODE_TYPE_VGA.
15710 * term/i386/pc/vga.c (grub_vga_term): Declare as
15711 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
15712 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
15713 GRUB_TERM_CODE_TYPE_VGA.
15714 * term/i386/vga_common.c (map_char): Removed.
15715 (grub_console_putchar): Likewise.
15716 (grub_console_getcharwidth): Likewise.
15717 * term/ieee1275/ofconsole.c: Simplify using terminfo.
15718 (colors): Reordered to match terminfo.
15719 (grub_ofconsole_normal_color): Removed.
15720 (grub_ofconsole_writeesc): Likewise.
15721 (grub_ofconsole_highlight_color): Likewise.
15722 (grub_ofconsole_getcharwidth): Likewise.
15723 (grub_ofconsole_setcolorstate): Likewise.
15724 (grub_ofconsole_setcolor): Likewise.
15725 (grub_ofconsole_getcolor): Likewise.
15726 (grub_ofconsole_readkey): Renamed to ...
15727 (readkey): ... this. Remove escape sequence handling. Return -1 on no
15728 key.
15729 (grub_ofconsole_checkkey): Removed.
15730 (grub_ofconsole_getkey): Likewise.
15731 (grub_ofconsole_getxy): Likewise.
15732 (grub_ofconsole_gotoxy): Likewise.
15733 (grub_ofconsole_cls): Likewise.
15734 (grub_ofconsole_refresh): Likewise.
15735 (grub_ofconsole_terminfo_input): New struct.
15736 (grub_ofconsole_terminfo_output): Likewise.
15737 (grub_ofconsole_term_input): Use terminfo.
15738 (grub_ofconsole_term_output): Likewise.
15739 (grub_console_init): Split into ...
15740 (grub_console_init_early): ...this and ...
15741 (grub_console_init_lately): ...this. Use terminfo.
15742 (grub_ofconsole_putchar): Renamed to ...
15743 (put): ... this. Remove mapping.
15744 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15745 * term/serial.c: Simplify using terminfo.
15746 (xpos): Removed.
15747 (ypos): Likewise.
15748 (keep_track): Likewise.
15749 (registered): Likewise.
15750 (input_buf): Likewise.
15751 (npending): Likewise.
15752 (serial_translate_key_sequence): Likewise.
15753 (fill_input_buf): Likewise.
15754 (grub_serial_checkkey): Likewise.
15755 (grub_serial_getkey): Likewise.
15756 (grub_serial_getxy): Likewise.
15757 (grub_serial_gotoxy): Likewise.
15758 (grub_serial_putchar): Likewise.
15759 (grub_serial_cls): Likewise.
15760 (grub_serial_setcolorstate): Likewise.
15761 (grub_serial_setcursor): Likewise.
15762 (serial_hw_init): Use serial_hw_fetch.
15763 (grub_serial_terminfo_input): New variable.
15764 (grub_serial_terminfo_output): Likewise.
15765 (grub_serial_term_input): Use terminfo.
15766 (grub_serial_term_output): Likewise.
15767 * term/terminfo.c (putstr): Use put.
15768 (grub_terminfo_all_free): New function
15769 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
15770 (grub_terminfo_output_register): New function.
15771 (grub_terminfo_output_unregister): Likewise.
15772 (grub_terminfo_getxy): Likewise.
15773 (grub_terminfo_readkey): Likewise.
15774 (grub_terminfo_checkkey): Likewise.
15775 (grub_terminfo_getkey): Likewise.
15776 (grub_terminfo_input_init): Likewise.
15777 (print_terminfo): Likewise.
15778 (grub_cmd_terminfo): Handle encoding.
15779 (grub_terminfo_gotoxy): Track position.
15780 (grub_terminfo_cls): Likewise.
15781 (grub_terminfo_putchar): Likewise.
15782 (grub_terminfo_setcolorstate): Handle colors
15783 (grub_terminfo_cursor_on): This ...
15784 (grub_terminfo_cursor_off): ... and this merged into ...
15785 (grub_terminfo_setcursor): ... this.
15786 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
15787 * unicode/ArabicShaping.txt: New file (imported from Unicode).
15788 * unicode/BidiMirroring.txt: Likewise.
15789 * unicode/UnicodeData.txt: Likewise.
15790 * unicode/COPYING: Likewise.
15791 * util/grub-editenv.c (grub_putchar): Removed.
15792 (grub_xputs_real): New function.
15793 (grub_xputs): New variable.
15794 * util/grub-fstest.c (grub_putchar): Removed.
15795 (grub_xputs_real): New function.
15796 (grub_xputs): New variable.
15797 * util/grub-mkdevicemap.c (grub_putchar): Removed.
15798 (grub_xputs_real): New function.
15799 (grub_xputs): New variable.
15800 * util/grub-probe.c (grub_putchar): Removed.
15801 (grub_xputs_real): New function.
15802 (grub_xputs): New variable.
15803 * util/grub-script-check.c (grub_putchar): Removed.
15804 (grub_xputs_real): New function.
15805 (grub_xputs): New variable.
15806 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
15807 (grub_xputs_real): New function.
15808 (grub_xputs): New variable.
15809 * util/import_unicode.py: New file.
15810 * util/grub-mkfont.c (ft_errmsgs): New array.
15811 (grub_glyph_info): Make bitmap a pointer.
15812 (file_formats): New type WIDTH_SPEC.
15813 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
15814 (options): Add width-spec.
15815 (help): Likewise.
15816 (add_char): Renamed to ...
15817 (add_glyph): ... this.
15818 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
15819 (glyph_replace): New type.
15820 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
15821 (add_char): New function.
15822 (add_subst): Likewise.
15823 (process_cursive): Likewise.
15824 (add_font): Handle GSUB.
15825 (write_font_width_spec): New function.
15826 (main): Sort glyphs.
15827 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
15828 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
15829 * kern/term.c (grub_cls): Moved from here...
15830 * normal/term.c (grub_cls): ... here.
15831
50f0bcda
CW
158322010-07-02 Colin Watson <cjwatson@ubuntu.com>
15833
15834 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
15835 suitable for using within the format argument of printf when
15836 converting grub_size_t.
15837 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
15838 "x" to convert grub_size_t arguments.
15839
40372103
VS
158402010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
15843 too long captions.
15844 (list_get_minimal_size): Take selection box into account.
15845
942a10c7
VS
158462010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15847
15848 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
15849 NULL font.
15850
2bdb2892
CW
158512010-07-02 Colin Watson <cjwatson@ubuntu.com>
15852
15853 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
15854 devices when iterating over /dev/disk/by-id; they will be handled
15855 later if appropriate, which they aren't always (e.g. LVM).
15856
e03ed6c1
CW
158572010-07-02 Colin Watson <cjwatson@ubuntu.com>
15858
15859 * include/grub/misc.h (grub_reboot): Declare as noreturn.
15860 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
15861 fails.
15862 (grub_halt): Likewise.
15863 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
15864 reset-all fails.
15865 (grub_halt): Don't return, even if all of shut-down, power-off, and
15866 poweroff fail.
15867
47695765
CW
158682010-07-02 Colin Watson <cjwatson@ubuntu.com>
15869
15870 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
15871 arguments, not three.
15872
507736c8
CW
158732010-07-02 Colin Watson <cjwatson@ubuntu.com>
15874
15875 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
15876 * util/grub.d/10_linux.in: Use it to check for LVM, so that
15877 LVM-on-RAID is handled correctly.
15878
e3c8cd37
CW
158792010-07-02 Colin Watson <cjwatson@ubuntu.com>
15880
15881 * docs/grub.texi (Changes from GRUB Legacy): New section.
15882 (Future): Fix typo.
15883
8d4a2fec
CW
158842010-07-02 Colin Watson <cjwatson@ubuntu.com>
15885
15886 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
15887 grub.d/README accidentally ends up executable for one reason or
15888 another. Ignore it.
15889
1c4827be
VS
158902010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15891
15892 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
15893 (gpt_partition_map_iterate): Support non-512B sectors.
15894
d9a0c941
VS
158952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15896
15897 * kern/efi/init.c (grub_efi_init): Disable watchdog.
15898 Tested by: Seth Goldberg.
15899
48f27e87
VS
159002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15901
15902 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
15903 Properly align mbi.
15904 Reported by: Seth Goldberg.
15905
b0c4f956
VS
159062010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15907
15908 * util/grub-mkrescue.in: Avoid module duplication.
15909
105a2e8c
SF
159102010-07-01 Sean Finney <seanius@seanius.net>
15911
15912 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
15913
5944958c
SF
159142010-07-01 Sean Finney <seanius@seanius.net>
15915
15916 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
15917
159182010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15919
15920 * disk/lvm.c (grub_lvm_checkvalue): New function.
15921 (grub_lvm_check_flag): Likewise.
15922
b79889ba
RM
159232010-07-01 Robert Millan <rmh@gnu.org>
15924
15925 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
15926 Support 'p' as partition separator on kernel of FreeBSD (used
15927 with GPT labels).
15928 (grub_util_biosdisk_get_grub_dev): Likewise.
15929
ec1d04f1
VS
159302010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15931
15932 Yeeloong firmware port.
15933
15934 * boot/mips/yeeloong/fwstart.S: New file.
15935 * bus/cs5536.c (gpiodump): New const.
15936 (set_io_space): New function.
15937 (set_iod): Likewise.
15938 (set_p2d): Likewise.
15939 (grub_cs5536_init_geode): Likewise.
15940 * commands/mips/yeeloong/lsspd.c: New file.
15941 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
15942 (serial_mod_SOURCES): New variable.
15943 (serial_mod_CFLAGS): Likewise.
15944 (serial_mod_LDFLAGS): Likewise.
15945 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
15946 term/terminfo.c and term/tparm.c.
15947 (pkglib_IMAGES): Add fwstart.img.
15948 (fwstart_img_SOURCES): New variable.
15949 (fwstart_img_CFLAGS): Likewise.
15950 (fwstart_img_ASFLAGS): Likewise.
15951 (fwstart_img_LDFLAGS): Likewise.
15952 (fwstart_img_FORMAT): Likewise.
15953 (pkglib_MODULES): Add lsspd.mod.
15954 (lsspd_mod_SOURCES): New variable.
15955 (lsspd_mod_CFLAGS): Likewise.
15956 (lsspd_mod_LDFLAGS): Likewise.
15957 (pkglib_MODULES): Add halt.mod.
15958 (halt_mod_SOURCES): New variable.
15959 (halt_mod_CFLAGS): Likewise.
15960 (halt_mod_LDFLAGS): Likewise.
15961 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
15962 (serial_mod_SOURCES): Removed.
15963 (serial_mod_CFLAGS): Likewise.
15964 (serial_mod_LDFLAGS): Likewise.
15965 * disk/ata.c (check_device): New function.
15966 (grub_ata_device_initialize): Use check_device.
15967 (grub_ata_iterate): Recheck devices.
15968 (grub_ata_open): Likewise.
15969 (grub_atapi_iterate): Likewise.
15970 (grub_atapi_open): Likewise.
15971 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
15972 (GRUB_ATA_CH1_PORT1): Likewise.
15973 (GRUB_ATA_CH0_PORT2): Likewise.
15974 (GRUB_ATA_CH1_PORT2): Likewise.
15975 * include/grub/mips/loongson.h: New file.
15976 * include/grub/mips/yeeloong/ec.h: Likewise.
15977 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
15978 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
15979 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
15980 * include/grub/misc.h (grub_halt): Declare as noreturn.
15981 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
15982 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
15983 (UART_ENABLE_FIFO_TRIGGER1): New definition.
15984 (UART_ENABLE_DTRRTS): Likewise.
15985 (UART_ENABLE_MODEM): Removed.
15986 (UART_ENABLE_OUT2): New const.
15987 * include/grub/term.h (grub_term_register_input_active): New function.
15988 (grub_term_register_output_active): Likewise.
15989 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
15990 argument.
15991 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
15992 (init_pci): New function.
15993 (grub_machine_init): Execute platform init when firmware. Init serial.
15994 (grub_halt): Implement.
15995 (grub_exit): Likewise.
15996 (grub_reboot): Likewise.
15997 * term/serial.c (serial_hw_init): Update macros.
15998 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
15999 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
16000 (image_targets): New target mipsel-yeeloong-flash.
16001 (generate_image): Support IMAGE_YEELOONG_FLASH.
16002 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
16003 (grub_video_sm712_setup): Init card.
16004 (grub_video_sm712_set_palette): Removed.
16005 * video/sm712_init.c: New file.
16006
ff4a70d2
CW
160072010-06-30 Colin Watson <cjwatson@ubuntu.com>
16008
16009 * Makefile.in (install-local): Temporarily prepend $(builddir) to
16010 PATH when running help2man and then run it on the unadorned
16011 executable names, rather than passing $(builddir)/* paths to
16012 help2man. This avoids the build directory ending up in generated
16013 manual pages.
16014
1246efeb
CW
160152010-06-29 Colin Watson <cjwatson@ubuntu.com>
16016
16017 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
16018 to avoid accidents when debugging with 'sh -x'.
16019 * util/grub-mkrescue.in: Likewise.
16020 * util/grub.d/00_header.in: Likewise.
16021 * util/grub.d/10_hurd.in: Likewise.
16022 * util/grub.d/10_kfreebsd.in: Likewise.
16023 * util/grub.d/10_linux.in: Likewise.
16024 * util/grub.d/10_netbsd.in: Likewise.
16025 * util/grub.d/10_windows.in: Likewise.
16026 * util/grub.d/20_linux_xen.in: Likewise.
16027 * util/grub.d/30_os-prober.in: Likewise.
16028 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16029
1ba9b889
CW
160302010-06-29 Colin Watson <cjwatson@ubuntu.com>
16031
16032 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
16033 last character in the buffer.
16034 Reported by: Vladimir Serbinenko.
16035
dccaf99d
RM
160362010-06-29 Robert Millan <rmh@gnu.org>
16037
16038 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
16039 (Command-line and menu entry commands): Document `badram' command.
16040
d500ed12
RM
160412010-06-28 Robert Millan <rmh@gnu.org>
16042
16043 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
16044 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
16045 command using ${GRUB_BADRAM} as parameter.
16046
20bc84a6
CW
160472010-06-28 Colin Watson <cjwatson@ubuntu.com>
16048
16049 * docs/grub.texi (Device map): New section.
16050 (Themes): New section (stub).
16051 * Makefile.in (docs/grub.info): The info documentation now builds
16052 without errors. Make sure it stays that way.
16053
4045dee1
VS
160542010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16055
16056 Use normal parser for menu entries.
16057 Reported by: Thomas Frauendorfer
16058
16059 * include/grub/parser.h (grub_parser_execute): Don't export.
16060 * normal/menu.c (grub_menu_execute_entry_real): New function.
16061 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
16062
bca58c7b
CW
160632010-06-28 Colin Watson <cjwatson@ubuntu.com>
16064
16065 * docs/grub.texi (Embedded configuration): New section (replacing
16066 old "Preset Menu" stub).
16067 (Images): New section.
16068 (configfile): Note that any menu entries defined in `file' are shown
16069 immediately.
16070
dec53e63
JT
160712010-06-28 Josh Triplett <josh@joshtriplett.org>
16072
16073 * mmap/i386/pc/mmap_helper.S: Set CF on return.
16074
c06e40f7
CW
160752010-06-28 Colin Watson <cjwatson@ubuntu.com>
16076
16077 * util/grub-install.in: Add --debug-image= option.
16078
cb88052b
CW
160792010-06-28 Colin Watson <cjwatson@ubuntu.com>
16080
16081 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
16082 possible on Linux.
16083
16084 * util/deviceiter.c (check_device): Rename to ...
16085 (check_device_readable_unique): ... this. Update all callers.
16086 Maintain and check a list of which devices (by canonicalized name)
16087 have already been seen.
16088 (clear_seen_devices): New function.
16089 (compare_file_names) [__linux__]: New function.
16090 (grub_util_iterate_devices): Clear the list of seen devices on exit
16091 and (just in case) on entry.
16092 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
16093 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
16094 seen-devices list, superseded by general code in check_device.
16095
bbe34652
CW
160962010-06-28 Colin Watson <cjwatson@ubuntu.com>
16097
16098 * commands/cat.c (options): New variable.
16099 (grub_cmd_cat): Parse options. If the --dos option is given, print
16100 DOS-style "\r\n" line endings as simple newlines (Debian bug
16101 #586358).
16102 (GRUB_MOD_INIT): Use extcmd.
16103 (GRUB_MOD_FINI): Likewise.
16104 * docs/grub.texi (cat): Document --dos.
16105
412e09f3
VS
161062010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16107
16108 XEN with Linux grub-mkconfig support.
16109
16110 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16111 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16112 GRUB_CMDLINE_XEN_DEFAULT.
16113 * util/grub.d/20_linux_xen.in: New file.
16114
53f3ef38 161152010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
16116
16117 Initialise VGA video on qemu ourselves.
16118
16119 * boot/i386/qemu/boot.S: Don't call 0xc000.
16120 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16121 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16122 (kernel_img_HEADERS): Add pci.h.
16123 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16124 * configure.ac: Force unifont on qemu and yeeloong.
16125 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16126 (grub_vga_palette_write): Use correct register.
16127 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16128 Call grub_qemu_init_cirrus.
16129 * kern/i386/qemu/init.c: New file.
16130 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16131
16132 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16133
c75be4fb
PR
161342010-06-26 Pavel Roskin <proski@gnu.org>
16135
16136 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16137 13.
16138
d8034603
CW
161392010-06-26 Colin Watson <cjwatson@ubuntu.com>
16140
16141 * docs/grub.texi (Simple configuration): Explain that
16142 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16143 set to `true' to disable their respective recovery entries, not
16144 merely set.
16145
3fa06487
CW
161462010-06-26 Colin Watson <cjwatson@ubuntu.com>
16147
16148 Make the `source' command slightly faster.
16149
16150 * normal/main.c (grub_normal_execute): Don't re-read list files when
16151 nested.
16152
e9b29642
CW
161532010-06-23 Colin Watson <cjwatson@ubuntu.com>
16154
16155 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16156 field position and mask size to red fields from mode_info, not
16157 green.
16158 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16159 Remove redundant tag->common.framebuffer_type assignment.
16160 Reported by: Seth Goldberg.
16161
e726542f
CW
161622010-06-23 Colin Watson <cjwatson@ubuntu.com>
16163
16164 Sync up other versions of the Linux loader with Robert Millan's
16165 change of 2010-01-09, "Make loader output a bit more user-friendly".
16166
16167 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16168 grub_dprintf().
16169 (grub_cmd_linux): Likewise.
16170 (grub_cmd_initrd): Likewise.
16171 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16172 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16173
d6e98a17
CW
161742010-06-21 Colin Watson <cjwatson@ubuntu.com>
16175
16176 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
16177 larger than MEMORY_MAP_SIZE.
16178
14d3f08e
BC
161792010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
16180
16181 Fix parallel build.
16182
16183 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
16184 dependency.
16185 * script/parser.y: #include grub_script.tab.h header.
16186
4f9613a3
VS
161872010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16188
16189 Support >3GiB and <16MiB RAM in i386-qemu.
16190
16191 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
16192 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
16193 (grub_lower_mem): Removed.
16194 (grub_upper_mem): Likewise.
16195 (mem_size): Made static.
16196 (above_4g): New variable.
16197 (grub_machine_mmap_init): Detect small mem_size and above_4g.
16198 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
16199 support.
16200
05e51879
VS
162012010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16202
16203 Cirrus 5446 and Bochs video cards support.
16204
16205 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
16206 video_bochs.mod
16207 (video_cirrus_mod_SOURCES): New variable.
16208 (video_cirrus_mod_CFLAGS): Likewise.
16209 (video_cirrus_mod_LDFLAGS): Likewise.
16210 (video_bochs_mod_SOURCES): Likewise.
16211 (video_bochs_mod_CFLAGS): Likewise.
16212 (video_bochs_mod_LDFLAGS): Likewise.
16213 * include/grub/vga.h: New file.
16214 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
16215 (grub_video_fb_set_page_t): New type.
16216 (grub_video_fb_setup): New prototype.
16217 (grub_video_fb_swap_buffers): Likewise.
16218 (grub_video_fb_get_info_and_fini): Likewise.
16219 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
16220 (CRTC_DATA_PORT): Likewise.
16221 (CRTC_CURSOR): Likewise.
16222 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16223 (CRTC_CURSOR_ADDR_LOW): Likewise.
16224 (CRTC_CURSOR_DISABLE): Likewise.
16225 (update_cursor): Use grub_vga_cr_write.
16226 (grub_vga_text_setcursor): Likewise.
16227 * video/bochs.c: New file.
16228 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
16229 (palette): Likewise.
16230 (palette_size): Likewise.
16231 (framebuffer): New variable.
16232 (grub_video_fb_init): Use 'framebuffer'.
16233 (grub_video_fb_fini): Likewise.
16234 (grub_video_fb_get_info): Likewise.
16235 (grub_video_fb_get_palette): Likewise.
16236 (grub_video_fb_set_palette): Likewise.
16237 (grub_video_fb_set_viewport): Likewise.
16238 (grub_video_fb_get_viewport): Likewise.
16239 (grub_video_fb_map_color): Likewise.
16240 (grub_video_fb_map_rgb): Likewise.
16241 (grub_video_fb_map_rgba): Likewise.
16242 (grub_video_fb_unmap_color): Likewise.
16243 (grub_video_fb_unmap_color_int): Likewise.
16244 (grub_video_fb_fill_rect): Likewise.
16245 (grub_video_fb_blit_bitmap): Likewise.
16246 (grub_video_fb_blit_render_target): Likewise.
16247 (grub_video_fb_scroll): Likewise.
16248 (grub_video_fb_create_render_target): Likewise.
16249 (grub_video_fb_doublebuf_blit_init): Likewise.
16250 (grub_video_fb_set_active_render_target): Handle doublebuffering.
16251 (doublebuf_pageflipping_update_screen): New function.
16252 (doublebuf_pageflipping_init): Likewise.
16253 (grub_video_fb_setup): Likewise.
16254 (grub_video_fb_swap_buffers): Likewise.
16255 (grub_video_fb_get_info_and_fini): Likewise.
16256 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
16257 All users updated.
16258 (doublebuf_pageflipping_commit): Restructured into ...
16259 (doublebuf_pageflipping_set_page): ... this.
16260 (doublebuf_pageflipping_update_screen): Removed.
16261 (doublebuf_pageflipping_init): Likewise.
16262 (double_buffering_init): Likewise.
16263 (grub_video_vbe_setup): Use grub_video_fb_setup.
16264 (grub_video_vbe_swap_buffers): Removed.
16265 (grub_video_vbe_set_active_render_target): Likewise.
16266 (grub_video_vbe_get_active_render_target): Likewise.
16267 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
16268 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
16269 grub_video_fb_set_active_render_target and
16270 grub_video_fb_get_active_render_target.
16271 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
16272 (SEQUENCER_DATA_PORT): Likewise.
16273 (MAP_MASK_REGISTER): Likewise.
16274 (CRTC_ADDR_PORT): Likewise.
16275 (CRTC_DATA_PORT): Likewise.
16276 (START_ADDR_HIGH_REGISTER): Likewise.
16277 (START_ADDR_LOW_REGISTER): Likewise.
16278 (GRAPHICS_ADDR_PORT): Likewise.
16279 (GRAPHICS_DATA_PORT): Likewise.
16280 (READ_MAP_REGISTER): Likewise.
16281 (INPUT_STATUS1_REGISTER): Likewise.
16282 (INPUT_STATUS1_VERTR_BIT): Likewise.
16283 (get_map_mask): Use grub_vga_sr_read.
16284 (set_map_mask): Use grub_vga_sr_write.
16285 (set_read_map): Use grub_vga_gr_write.
16286 (set_start_address): Use grub_vga_cr_write.
16287 * video/sm712.c (framebuffer): Remove leftover fields.
16288
4321c64a
CW
162892010-06-20 Colin Watson <cjwatson@ubuntu.com>
16290
16291 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
16292 setting GRUB_VIDEO_BACKEND. Make it available as a user override
16293 instead. Replace the gfxterm backend check with a check that
16294 ${GRUB_PREFIX}/video.lst is non-empty.
16295 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
16296 again.
16297 (load_video): New generated function. Call it before loading
16298 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
16299 * util/grub.d/10_linux.in (linux_entry): Call load_video.
16300 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
16301 * docs/grub.texi (Simple configuration): Document
16302 GRUB_VIDEO_BACKEND.
16303
163042010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16305
16306 Use video functions in linux and xnu loaders.
16307
16308 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
16309 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
16310 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
16311 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
16312 loader/i386/pc/linux.c.
16313 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
16314 (find_line_len): Removed.
16315 (find_framebuf): Likewise.
16316 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
16317 * loader/i386/efi/xnu.c: Removed.
16318 * loader/i386/pc/xnu.c: Moved from here...
16319 * loader/i386/xnu.c: ...here.
16320
16321 Enable priorities in video drivers.
16322
16323 * include/grub/video.h (grub_video_adapter_prio_t): New type.
16324 (grub_video_adapter): New field prio.
16325 (grub_video_register): Respect prio when inserting.
16326 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
16327 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
16328 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
16329 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
16330 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
16331 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
16332 * video/sm712.c (grub_video_sm712_adapter): Likewise.
16333
16334 Fix SDL driver ID.
16335
16336 * include/grub/video.h (grub_video_driver_id_t): New value
16337 GRUB_VIDEO_DRIVER_SDL.
16338 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
16339
7d24e434
CW
163402010-06-17 Colin Watson <cjwatson@ubuntu.com>
16341
16342 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
16343 argument to printf.
16344 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16345
c88a83f6
CW
163462010-06-17 Colin Watson <cjwatson@ubuntu.com>
16347
16348 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
16349 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16350
094dfb69
CW
163512010-06-17 Colin Watson <cjwatson@ubuntu.com>
16352
16353 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
16354 directly, and recommend grub-install instead.
16355 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16356
2164da6b
CW
163572010-06-17 Colin Watson <cjwatson@ubuntu.com>
16358
16359 Fix i386-pc prefix handling with nested partitions (Debian bug
16360 #585068). Note that the case where the core image is booted using
16361 multiboot and relocated from its original location still requires
16362 more work.
16363
16364 * kern/i386/pc/init.c (make_install_device): If the prefix starts
16365 with "(,", fill the boot drive in between those two characters, but
16366 expect that a full partition specification including partition map
16367 names will follow.
16368 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
16369 specified, write a prefix without the drive name but including a
16370 full partition specification.
16371
044e2e60
CW
163722010-06-16 Colin Watson <cjwatson@ubuntu.com>
16373
16374 * util/grub-mkconfig.in: Ignore non-option arguments, for
16375 compatibility with older versions (before 2010-06-12) which did the
16376 same. In particular, this makes it easier to ship an update-grub
16377 wrapper which is compatible with that used with GRUB Legacy (Debian
16378 bug #586056).
16379
5591324f
GS
163802010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16381
16382 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
16383 for manual page generation.
16384
662e24d5
GS
163852010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16386
16387 * po/POTFILES: Remove leftover commands/handler.c.
16388
8d70754e
CW
163892010-06-14 Colin Watson <cjwatson@ubuntu.com>
16390
16391 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
16392 left this script non-functional.
16393
41160e2e
CW
163942010-06-14 Colin Watson <cjwatson@ubuntu.com>
16395
16396 * docs/man/grub-emu.h2m: New file.
16397
b5309cc1
CW
163982010-06-13 Colin Watson <cjwatson@ubuntu.com>
16399
16400 * docs/grub.texi (Commands): Document reduced command set in rescue
16401 mode.
16402 (cpuid): New section.
16403
fcb2d090
GS
164042010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
16405
16406 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
16407 new partition naming style.
16408 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
16409
96e5c556
BC
164102010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
16411
16412 Add "-o grub.iso" like cmdline options support.
16413
16414 * util/grub-install.in: Improve cmdline option parsing.
16415 * util/grub-mkconfig.in: Likewise.
16416 * util/grub-mkrescue.in: Likewise.
16417 * util/grub-reboot.in: Likewise.
16418 * util/grub-set-default.in: Likewise.
16419 * util/i386/efi/grub-install.in: Likewise.
16420 * util/ieee1275/grub-install.in: Likewise.
16421 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16422
c16be99b
CW
164232010-06-12 Colin Watson <cjwatson@ubuntu.com>
16424
16425 * .bzrignore: Ignore 41_custom.
16426
ce08a9fb
TS
164272010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16428
16429 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
16430
7beac90c
CW
164312010-06-12 Colin Watson <cjwatson@ubuntu.com>
16432
16433 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
16434 prototype declarations.
16435
16436 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
16437 generating fs, partmap, and video lists.
16438 * include/grub/fs.h (grub_fs_register): Omit prototype if
16439 GRUB_LST_GENERATOR is defined.
16440 * include/grub/partition.h (grub_partition_map_register): Likewise.
16441 * include/grub/video.h (grub_video_register): Likewise.
16442
1c8f0f8d
JM
164432010-06-12 Javier Martín <lordhabbit@gmail.com>
16444
16445 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
16446
a6085973
TS
164472010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16448
16449 * util/grub-mkrescue.in: Support --xorriso argument.
16450
25c56d29
VS
164512010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16452
16453 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
16454 Suggested by: Thomas Schmitt.
16455
e03e4b24
VS
164562010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16457
16458 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
16459 Suggested by: Thomas Schmitt.
16460
57711df6
VS
164612010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16462
16463 custom.cfg support.
16464
16465 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
16466 * util/grub.d/41_custom.in: New file.
16467
ee62c427
CW
164682010-06-12 Colin Watson <cjwatson@ubuntu.com>
16469
16470 * util/grub-mkrescue.in (make_image): Remove sh module, which has
16471 been merged back into normal.
16472
283af07a
CW
164732010-06-11 Colin Watson <cjwatson@ubuntu.com>
16474
16475 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
16476 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
16477
56a0d956
CW
164782010-06-11 Colin Watson <cjwatson@ubuntu.com>
16479
16480 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
16481 when generating manual pages.
16482 * docs/man/grub-bin2h.h2m: New file.
16483 * docs/man/grub-editenv.h2m: New file.
16484 * docs/man/grub-fstest.h2m: New file.
16485 * docs/man/grub-install.h2m: New file.
16486 * docs/man/grub-macho2img.h2m: New file.
16487 * docs/man/grub-mkconfig.h2m: New file.
16488 * docs/man/grub-mkdevicemap.h2m: New file.
16489 * docs/man/grub-mkfont.h2m: New file.
16490 * docs/man/grub-mkimage.h2m: New file.
16491 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
16492 * docs/man/grub-mkrelpath.h2m: New file.
16493 * docs/man/grub-mkrescue.h2m: New file.
16494 * docs/man/grub-ofpathname.h2m: New file.
16495 * docs/man/grub-pe2elf.h2m: New file.
16496 * docs/man/grub-probe.h2m: New file.
16497 * docs/man/grub-reboot.h2m: New file.
16498 * docs/man/grub-script-check.h2m: New file.
16499 * docs/man/grub-set-default.h2m: New file.
16500 * docs/man/grub-setup.h2m: New file.
16501
3a37e322
VS
165022010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
16503
16504 Use FOR_* macros instead of *_iterate whenever possible.
16505
16506 * commands/handler.c: Removed.
16507 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
16508 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
16509 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16510 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
16511 (grub_probe_SOURCES): Remove kern/parser.c.
16512 (util/grub-script-check.c_DEPENDENCIES): Removed.
16513 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
16514 and grub_script_check_init.c.
16515 (grub_script_check_init.lst): Removed.
16516 (grub_script_check_init.h): Likewise.
16517 (grub_script_check_init.c): Likewise.
16518 (pkglib_MODULES): Remove handler.mod and sh.mod.
16519 (handler_mod_SOURCES): Removed.
16520 (handler_mod_CFLAGS): Likewise.
16521 (handler_mod_LDFLAGS): Likewise.
16522 (normal_mod_SOURCES): Remove normal/handler.c.
16523 Add script/main.c, script/script.c, script/execute.c,
16524 script/function.c, script/lexer.c, grub_script.tab.c
16525 and grub_script.yy.c.
16526 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16527 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16528 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
16529 (grub_setup_SOURCES): Remove kern/parser.c.
16530 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16531 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
16532 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16533 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16534 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16535 (grub_setup_SOURCES): Remove kern/parser.c.
16536 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16537 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
16538 * include/grub/command.h (grub_command_iterate): Removed.
16539 (FOR_COMMANDS): New macro.
16540 * include/grub/dl.h (grub_dl): New member next.
16541 (grub_dl_iterate): Removed.
16542 (grub_dl_head): New variable declaration.
16543 (FOR_DL_MODULES): New macro.
16544 * include/grub/fs.h: Include list.h.
16545 (grub_fs): Make next first element.
16546 (grub_fs_list): New variable declaration.
16547 (grub_fs_register): Make inline.
16548 (grub_fs_unregister): Likewise.
16549 (grub_fs_iterate): Removed.
16550 (FOR_FILESYSTEMS): New macro.
16551 * include/grub/handler.h: Removed.
16552 * include/grub/list.h (grub_list_hook_t): Removed.
16553 (grub_list_test_t): Likewise.
16554 (grub_list_pop): Likewise.
16555 (grub_list_iterate): Likewise.
16556 (grub_list_insert): Likewise.
16557 (FOR_LIST_ELEMENTS): New macro.
16558 * include/grub/parser.h (grub_parser_class): Removed.
16559 (grub_parser_register): Likewise.
16560 (grub_parser_unregister): Likewise.
16561 (grub_parser_get_current): Likewise.
16562 (grub_parser_set_current): Likewise.
16563 (grub_register_rescue_parser): Likewise.
16564 (grub_rescue_parse_line): New function.
16565 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
16566 * include/grub/script_sh.h (grub_script_function_list): New variable
16567 declaration.
16568 (FOR_SCRIPT_FUNCTIONS): New macro.
16569 (grub_script_function_iterate): Removed.
16570 (grub_normal_parse_line): New prototype.
16571 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
16572 (FOR_DISABLED_TERM_INPUTS): Likewise.
16573 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16574 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16575 * include/grub/video.h (grub_video_adapter): Move 'next' to first
16576 element.
16577 (grub_video_register): Inline.
16578 (grub_video_unregister): Likewise.
16579 (grub_video_adapter_list): New variable declaration.
16580 (grub_video_iterate): Removed.
16581 (FOR_VIDEO_ADAPTERS): New macro.
16582 * kern/dl.c (grub_dl_list): Removed. All users updated.
16583 (grub_dl_iterate): Removed.
16584 * kern/fs.c (grub_fs_list): Make global.
16585 (grub_fs_register): Removed.
16586 (grub_fs_unregister): Likewise.
16587 (grub_fs_iterate): Likewise.
16588 * kern/handler.c: Removed.
16589 * kern/list.c (grub_list_pop): Removed.
16590 (grub_list_iterate): Likewise.
16591 (grub_list_insert): Likewise.
16592 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
16593 (grub_prio_list_insert): Don't use grub_list_insert.
16594 * kern/main.c (grub_register_rescue_parser): Don't call
16595 grub_register_rescue_parser.
16596 * kern/parser.c (grub_parser_class): Removed.
16597 (grub_parser_execute): Use grub_rescue_parse_line.
16598 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
16599 (grub_rescue_parser): Removed.
16600 (grub_register_rescue_parser): Likewise.
16601 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
16602 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
16603 (grub_auth_check_authentication): Likewise.
16604 * normal/completion.c (iterate_command): Removed.
16605 (grub_normal_do_completion): Use FOR_COMMANDS.
16606 * normal/handler.c: Removed.
16607 * normal/main.c (read_config_file): Remove parser changing.
16608 (grub_normal_execute): Don't call read_handler_list.
16609 (grub_normal_read_line_real): Statically allocate prompt.
16610 (grub_cmdline_run): Use grub_normal_parse_line.
16611 (GRUB_MOD_FINI): Don't call free_handler_list.
16612 * normal/menu_entry.c (run): Likewise.
16613 * script/function.c (grub_script_function_list): Make global.
16614 (grub_script_function_iterate): Removed.
16615 * script/main.c (grub_normal_parse_line): Make global.
16616 (grub_sh_parser): Removed.
16617 (GRUB_MOD_INIT): Likewise.
16618 (GRUB_MOD_FINI): Likewise.
16619 * tests/lib/functional_test.c (grub_functional_test): Use
16620 FOR_LIST_ELEMENTS.
16621 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
16622 (grub_test_run): Use FOR_LIST_ELEMENTS.
16623 * tests/lib/unit_test.c (main): Likewise.
16624 * util/deviceiter.c (grub_util_iterate_devices): Don't use
16625 grub_list_pop.
16626 * util/grub-fstest.c (grub_term_input_class): Removed.
16627 (grub_term_output_class): Likewise.
16628 * util/grub-probe.c: Likewise.
16629 * util/i386/pc/grub-setup.c: Likewise.
16630 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16631 * util/grub-script-check.c (main): Don't call grub_init_all and
16632 grub_fini_all.
16633 * video/video.c (grub_video_adapter_list): Make global.
16634 (grub_video_register): Removed.
16635 (grub_video_unregister): Likewise.
16636 (grub_video_iterate): Likewise.
16637
6289c3a7
VS
166382010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
16639
16640 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
16641 reported by Henrique Ferreiro.
16642
91460247
RM
166432010-06-09 Robert Millan <rmh@gnu.org>
16644
16645 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
16646 ones, when both are available.
16647
0ea7c4f9
GS
166482010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16649
16650 Make --version uniform and avoid hard-coded program name.
16651
16652 * util/grub-mkimage.c (main): Use `program_name' instead of
16653 hard-coded string.
16654 * util/i386/pc/grub-setup.c (main): Likewise.
16655 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
16656 * util/grub-install.in: Save the basename of $0 in $self, and use the
16657 latter in informational messages. Use the same format for --version
16658 as the binary programs.
16659 * util/grub-mkconfig.in: Likewise.
16660 * util/grub-mkrescue.in: Likewise.
16661 * util/grub-reboot.in: Likewise.
16662 * util/grub-set-default.in: Likewise.
16663 * util/i386/efi/grub-install.in: Likewise.
16664 * util/ieee1275/grub-install.in: Likewise.
16665 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16666
e8a6f3b6
GS
166672010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16668
16669 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
16670 embedding area. Use <= instead of == when checking for non-emptiness.
16671
f4d095d7
GS
166722010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16673
16674 * configure.ac: Add `.' to the directories searched for unifont.
16675
50e532ca
CW
166762010-06-08 Colin Watson <cjwatson@ubuntu.com>
16677
16678 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
16679 grub_script.yy.h.
16680
d39f3dec
CW
166812010-06-08 Colin Watson <cjwatson@ubuntu.com>
16682
16683 * docs/grub.texi (History): Expand to cover GRUB 2.
16684 (Serial terminal): Refer to `terminal_input' and `terminal_output'
16685 commands, not `terminal'.
16686 (serial): Likewise.
16687 (terminal_input): New section.
16688 (terminal_output): New section.
16689 (uppermem): New section (stub).
16690 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
16691
6ef0ddb4
CW
166922010-06-08 Colin Watson <cjwatson@ubuntu.com>
16693
16694 * docs/grub.texi (Security): Menu entries are unrestricted by
16695 default, not restricted to superusers as I had previously thought.
16696 Reword to account for this.
16697
e0f4c438
CW
166982010-06-07 Colin Watson <cjwatson@ubuntu.com>
16699
16700 * kern/emu/misc.c (device_mapper_null_log): New function.
16701 (grub_device_mapper_supported): New function.
16702 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
16703 prototype.
16704 * kern/emu/hostdisk.c (find_partition_start): Check whether
16705 device-mapper is supported before trying to use it.
16706 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
16707
da908200
CW
167082010-06-07 Colin Watson <cjwatson@ubuntu.com>
16709
16710 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
16711 (File name syntax): Likewise.
16712 (help): --all is no longer supported in GRUB 2. Be more precise
16713 about pattern matching.
16714
fb55c3ac
CW
167152010-06-07 Colin Watson <cjwatson@ubuntu.com>
16716
16717 * normal/completion.c (grub_normal_do_completion): When completing
16718 arguments to "set" and the current word contains an equals sign,
16719 skip to after the equals sign before starting completion.
16720
258c2573
CW
167212010-06-07 Colin Watson <cjwatson@ubuntu.com>
16722
16723 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
16724
ee75515e
CW
167252010-06-07 Colin Watson <cjwatson@ubuntu.com>
16726
16727 * docs/grub.texi (Network): New section.
16728 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
16729 `(nd)' as in GRUB Legacy.
16730 (pxe_unload): New section.
16731
a6a700aa
CW
167322010-06-07 Colin Watson <cjwatson@ubuntu.com>
16733
16734 * docs/grub.texi (Troubleshooting): `echo' is not usually available
16735 in the rescue shell, so recommend using `set' instead. Thanks,
16736 Jordan Uggla.
16737
4003dd38
CW
167382010-06-07 Colin Watson <cjwatson@ubuntu.com>
16739
16740 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
16741 (password): New section.
16742 (password_pbkdf2): New section.
16743 (search): New section.
16744 (Security): New section.
16745 (Troubleshooting): New section, currently very incomplete.
16746 (Invoking grub-mkpasswd-pbkdf2): New section.
16747 (Internals): New section, currently very incomplete.
16748
e1cbcc40
CW
167492010-06-07 Colin Watson <cjwatson@ubuntu.com>
16750
16751 * util/grub.d/00_header.in: Add some more quoting (of
16752 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
16753 work again.
16754 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
16755
db8fa1ad
CW
167562010-06-07 Colin Watson <cjwatson@ubuntu.com>
16757
16758 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
16759 to `count', fixing variable shadowing that broke the -c option.
16760
167612010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
16762
16763 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
16764 in case they contain spaces.
16765
f28a9212
CW
167662010-06-04 Colin Watson <cjwatson@ubuntu.com>
16767
16768 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
16769 "part_" to partmap module names, in line with grub-install.
16770 Reported by: Jindřich Makovička (Debian bug #584426).
16771
9cdfe32f
CW
167722010-06-04 Colin Watson <cjwatson@ubuntu.com>
16773
16774 * util/grub-mkimage.c: Make target-related error messages slightly
16775 more helpful; -O talks about "format". Explicitly point to the use
16776 of -O if no target is specified.
16777 Reported by: Didier Raboud (Debian bug #584415).
16778
795b593a
CW
167792010-06-03 Colin Watson <cjwatson@ubuntu.com>
16780
16781 * INSTALL: Document several build requirements for optional features
16782 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
16783
9d9b5833
GS
167842010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16785
16786 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
16787 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
16788 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
16789
0819fec8
CW
167902010-06-02 Colin Watson <cjwatson@ubuntu.com>
16791
16792 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
16793 Thanks to Jordan Uggla for spotting this.
16794
49396b4f
VS
167952010-06-02 Aleš Nesrsta <starous@volny.cz>
16796
16797 Finally make USB usable.
16798
16799 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
16800 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
16801 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
16802 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
16803 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
16804 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
16805 (GRUB_OHCI_FSMPS): Likewise.
16806 (GRUB_OHCI_PERIODIC_START): Likewise.
16807 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
16808 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
16809 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
16810 (GRUB_OHCI_SET_PORT_RESET): Likewise.
16811 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
16812 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
16813 (grub_ohci_transaction): Likewise.
16814 (grub_ohci_transfer): Improve condition detection algorithms.
16815 Handle toggle property. Program the transactions correctly.
16816 Improve error handling. Various important fixups.
16817 (grub_ohci_portstatus): Put register writes in right order.
16818 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
16819 (grub_uhci_transfer): Don't show "failed" message on success.
16820 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
16821 array.
16822 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
16823 determine its size.
16824 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
16825 before initialization is completed. Use IN direction for empty
16826 transfers. Use last_trans and compute toggle.
16827 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
16828 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
16829 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
16830 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
16831 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
16832 (grub_usb_device): Increase toggle to 256.
16833 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
16834 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
16835 GRUB_USBMS_SUBCLASS_SFF8070.
16836 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
16837 (grub_scsi_inquiry): New member page and alloc_length.
16838 (grub_scsi_request_sense): New structure.
16839 (grub_scsi_request_sense_data): Likewise.
16840 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
16841 control.
16842 * disk/scsi.c (grub_scsi_request_sense): New function.
16843 (grub_scsi_test_unit_ready): Likewise.
16844 (grub_scsi_inquiry): Fill new fields.
16845 (grub_scsi_read_capacity): Likewise.
16846 (grub_scsi_read10): Add request sense at the end.
16847 (grub_scsi_read12): Likewise.
16848 (grub_scsi_write10): Likewise.
16849 (grub_scsi_write12): Likewise.
16850 (grub_scsi_open): Add Test Unit Ready.
16851 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
16852 Support additional subclasses. Con't clear halt yet. Activate the
16853 proper config. Calculate LUNs correctly.
16854 (grub_usbms_transfer): Various important fixups.
16855
168562010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16857
16858 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
16859 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
16860 (grub_ohci_fini_hw): New function.
16861 (grub_ohci_restore_hw): Likewise.
16862 (GRUB_MOD_INIT(ohci)): Register preboot hook.
16863 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
16864 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
16865
168662010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16867
16868 Dedicated DMA allocations.
16869
16870 * bus/pci.c (grub_memalign_dma32): New function
16871 (grub_dma_free): Likewise.
16872 (grub_dma_get_virt): Likewise.
16873 (grub_dma_get_phys): Likewise.
16874 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
16875 (grub_ohci_pci_iter): Use dma32_alloc.
16876 (grub_ohci_transfer): Likewise.
16877 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16878 (grub_usb_bulk_readwrite): Likewise.
16879 * include/grub/pci.h: Add declarations.
16880
168812010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16882
16883 CS5536 support.
16884
16885 * bus/cs5536.c: New file.
16886 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
16887 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
16888 (cs5536_mod_SOURCES): New variable.
16889 (cs5536_mod_CFLAGS): Likewise.
16890 (cs5536_mod_LDFLAGS): Likewise.
16891 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
16892 machine/pci.h.
16893 (kernel_img_SOURCES): Add bus/cs5536.c.
16894 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
16895 usb_keyboard.mod.
16896 (usb_mod_SOURCES): New variable.
16897 (usb_mod_CFLAGS): New variable.
16898 (usb_mod_LDFLAGS): New variable.
16899 (usbtest_mod_SOURCES): New variable.
16900 (usbtest_mod_CFLAGS): New variable.
16901 (usbtest_mod_LDFLAGS): New variable.
16902 (ohci_mod_SOURCES): New variable.
16903 (ohci_mod_CFLAGS): New variable.
16904 (ohci_mod_LDFLAGS): New variable.
16905 (usbms_mod_SOURCES): New variable.
16906 (usbms_mod_CFLAGS): New variable.
16907 (usbms_mod_LDFLAGS): New variable.
16908 (usb_keyboard_mod_SOURCES): New variable.
16909 (usb_keyboard_mod_CFLAGS): New variable.
16910 (usb_keyboard_mod_LDFLAGS): New variable.
16911 * include/grub/smbus.h: New file.
16912 * include/grub/cs5536.h: New file.
16913
0b35b2a9
CW
169142010-06-02 Colin Watson <cjwatson@ubuntu.com>
16915
16916 * util/grub.d/00_header.in: Add safety check to make sure that
16917 ${locale_dir} exists before trying to probe it.
16918
ca0afd5b
CW
169192010-06-02 Colin Watson <cjwatson@ubuntu.com>
16920
16921 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
16922 per the GNU Coding Standards; this is now too obscure to be worth
16923 documenting.
16924 (QNX): Likewise.
16925 (chainloader): Remove cross-reference to `SCO UnixWare'.
16926
1c41aa78
CW
169272010-06-02 Colin Watson <cjwatson@ubuntu.com>
16928
16929 * docs/grub.texi (Chain-loading): New section.
16930 (DOS/Windows): New section, borrowed from GRUB Legacy with details
16931 adjusted for GRUB 2.
16932 (SCO UnixWare): Likewise.
16933 (QNX): Likewise.
16934 (chainloader): Add reference to `Block list syntax'.
16935 (drivemap): New section.
16936 (parttool): New section.
16937
bb8ea0f5
CW
169382010-06-02 Colin Watson <cjwatson@ubuntu.com>
16939
16940 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
16941 the grub shell'.
16942 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
16943 (Installing GRUB using grub-install): Remove reference to the grub
16944 shell; mention `grub-mkimage' and `grub-setup' instead.
16945 (Invoking grub-install): Likewise.
16946 (Interface): Add reference to `Menu entry editor'.
16947 (serial): Remove `--device' option.
16948
288dd6ed
CW
169492010-06-02 Colin Watson <cjwatson@ubuntu.com>
16950
16951 * docs/grub.texi (Configuration): New section, documenting
16952 configuration file generation using grub-mkconfig. I've left a slot
16953 for documenting the full shell scripting format but have not yet
16954 started on writing that up.
16955 (Invoking grub-mkconfig): New section.
16956
34c9f0e9
CW
169572010-06-02 Colin Watson <cjwatson@ubuntu.com>
16958
16959 * docs/grub.texi (direntry): Remove grub-terminfo reference.
16960 (GNU GRUB manual): Likewise.
16961 (General commands): Update description of `terminfo' for GRUB 2.
16962
9121567e
CW
169632010-06-02 Colin Watson <cjwatson@ubuntu.com>
16964
16965 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
16966 (GRUB_MOD_INIT): Fix capitalisation.
16967 * docs/grub.texi (Command-line and menu entry commands): Document
16968 gettext and gptsync commands.
16969
ab631611
CW
169702010-06-02 Colin Watson <cjwatson@ubuntu.com>
16971
16972 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
16973 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
16974
bde4a9ac
CW
169752010-06-01 Colin Watson <cjwatson@ubuntu.com>
16976
16977 Add btrfs probing support, currently only in the single-device case.
16978
16979 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
16980 function.
16981 (grub_guess_root_device): Call find_root_device_from_mountinfo
16982 before looking in /dev.
16983
b1d17e10
VS
169842010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16985
16986 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
16987 GRUB_DISK_SIZE_UNKNOWN.
16988 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
16989
dfbfe004
JS
169902010-05-31 Jiro SEKIBA <jir@unicus.jp>
16991
16992 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
16993 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
16994 corrupted or not synced properly.
16995
c2ffc8e9
VS
169962010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16997
16998 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
16999 Reported by: Seth Goldberg.
17000
56293166
VS
170012010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17002
17003 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
17004 addition of dest.
17005 Reported by: Seth Goldberg.
17006
7620e7de
VS
170072010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17008
17009 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
17010 Reported by: Seth Goldberg.
17011
c837af3f
VS
170122010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17013
17014 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
17015 64-bit address as signed on MIPS.
17016
c7c75cf4
CW
170172010-05-28 Colin Watson <cjwatson@ubuntu.com>
17018
17019 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
17020 to the empty string.
17021
fa4b8490
BC
170222010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
17023
17024 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
17025
17026 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
17027 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
17028 * kern/misc.c (__enable_execute_stack): Disable on
17029 GRUB_MACHINE_EMU.
17030
a33075b9
CW
170312010-05-28 Colin Watson <cjwatson@ubuntu.com>
17032
17033 Make grub-probe work with symbolic links under /dev/mapper as well
17034 as with real block devices. The Linux world seems to be (at best)
17035 in transition here, and GRUB shouldn't get caught in the middle.
17036
17037 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
17038 /dev/mapper.
17039
d8708134
CW
170402010-05-27 Colin Watson <cjwatson@ubuntu.com>
17041
17042 * util/grub-script-check.c (main): Ensure defined behaviour on empty
17043 input files (in which case exit zero).
17044
db2102a0
CW
170452010-05-27 Colin Watson <cjwatson@ubuntu.com>
17046
17047 * kern/emu/misc.c (canonicalize_file_name): realpath can still
17048 return NULL for various reasons even if it has a maximum-length
17049 buffer: for example, there might be a symlink loop, or the path
17050 might exceed PATH_MAX. If this happens, return NULL.
17051
5fdba519
RM
170522010-05-27 Robert Millan <rmh@gnu.org>
17053
17054 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
17055 partmap module to handle cross-partmap setups.
17056 Reported by Orestes Mas. Gràcies!
17057
d1d368e4
CW
170582010-05-27 Colin Watson <cjwatson@ubuntu.com>
17059
17060 * util/grub-mkrescue.in: Initialise override_dir rather than
17061 assuming that it's unset or empty in the environment.
17062
95ac3c73
GS
170632010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
17064
17065 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
17066 variable index into p_index to suppress a warning with -Wshadow.
17067
7d8c0213
BC
170682010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
17069
17070 * INSTALL: Added flex >= 2.5.35 requirement.
17071
db4d5813
VS
170722010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17073
17074 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
17075
f24f4300
VS
170762010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 cmostest support.
17079
17080 * commands/i386/cmostest.c: New file.
17081 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
17082 (cmostest_mod_SOURCES): New variable.
17083 (cmostest_mod_CFLAGS): Likewise.
17084 (cmostest_mod_LDFLAGS): Likewise.
17085 * conf/i386-pc.rmk: Likewise.
17086 * docs/grub.texi (Vendor power-on keys): New section.
17087 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
17088 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
17089 and GRUB_BUTTON_CMOS_ADDRESS.
17090 * util/grub.d/00_header.in: Handle powering-on by separate button.
17091
ad603f61
VS
170922010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17093
17094 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
17095 Removed drawing_scrollbar argument. All users updated
17096 Fixes #29792.
17097 Reported by Jo Shields
17098
3ecb080a
VS
170992010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17100
17101 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
17102 buffer since gfxterm handles double repaint.
17103
5f2316c1
VS
171042010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17105
17106 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
17107 * term/gfxterm.c (real_scroll): Likewise.
17108
9a25f885
VS
171092010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17110
17111 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17112 before calling BIOS.
17113
39fbb79a
VS
171142010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17115
17116 * include/grub/i18n.h: Always enable grub_gettext.
17117
228cfa97
VS
171182010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17119
17120 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17121 partition naming style.
17122
21717c8f
CW
171232010-05-21 Colin Watson <cjwatson@ubuntu.com>
17124
17125 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17126 not the first option.
17127
c0f48e65
CW
171282010-05-20 Colin Watson <cjwatson@ubuntu.com>
17129
17130 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17131
96779aec
CW
171322010-05-20 Colin Watson <cjwatson@ubuntu.com>
17133
17134 * util/misc.c: Move inclusion of <limits.h> to ...
17135 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17136
fa9d256e
GS
171372010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17138
17139 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17140 Fix merge error in NetBSD code.
17141 (find_partition_start) [__NetBSD__]: Likewise.
17142
123b7a85
BC
171432010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17144
17145 Fix grub-mkrescue usage unit testing.
17146
17147 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17148
74276c0d
CF
171492010-05-18 Christian Franke <franke@computer.org>
17150
17151 * util/grub.d/10_windows.in: Use path names instead of
17152 drive letters to prevent warning from Cygwin 1.7.
17153 Add drivemap command to menuentry if needed.
17154
c4f7b523
ST
171552010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17156
17157 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17158 gnumach and gnumach.gz.
17159
95b97950
VS
171602010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17161
17162 * include/grub/i18n.h (gettext): Inline instead of using #define.
17163 (grub_gettext): Likewise.
17164 (_): Likewise.
17165
01b8d2d7
VS
171662010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17167
17168 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17169 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17170 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17171 (main): Add a slash after pkglibdirroot.
17172
654e1d1e
VS
171732010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17174
17175 * util/grub-install.in: Add missing "in" keyword.
17176
26966aeb
VS
171772010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17178
17179 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
17180 Reported by: Seth Goldberg.
17181
75006747
VS
171822010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17183
17184 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
17185
74cbf5bd
CW
171862010-05-18 Colin Watson <cjwatson@ubuntu.com>
17187
17188 * configure.ac: Check for Linux device-mapper support.
17189
17190 * util/hostdisk.c (device_is_mapped): New function.
17191 (find_partition_start): New function, partly broken out from
17192 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
17193 device-mapper support added.
17194 (linux_find_partition): Use find_partition_start.
17195 (convert_system_partition_to_system_disk): Add `st' argument.
17196 Support Linux /dev/mapper/* devices if device-mapper support is
17197 available; only DM-RAID devices are understood at present.
17198 (find_system_device): Add `st' argument. Pass it to
17199 convert_system_partition_to_system_disk.
17200 (grub_util_biosdisk_get_grub_dev): Pass stat result to
17201 find_system_device and convert_system_partition_to_system_disk. Use
17202 find_partition_start.
17203
17204 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
17205 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
17206 * util/deviceiter.c [__linux__]: Define MINOR.
17207 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
17208 * util/mkdevicemap.c (grub_putchar): New function.
17209 (grub_getkey): New function.
17210 (grub_refresh): New function.
17211 (main): Set debug=all if -v -v is used.
17212
355b51e9
CW
172132010-05-18 Colin Watson <cjwatson@ubuntu.com>
17214
17215 Fix build with non-GNU libcs.
17216
17217 * util/misc.c (canonicalize_file_name): Move to ...
17218 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
17219 grub_make_system_path_relative_to_its_root.
17220
7fb5c25f
CW
172212010-05-18 Colin Watson <cjwatson@ubuntu.com>
17222
17223 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
17224 we handle finding grub-mkimage. Default to finding grub-mkimage in
17225 ${bindir} with program_transform_name applied, and provide a
17226 --grub-mkimage option to override this.
17227
1d3293d6
VS
172282010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17229
17230 Remove grub-mkisofs.
17231
17232 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
17233 (grub_mkisofs_SOURCES): Removed.
17234 (grub_mkisofs_CFLAGS): Removed.
17235 * util/mkisofs/defaults.h: Removed.
17236 * util/mkisofs/eltorito.c: Likewise.
17237 * util/mkisofs/exclude.h: Likewise.
17238 * util/mkisofs/hash.c: Likewise.
17239 * util/mkisofs/include/: Likewise.
17240 * util/mkisofs/include/fctldefs.h: Likewise.
17241 * util/mkisofs/include/mconfig.h: Likewise.
17242 * util/mkisofs/include/prototyp.h: Likewise.
17243 * util/mkisofs/include/statdefs.h: Likewise.
17244 * util/mkisofs/iso9660.h: Likewise.
17245 * util/mkisofs/joliet.c: Likewise.
17246 * util/mkisofs/match.c: Likewise.
17247 * util/mkisofs/match.h: Likewise.
17248 * util/mkisofs/mkisofs.c: Likewise.
17249 * util/mkisofs/mkisofs.h: Likewise.
17250 * util/mkisofs/msdos_partition.h: Likewise.
17251 * util/mkisofs/multi.c: Likewise.
17252 * util/mkisofs/name.c: Likewise.
17253 * util/mkisofs/rock.c: Likewise.
17254 * util/mkisofs/tree.c: Likewise.
17255 * util/mkisofs/write.c: Likewise.
17256
5dde9afe
VS
172572010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17258
17259 Unify grub-mkimage accross platforms.
17260
17261 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
17262 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
17263 (grub_mkelfimage_SOURCES): Removed.
17264 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
17265 (util/grub-mkimage.c_DEPENDENCIES): .. this.
17266 (bin_UTILITIES): Add grub-mkimage.
17267 (grub_mkimage_SOURCES): New variable.
17268 (kernel_img_HEADERS): Remove machine/kernel.h.
17269 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
17270 (pkglib_PROGRAMS): Add kernel.img.
17271 (kernel_img_HEADERS): Add machine/kernel.h.
17272 (kernel_img_FORMAT): Removed.
17273 (bin_UTILITIES): Remove grub-mkimage.
17274 (grub_mkimage_SOURCES): Removed.
17275 (grub_mkimage_CFLAGS): Likewise.
17276 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17277 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
17278 (pkglib_PROGRAMS): Add kernel.img.
17279 (bin_UTILITIES): Remove grub-mkimage.
17280 (grub_mkimage_SOURCES): Removed.
17281 (grub_mkimage_CFLAGS): Likewise.
17282 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17283 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
17284 (pkglib_PROGRAMS): Add kernel.img.
17285 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
17286 (pkglib_PROGRAMS): Add kernel.img.
17287 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
17288 (grub_mkimage_SOURCES): Removed.
17289 (grub_mkimage_CFLAGS): Likewise.
17290 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17291 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
17292 (pkglib_PROGRAMS): Add kernel.img.
17293 (bin_UTILITIES): Remove grub-mkimage.
17294 (grub_mkimage_SOURCES): Removed.
17295 (grub_mkimage_CFLAGS): Likewise.
17296 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17297 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
17298 (grub_mkimage_SOURCES): Removed.
17299 (grub_mkimage_CFLAGS): Likewise.
17300 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17301 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
17302 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
17303 (grub_pe32_optional_header): ... this.
17304 (grub_pe64_optional_header): ... and this. All users updated.
17305 (GRUB_PE32_PE32_MAGIC): Split into ..
17306 (GRUB_PE32_PE32_MAGIC): .. this.
17307 (GRUB_PE32_PE64_MAGIC): .. and this.
17308 (GRUB_PE32_SIGNATURE_SIZE): New definition.
17309 * include/grub/elf.h (PT_GNU_STACK): New definition.
17310 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
17311 * include/grub/i386/efi/kernel.h: Likewise.
17312 * include/grub/i386/kernel.h: Likewise.
17313 * include/grub/i386/pc/kernel.h: Likewise.
17314 * include/grub/i386/qemu/boot.h: Likewise.
17315 * include/grub/mips/kernel.h: Likewise.
17316 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17317 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17318 * include/grub/powerpc/kernel.h: Likewise.
17319 * include/grub/sparc64/ieee1275/boot.h: Likewise.
17320 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17321 * include/grub/sparc64/kernel.h: Likewise.
17322 * include/grub/x86_64/efi/kernel.h: Likewise.
17323 * include/grub/x86_64/kernel.h: Likewise.
17324 * include/grub/offsets.h: New file.
17325 * include/grub/kernel.h (grub_module_info): Split into ...
17326 (grub_module_info32): ... this.
17327 (grub_module_info64): ... and this.
17328 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
17329 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
17330 (grub_boot_blocklist): Moved from here ...
17331 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
17332 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
17333 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
17334 * include/grub/types.h (grub_target_to_host16): Removed.
17335 (grub_target_to_host32): Likewise.
17336 (grub_target_to_host64): Likewise.
17337 (grub_host_to_target16): Likewise.
17338 (grub_host_to_target32): Likewise.
17339 (grub_host_to_target64): Likewise.
17340 (grub_host_to_target_addr): Likewise.
17341
17342 Support grub-mkrescue for efi, coreboot and qemu.
17343
17344 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
17345 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
17346 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
17347 * util/grub-mkrawimage.c: Moved from here ...
17348 * util/grub-mkimage.c: ... here. All users updated.
17349 (ALIGN_ADDR): Use image_target.
17350 (TARGET_NO_FIELD): New const.
17351 (image_target_desc): New type.
17352 (image_targets): New array.
17353 (grub_target_to_host64): Use image_target.
17354 (grub_target_to_host32): Likewise.
17355 (grub_target_to_host16): Likewise.
17356 (grub_host_to_target64): Likewise.
17357 (grub_host_to_target32): Likewise.
17358 (grub_host_to_target16): Likewise.
17359 (grub_host_to_target_addr): Likewise.
17360 (generate_image): Handle multiimage.
17361 (main): Require -O parameter. All users updated.
17362 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
17363 util/efi/grub-mkimage.c
17364 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
17365 New option --rom-directory.
17366 Use xorriso.
17367 * util/i386/efi/grub-mkimage.c: Removed.
17368 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
17369 (grub_target_to_host32): Likewise.
17370 (grub_target_to_host64): Likewise.
17371 (grub_host_to_target16): Likewise.
17372 (grub_host_to_target32): Likewise.
17373 (grub_host_to_target64): Likewise.
17374 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
17375 (grub_target_to_host32): Likewise.
17376 (grub_target_to_host64): Likewise.
17377 (grub_host_to_target16): Likewise.
17378 (grub_host_to_target32): Likewise.
17379 (grub_host_to_target64): Likewise.
17380
f4fc97d0
BC
173812010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
17382
17383 Source tree is reorganized for emu build.
17384
17385 * include/grub/util/console.h: Move from here...
17386 * include/grub/emu/console.h: ...to here.
17387 * include/grub/util/getroot.h: Move from here...
17388 * include/grub/emu/getroot.h: ...to here.
17389 * include/grub/util/hostdisk.h: Move from here...
17390 * include/grub/emu/hostdisk.h: ...to here.
17391 * util/console.c: Move from here...
17392 * kern/emu/console.c: ...to here.
17393 * util/getroot.c: Move from here...
17394 * kern/emu/getroot.c: ...to here.
17395 * util/grub-emu.c: Move from here...
17396 * kern/emu/main.c: ...to here.
17397 * util/hostdisk.c: Move from here...
17398 * kern/emu/hostdisk.c: ...to here.
17399 * util/hostfs.c: Move from here...
17400 * kern/emu/hostfs.c: ...to here.
17401 * util/mm.c: Move from here...
17402 * kern/emu/mm.c: ...to here.
17403 * util/pci.c: Move from here...
17404 * bus/emu/pci.c: ...to here.
17405 * util/sdl.c: Move from here...
17406 * video/emu/sdl.c: ...to here.
17407 * util/time.c: Move from here...
17408 * kern/emu/time.c: ...to here.
17409 * util/usb.c: Move from here...
17410 * bus/usb/emu/usb.c: ...to here.
17411
17412 * include/grub/emu/misc.h: New header for grub-emu functions.
17413 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
17414
17415 * conf/any-emu.rmk: Rule updates for above renames.
17416 * conf/common.rmk: Likewise.
17417 * conf/i386-pc.rmk: Likewise.
17418 * conf/i386-qemu.rmk: Likewise.
17419 * conf/mips.rmk: Likewise.
17420 * conf/sparc64-ieee1275.rmk: Likewise.
17421 * conf/x86-efi.rmk: Likewise.
17422
17423 * disk/lvm.h: #include updates for above renames.
17424 * util/grub-mkrelpath.c: Likewise.
17425 * util/grub-probe.c: Likewise.
17426 * util/i386/pc/grub-setup.c: Likewise.
17427 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17428 * kern/emu/console.c: Likewise.
17429 * kern/emu/getroot.c: Likewise.
17430 * kern/emu/hostdisk.c: Likewise.
17431 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
17432
17433 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
17434 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
17435 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
17436 * util/misc.c: Remove grub-emu functions.
17437
cced9145
VS
174382010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17439
17440 Fix gfxmenu crash.
17441 Reported by: Thorsten Grützmacher.
17442
17443 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
17444 timeout hook.
17445 (circprog_set_property): Register and unregister timeout hook.
17446 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
17447 (label_destroy): Free template. and unregister hook.
17448 (label_set_state): New function.
17449 (label_set_property): Handle templates and hooks.
17450 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
17451 timeout hook.
17452 (progress_bar_set_property): Register and unregister timeout hook.
17453 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
17454 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
17455 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
17456 (update_timeout_visit): Removed.
17457 (update_timeouts): New function.
17458 (redraw_timeouts): Likewise.
17459 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
17460 (grub_gfxmenu_clear_timeout): Likewise.
17461 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
17462 (grub_gfxmenu_timeout_notify): Likewise.
17463 (grub_gfxmenu_timeout_notifications): New external variable.
17464 (grub_gfxmenu_timeout_register): New function.
17465 (grub_gfxmenu_timeout_unregister): Likewise.
17466
c6e5caab
VS
174672010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17468
17469 Transform (broken) vga terminal into (working) vga video driver.
17470
17471 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
17472 video/i386/pc/vga.c.
17473 * include/grub/video.h (grub_video_driver_id):
17474 Add GRUB_VIDEO_DRIVER_VGA.
17475 * term/i386/pc/vga.c: Renamed to ...
17476 * video/i386/pc/vga.c: ...this
17477 (DEBUG_VGA): Removed.
17478 (CHAR_WIDTH): Likewise.
17479 (CHAR_HEIGHT): Likewise.
17480 (TEXT_WIDTH): Likewise.
17481 (TEXT_HEIGHT): Likewise.
17482 (DEFAULT_FG_COLOR): Likewise.
17483 (DEFAULT_BG_COLOR): Likewise.
17484 (colored_char): Likewise.
17485 (xpos): Likewise.
17486 (ypos): Likewise.
17487 (cursor_state): Likewise.
17488 (fg_color): Likewise.
17489 (bg_color): Likewise.
17490 (text_buf): Likewise.
17491 (page): Likewise.
17492 (font): Likewise.
17493 (framebuffer): New variable.
17494 (set_read_map): Disabled.
17495 (setup): New variable.
17496 (is_target): Likewise.
17497 (grub_vga_mod_init): Likewise.
17498 (grub_vga_mod_fini): Likewise.
17499 (check_vga_mem): Likewise.
17500 (write_char): Likewise.
17501 (write_cursor): Likewise.
17502 (scroll_up): Likewise.
17503 (grub_vga_putchar): Likewise.
17504 (grub_vga_getcharwidth): Likewise.
17505 (grub_vga_getwh): Likewise.
17506 (grub_vga_getxy): Likewise.
17507 (grub_vga_gotoxy): Likewise.
17508 (grub_vga_cls): Likewise.
17509 (grub_vga_setcolorstate): Likewise.
17510 (grub_vga_setcursor): Likewise.
17511 (grub_video_vga_init): New function.
17512 (grub_video_vga_setup): Likewise.
17513 (grub_video_vga_fini): Likewise.
17514 (update_target): Likewise.
17515 (grub_video_vga_blit_bitmap): Likewise.
17516 (grub_video_vga_blit_render_target): Likewise.
17517 (grub_video_vga_set_active_render_target): Likewise.
17518 (grub_video_vga_get_active_render_target): Likewise.
17519 (grub_video_vga_swap_buffers): Likewise.
17520 (grub_video_vga_set_palette): Likewise.
17521 (grub_video_vga_get_info_and_fini): Likewise.
17522 (grub_vga_term): Removed.
17523 (grub_video_vga_adapter): New variable.
17524 (GRUB_MOD_INIT): Register a video driver instead of terminal.
17525 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
17526
2bf61a98
VS
175272010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17528
17529 * video/readers/jpeg.c: Indented.
17530
09ddcd11
VS
175312010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17532
17533 Various jpeg cleanups.
17534
17535 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
17536 (grub_jpeg_decode_quan_table): Use sizeof.
17537 (grub_jpeg_decode_du): Use ARRAY_SIZE.
17538
e5507505
PH
175392010-05-05 Peter Hurley <No e-mail available> (tiny change)
17540
17541 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
17542 tables. Ignore non-last ac bit.
17543 (grub_jpeg_decode_quan_table): Likewise.
17544
7e720a9b
VS
175452010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17546
17547 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
17548 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
17549 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17550 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
17551 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
17552 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
17553
a7fc080b
VS
175542010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17555
17556 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
17557 error.
17558
2bf6012d
VS
175592010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17560
17561 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
17562
265d68cd
VS
175632010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17564
17565 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
17566 condition.
17567
175682010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
17569
17570 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
17571 part.
17572
265d68cd 175732010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
17574
17575 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
17576 pointers.
17577
265d68cd 175782010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
17579
17580 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
17581
d1b61374
CF
175822010-05-01 Christian Franke <franke@computer.org>
17583
17584 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
17585 Remove broken Cygwin path conversion.
17586 * util/misc.c: [__CYGWIN__] Add include and define.
17587 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
17588 for Cygwin 1.7.
17589 (make_system_path_relative_to_its_root): Simplify loop, replace early
17590 return by break.
17591 [__CYGWIN__] Add conversion to win32 path.
17592 Include "/" case in trailing slash removal.
17593
3558c6e9
VS
175942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 * kern/main.c (grub_load_config): Fix copy-pasted comment.
17597 Reported by: Seth Goldberg
17598
f5f3ff93
VS
175992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17600
17601 * commands/help.c (grub_cmd_help): Fix a typo.
17602 Reported by: Seth Goldberg
17603
d8b5cd40
VS
176042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17605
17606 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
17607 name and add N_.
17608 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
17609 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
17610 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
17611 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
17612 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
17613 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
17614 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17615 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17616 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17617 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17618 * normal/context.c (GRUB_MOD_INIT): Likewise.
17619 * normal/main.c (GRUB_MOD_INIT): Likewise.
17620 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17621 * term/serial.c (GRUB_MOD_INIT): Likewise.
17622 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17623
88c14915
VS
176242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17625
17626 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
17627 extra == 0.
17628
165134bc
VS
176292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17630
17631 * commands/iorw.c: New file.
17632 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
17633 (iorw_mod_SOURCES): New variable.
17634 (iorw_mod_CFLAGS): Likewise.
17635 (iorw_mod_LDFLAGS): Likewise.
17636
c5ac9b32
VS
176372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17638
17639 Hotkey support
17640
17641 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
17642 * normal/main.c (hotkey_aliases): New variable.
17643 (grub_normal_add_menu_entry): Parse "--hotkey".
17644 * normal/menu_text.c (run_menu): Handle hotkeys.
17645
ce60689c
VS
176462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17647
17648 * kern/i386/coreboot/init.c (grub_machine_init): Call
17649 grub_machine_mmap_init on qemu.
17650
0359d006
VS
176512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17652
17653 * boot/i386/qemu/boot.S: Add a missing .code16.
17654
7819a456
VS
176552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17656
17657 Use LBIO on coreboot.
17658
17659 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
17660 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
17661 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
17662 New declaration.
17663 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
17664 grub_machine_mmap_init on coreboot.
17665 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
17666 GRUB_LINUXBIOS_MEMBER_LINK.
17667 (grub_machine_mmap_iterate): Fix declaration.
17668 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
17669
7210dca9
VS
176702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17671
17672 Split coreboot and multiboot ports.
17673
17674 * conf/i386-multiboot.rmk: New file.
17675 * configure.ac: Add multiboot port.
17676 * include/grub/i386/multiboot/boot.h: New file.
17677 * include/grub/i386/multiboot/console.h: Likewise.
17678 * include/grub/i386/multiboot/init.h: Likewise.
17679 * include/grub/i386/multiboot/kernel.h: Likewise.
17680 * include/grub/i386/multiboot/loader.h: Likewise.
17681 * include/grub/i386/multiboot/memory.h: Likewise.
17682 * include/grub/i386/multiboot/serial.h: Likewise.
17683 * include/grub/i386/multiboot/time.h: Likewise.
17684 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
17685 * loader/multiboot.c: Likewise.
17686 * loader/multiboot_mbi2.c: Likewise.
17687 * util/grub-mkrescue.in: Generate multiboot rescue.
17688
6f8aaf68
VS
176892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17690
3080f7a7
VS
17691 * kern/parser.c (grub_parser_execute): Cope with read-only config.
17692
176932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17694
17695 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
17696
17697 * commands/terminal.c (abstract_terminal): New struct.
17698 (handle_command): New function. Based on grub_cmd_terminal_input.
17699 (grub_cmd_terminal_input): Use handle_command.
17700 (grub_cmd_terminal_output): Use handle_command.
17701
a8ebb841
BC
177022010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
17703
17704 Fix comment handling.
17705
17706 * tests/grub_script_comments.in: New testcase.
17707 * conf/tests.rmk: Rules for new testcase.
17708 * script/yylex.l: Updated flex rules.
17709
bb06ba08
ST
177102010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
17711
17712 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
17713 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
17714 if argc is 1.
bb06ba08 17715
cc9d2425
VS
177162010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17717
17718 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
17719 autogen issues.
17720
460d8402
CF
177212010-04-26 Christian Franke <franke@computer.org>
17722
17723 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
17724 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
17725 (grub_get_prefix): Remove function.
17726 * util/grub-emu.c (main): Replace grub_get_prefix () call by
17727 make_system_path_relative_to_its_root ().
17728 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17729
553c01f9
CF
177302010-04-24 Christian Franke <franke@computer.org>
17731
17732 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
17733 (kernel_img_LDFLAGS): Remove -static-libgcc.
17734
2aec1692
CF
177352010-04-24 Christian Franke <franke@computer.org>
17736
17737 * configure.ac: Do not CHECK_BSS_START_SYMBOL
17738 and CHECK_END_SYMBOL if grub-emu is built.
17739 Unset TARGET_OBJ2ELF if grub-emu is built
17740 without module support.
17741
f67dc308
JS
177422010-04-24 Jiro SEKIBA <jir@unicus.jp>
17743
17744 Nilfs2 support.
17745
17746 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
17747 (grub_fstest_SOURCES): Likewise.
17748 (pkglib_MODULES): Add nilfs2.mod.
17749 (nilfs2_mod_SOURCES): New variable.
17750 (nilfs2_mod_CFLAGS): Likewise.
17751 (nilfs2_mod_LDFLAGS): Likewise.
17752 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17753 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17754 * fs/nilfs2.c: New file.
17755
4ba8d354
VS
177562010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
17757
17758 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
17759 is not supported.
17760
0d2c20c6
GS
177612010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
17762
17763 Add grub-mkconfig support for NetBSD.
17764
17765 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
17766 * util/grub-mkconfig.in: export new NetBSD specific variables.
17767 * po/POTFILES-shell: added 10_netbsd.in.
17768 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
17769
bc4a2d83
BC
177702010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
17771
17772 Fix emu build with grub-emu-pci and grub-emu-modules.
17773
17774 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
17775 functions.
17776 * include/grub/libpciaccess.h: New file.
17777 * conf/any-emu.rmk: Update kernel headers for emu build.
17778
f48c87aa
VS
177792010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17780
17781 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
17782
18959385
VS
177832010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17784
17785 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
17786
0037de3f
VS
177872010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17788
17789 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
17790 Retrieve chosen/bootpath if bootpath isn't hardcoded.
17791 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
17792 util/ieee1275/ofpath.c.
17793 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
17794 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
17795 * include/grub/sparc64/ieee1275/boot.h
17796 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
17797 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
17798 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
17799 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
17800 const char *.
17801 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
17802 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
17803 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
17804 install.
17805
38e55e90
GS
178062010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17807
17808 * util/grub-mkconfig.in: Corrected two == equality tests.
17809 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
17810 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
17811 expect a number appended to it.
17812 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
17813 expects a number appended to it.
17814
a9e6ff28
VS
178152010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17816
17817 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
17818
0b830b8f
VS
178192010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17820
17821 * util/hostdisk.c (make_device_name): Change to new partition naming.
17822
0973daeb
VS
178232010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17824
17825 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
17826
460d8402 178272010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
17828
17829 * Makefile.in: Add missing localedir setting.
17830
0b456309
CW
178312010-04-14 Colin Watson <cjwatson@ubuntu.com>
17832
17833 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
17834 mistake in r2156. Noticed by Anthony Fok.
17835
17836 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
17837 @localedir@.
17838 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17839
08f46d62
BC
178402010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
17841
17842 Fix a spurious, uninitialized variable warning.
17843
17844 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
17845 Initialize variable, shdr.
17846 (grub_freebsd_load_elfmodule): Likewise.
17847 (grub_freebsd_load_elf_meta): Likewise.
17848
8c4a72d4
BC
178492010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
17850
17851 Fix for escaped dollar in double quoted strings.
17852
17853 * script/yylex.l: Updated flex rules.
17854 * conf/tests.rmk: Rule for new testcase.
17855 * tests/grub_script_dollar.in: New testcase.
17856
ce44826e
CPE
178572010-04-13 Carles Pina i Estany <carles@pina.cat>
178582010-04-13 Colin Watson <cjwatson@ubuntu.com>
17859
17860 Enclose all translated strings in grub.cfg in single quotes, and
17861 escape them appropriately (Ubuntu bug #552921).
17862
17863 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
17864 * util/grub.d/10_hurd.in: Use it.
17865 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17866 * util/grub.d/10_linux.in (linux_entry): Likewise.
17867
4b0cd8f8
VS
178682010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17869
17870 Fix cygwin compilation.
17871
17872 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
17873 * include/grub/misc.h (__register_frame_info)
17874 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
17875 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17876 * kern/misc.c (__register_frame_info)
17877 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
17878 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17879
01fcf061
VS
178802010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17881
17882 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
17883
5d04b11e
VS
178842010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17885
17886 Unify libgcc processing.
17887
17888 * Makefile.in (kernel_img_LDFLAGS): New variable.
17889 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
17890 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
17891 overwriting.
17892 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
17893 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
17894 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
17895 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
17896 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
17897 overwriting. Remove -lgcc and -static-libgcc
17898 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
17899 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17900 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17901 (kernel_img_LDFLAGS): Append instead of overwriting.
17902 Remove -lgcc and -static-libgcc
17903 * conf/sparc64-ieee1275.rmk: Likewise.
17904 * include/grub/powerpc/libgcc.h: Move to ...
17905 * include/grub/libgcc.h: .. this.
17906 * include/grub/libgcc.h: Don't export most of the function on x86.
17907 (__bswapsi2): New export.
17908 (__bswapdi2): Likewise.
17909 * include/grub/mips/libgcc.h: Removed.
17910 * include/grub/sparc64/libgcc.h: Likewise.
17911
b7f3ac29
VS
179122010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17913
17914 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
17915 disk_info_msg (conflicts with gettexting into languages with cases).
17916
2c7031b1
GS
179172010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
17918
17919 Add grub-probe support for NetBSD.
17920
17921 * util/getroot.c (find_root_device): Convert block device to
17922 character device on NetBSD.
17923 * util/probe.c (probe): Require character device on NetBSD.
17924 * util/hostdisk.c: NetBSD specific headers.
17925 (configure_device_driver): new function to tune device driver
17926 parameters (currently only for NetBSD floppy driver).
17927 (grub_util_biosdisk_open): NetBSD specific code (get disk size
17928 via disklabel ioctl).
17929 (open_device): call configure_device_driver on NetBSD.
17930 (convert_system_partition_to_system_disk): NetBSD specific code.
17931 (device_is_wholedisk): Likewise.
17932 (grub_util_biosdisk_get_grub_dev): Likewise.
17933 (make_device_name): Fixed a typo in bsd_part_str.
17934 * configure.ac: check for opendisk() and getrawpartition() on
17935 NetBSD and set LIBUTIL.
17936 * Makefile.in: add LIBUTIL to LIBS.
17937
f516290c
BC
179382010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17939
17940 Documentation fix.
17941
17942 * util/grub-script-check.c: Better help message.
17943
d8dcc0df
BC
179442010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17945
17946 Fix FreeBSD build.
17947
17948 * configure.ac: Flex version check.
17949 * conf/common.rmk: Add -Wno-error to sh.mod.
17950 * script/yylex.l: Remove all #pragma.
17951
6734334a
VS
179522010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17953
17954 * include/grub/util/misc.h (canonicalise_file_name): Add missing
17955 prototype.
17956 Reported by: Seth Goldberg.
17957
daea6abd
VS
179582010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
17961 Rename "module" to "module2".
17962 Reported by: Seth Goldberg.
17963
f2fd9d2b
VS
179642010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17965
17966 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
17967 EXPORT_FUNC.
17968 Reported by: Seth Goldberg.
17969
be124579
VS
179702010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17971
17972 * lib/posix_wrap/locale.h: Add missing file.
17973 Reported by: Seth Goldberg.
17974
ef5da797
VS
179752010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17976
17977 grub-emu module load support.
17978
17979 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
17980 NO_DYNAMIC_MODULES switched to this.
17981 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
17982 (CFLAGS): Likewise.
17983 * conf/any-emu.rmk: Generate symlist.
17984 (kernel_img_HEADERS): Add util/datetime.h.
17985 (kernel_img_HEADERS) [sdl]: Add sdl.h.
17986 (kernel_img_HEADERS) [libusb]: Add libusb.h.
17987 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
17988 kern/$(target_cpu)/cache.S.
17989 * configure.ac (grub-emu-modules): New option.
17990 * genmk.rb: Handle multiple source lists.
17991 * include/grub/sdl.h: New file.
17992 * include/grub/libusb.h: Likewise.
17993 * util/grub-emu.c (main): Hanle (host) root.
17994 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
17995 GRUB_ERR_UNKNOWN_DEVICE.
17996 * util/misc.c: Move mm functions to ...
17997 * util/mm.c: ... here. All users updated.
17998
47822096
VS
179992010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18000
18001 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
18002 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
18003 missing files.
18004 (maintainer-clean): Remove libgcrypt-grub.
18005
5d7e7445
VS
180062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18007
18008 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
18009
25f4e252
EC
180102010-04-09 EFI Coder <eficoder@hotmail.com>
18011
18012 * normal/menu_text.c (print_message): Clean up the message and show
18013 the Fn information when on EFI
18014 * term/efi/console.c (grub_console_checkkey): Add F4 support.
18015
027de555
VS
180162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18017
18018 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
18019 All users updated.
18020 * normal/crypto.c (read_crypto_list): Likewise.
18021 * normal/dyncmd.c (read_command_list): Likewise.
18022 * normal/term.c (read_terminal_list): Likewise.
18023 * normal/main.c (read_lists): Use explicit prefix.
18024 (read_lists_hook): Use read_lists.
18025 (grub_normal_execute): Likewise.
18026
47779711
VS
180272010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18028
18029 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
18030 Reported by: Thomas Schmitt.
18031 Add -no-emul-boot to grub-mkisofs parameters.
18032
1118c32e
VS
180332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18034
18035 * font/font.c: Indented.
18036
7d652447
BC
180372010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18038
18039 Elif support to GRUB script (by Deepak Vankadaru).
18040
18041 * tests/grub_script_if.in: New testcase.
18042 * conf/tests.rmk: Rule for new testcase.
18043 * script/parser.y: Grammar rules for elif.
18044
34bb22df
BC
180452010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18046
18047 While and until loops support to GRUB script.
18048
18049 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
18050 (grub_script_create_cmdwhile): New function prototype.
18051 (grub_script_execute_cmdwhile): New function prototype.
18052 * script/execute.c (grub_script_execute_cmdwhile): New function.
18053 * script/parser.y (command): New commands.
18054 (whilecmd): New grammar rule.
18055 (untilcmd): New grammar rule.
18056 * script/script.c (grub_script_create_cmdwhile): New function.
18057 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
18058 function.
18059
18060 * tests/grub_script_while1.in: New testcase.
18061 * conf/tests.rmk: Rule for new testcase.
18062
e215d8e0
VS
180632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18064
18065 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
18066 as *.jpg.
18067
d7c43ba1
MV
180682010-04-09 Mario Vazquez <mariovazq@gmail.com>
18069
18070 GRUB_BACKGROUND support.
18071
18072 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
18073 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
18074
d64795c0
VS
180752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18076
18077 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 18078 Idea by: Mario Vazquez
d64795c0
VS
18079
18080 * util/grub.d/00_header.in: Load pf2 and image modules.
18081
f267f83a
VS
180822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18083
18084 grub-mkconfig multiple terminal support.
18085
18086 * util/grub-mkconfig.in: Handle multiple terminals correctly.
18087 * util/grub.d/00_header.in: Likewise.
18088
b7841ceb
VS
180892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18090
18091 * Makefile.in: Specify files explicitly instead of using $< and $@ since
18092 we use cd $(srcdir).
18093
df60998c
CW
180942010-04-08 Colin Watson <cjwatson@ubuntu.com>
18095
18096 * util/grub.d/10_linux.in: Only use the first word of
18097 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
18098 spaces in GRUB_DISTRIBUTOR.
18099 * util/grub.d/10_kfreebsd.in: Likewise.
18100 * util/grub.d/10_hurd.in: Likewise.
18101
fa09c82e
BC
181022010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
18103
14e18ae3 18104 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
18105
18106 * tests/util/grub-shell.in: Remove -serial stdio option.
18107
daf892b3
BC
181082010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18109
18110 POSIX header file wrappers.
18111
18112 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18113 equivalents.
18114 * lib/posix_wrap/ctype.h: Likewise.
18115 * lib/posix_wrap/errno.h: Likewise.
18116 * lib/posix_wrap/langinfo.h: Likewise.
18117 * lib/posix_wrap/limits.h: Likewise.
18118 * lib/posix_wrap/localcharset.h: Likewise.
18119 * lib/posix_wrap/stdint.h: Likewise.
18120 * lib/posix_wrap/stdio.h: Likewise.
18121 * lib/posix_wrap/stdlib.h: Likewise.
18122 * lib/posix_wrap/string.h: Likewise.
18123 * lib/posix_wrap/sys/types.h: Likewise.
18124 * lib/posix_wrap/unistd.h: Likewise.
18125 * lib/posix_wrap/wchar.h: Likewise.
18126 * lib/posix_wrap/wctype.h: Likewise.
18127 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18128 (grub_script.yy.h): Likewise.
18129 * script/yylex.l: Remove POSIX emulation #defines.
18130 * Makefile.in (POSIX_CFLAGS): New variable.
18131 (GNULIB_UTIL_CFLAGS): Likewise.
18132
18133 Regexp support.
18134
18135 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18136 (regexp_mod_SOURCES): New variable.
18137 (regexp_mod_CFLAGS): Likewise.
18138 (regexp_mod_LDFLAGS): Likewise.
18139 * commands/regexp.c: New file.
18140 * gnulib/regcomp.c: New file. Imported from gnulib.
18141 * gnulib/regex.c: Likewise.
18142 * gnulib/regex_internal.c: Likewise.
18143 * gnulib/regex_internal.h: Likewise.
18144 * gnulib/regexec.c: Likewise.
18145 * gnulib/regex.h: Likewise.
18146
974ac4f7
VS
181472010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18148
18149 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18150 unsupported video mode types.
18151
2622c3ff
VS
181522010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18153
18154 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18155
064cb524
VS
181562010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18157
18158 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18159 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18160
a8c3b552
VS
181612010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18162
18163 Remove unused grub_vga_get_font.
18164
18165 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18166 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18167
187bbe3d
GS
181682010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18169
18170 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18171 * include/grub/misc.h: Likewise.
18172
b9396631
GS
181732010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18174
18175 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
18176 for which failure is fatal.
18177
50479feb
GS
181782010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18179
18180 * util/grub-install.in: Use mkdir -p to create grub directory.
18181 * util/i386/efi/grub-install.in: Likewise.
18182 * util/ieee1275/grub-install.in: Likewise.
18183
b1654fdf
GS
181842010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18185
18186 * Makefile.in (LEX): new variable.
18187
bd5a6415
GS
181882010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18189
18190 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
18191 `=' and added double quotes on operands of this equality test.
18192
3db3a82b
VS
181932010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18194
18195 * Makefile.in (uninstall): Remove a leftover debug echo.
18196 Reported by: Grégoire Sutre
18197
38023412
VS
181982010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18199
18200 MIPS multiboot2 support.
18201
18202 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
18203 (multiboot2_mod_SOURCES): New variable.
18204 (multiboot2_mod_CFLAGS): Likewise.
18205 (multiboot2_mod_LDFLAGS): Likewise.
18206 (multiboot2_mod_ASFLAGS): Likewise.
18207 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
18208 definition.
18209 (MULTIBOOT_ENTRY_REGISTER): Likewise.
18210 (MULTIBOOT_MBI_REGISTER): Likewise.
18211 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
18212 (MULTIBOOT_ELF32_MACHINE): Likewise.
18213 (MULTIBOOT_ELF64_MACHINE): Likewise.
18214 * include/grub/mips/multiboot.h: New file.
18215 * include/grub/video.h (grub_video_driver_id): New type
18216 GRUB_VIDEO_DRIVER_SM712.
18217 (grub_video_get_info_and_fini): Export.
18218 (grub_video_get_palette): Likewise.
18219 (grub_video_get_driver_id): Likewise.
18220 * include/multiboot2.h: Resynced with spec.
18221 * loader/i386/multiboot.c: Moved from here ...
18222 * loader/multiboot.c: ... here. All users updated.
18223 (grub_multiboot_boot): Use platform-specific macros.
18224 * loader/i386/multiboot_elfxx.c: Moved from here ...
18225 * loader/multiboot_elfxx.c: ... here. All users updated.
18226 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
18227 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
18228 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
18229
47674667
VS
182302010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18231
18232 Import gnulib argp module.
18233
18234 * gnulib/argp-ba.c: New file.
18235 * gnulib/argp-eexst.c: Likewise.
18236 * gnulib/argp-fmtstream.c: Likewise.
18237 * gnulib/argp-fmtstream.h: Likewise.
18238 * gnulib/argp-fs-xinl.c: Likewise.
18239 * gnulib/argp-help.c: Likewise.
18240 * gnulib/argp-namefrob.h: Likewise.
18241 * gnulib/argp-parse.c: Likewise.
18242 * gnulib/argp-pin.c: Likewise.
18243 * gnulib/argp-pv.c: Likewise.
18244 * gnulib/argp-pvh.c: Likewise.
18245 * gnulib/argp-version-etc.c: Likewise.
18246 * gnulib/argp-version-etc.h: Likewise.
18247 * gnulib/argp-xinl.c: Likewise.
18248 * gnulib/argp.h: Likewise.
18249
495442ed
VS
182502010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18251
18252 * kern/device.c (grub_device_iterate): Clear errors after failed
18253 opening device.
18254
f9fd65df
VS
182552010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18256
18257 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
18258 returned by firmware.
18259
af09641e
VS
182602010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18261
18262 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
18263 compilation on coreboot and qemu
18264
016883a5
VS
182652010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18266
18267 * include/multiboot2.h: Resync with spec.
18268
f97e1f7d
VS
182692010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18270
18271 Multiboot2 tag support
18272
18273 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
18274 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
18275 Remove loader/multiboot_loader.c.
18276 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
18277 (grub_multiboot2_real_boot): Likewise.
18278 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
18279 (grub_get_multiboot_mmap_count): New proto.
18280 (grub_fill_multiboot_mmap): Likewise.
18281 (grub_multiboot_set_video_mode): Likewise.
18282 (grub_multiboot_set_console): Likewise.
18283 (grub_multiboot_load): Likewise.
18284 (grub_multiboot_load_elf): Likewise.
18285 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
18286 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
18287 * include/multiboot.h: Resynced with specification.
18288 * include/multiboot2.h: Resynced with specification.
18289 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
18290 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
18291 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
18292 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
18293 users updated.
18294 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
18295 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
18296 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
18297 Removed.
18298 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
18299 Moved from here...
18300 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
18301 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18302 Moved from here...
18303 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
18304 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
18305 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
18306 All users updated.
18307 * loader/i386/multiboot_mbi2.c: New file.
18308
3506b90b
VS
183092010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18310
18311 Resync with gnulib.
18312
18313 * Makefile.in (GNULIB_CFLAGS): New variable.
18314 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
18315 (grub_script_check_CFLAGS): New variable.
18316 * gnulib/alloca.h: Resync with gnulib.
18317 * gnulib/error.c: Likewise.
18318 * gnulib/error.h: Likewise.
18319 * gnulib/fnmatch.c: Likewise.
18320 * gnulib/fnmatch_loop.c: Likewise.
18321 * gnulib/getdelim.c: Likewise.
18322 * gnulib/getline.c: Likewise.
18323 * gnulib/getopt.c: Likewise.
18324 * gnulib/getopt1.c: Likewise.
18325 * gnulib/getopt_int.h: Likewise.
18326 * gnulib/gettext.h: Likewise.
18327 * gnulib/progname.c: Likewise.
18328 * gnulib/progname.h: Likewise.
18329
394a3120
GS
183302010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
18331
18332 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
18333 which is the case with --disabled-nls.
18334
18335 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
18336 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
18337 * util/misc.c: Likewise.
18338 * util/mkisofs/mkisofs.c: Likewise.
18339 * util/mkisofs/mkisofs.h: Likewise.
18340
969d1c78
VS
183412010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18342
18343 Simplify Apple CC support.
18344
18345 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
18346 Add 0 byte at the end not to have a symbol with empty target.
18347 * mmap/i386/pc/mmap_helper.S: Likewise.
18348 * genmk.rb: Ignore errors 2030 and 2050.
18349 * kern/i386/pc/startup.S: Use LOCAL when possible.
18350
8d2977bb
BC
183512010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
18352
18353 Testcase and the fix for final semicolon on cmdline.
18354
18355 * tests/grub_script_final_semicolon.in: New testcase.
18356 * conf/tests.rmk: Rules for the new testcase.
18357 * script/parser.y: Grammar fix.
18358
a7bd6915
BC
183592010-03-26 BVK Chaitanya <bvk@localhost>
18360
18361 Blank lines testcase for GRUB script.
18362
18363 * tests/grub_script_blanklines.in: New testcase.
18364 * conf/tests.rmk: Rules for the new testcase.
18365
e4ff6628
VS
183662010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18367
18368 Don't use __FILE__.
18369
18370 * genmk.rb: Add -DGRUB_FILE to all C targets.
18371 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
18372 * include/grub/list.h: Likewise.
18373 * include/grub/misc.h: Likewise.
18374 * include/grub/mm.h: Likewise.
18375 * include/grub/test.h: Likewise.
18376 * kern/mm.c: Likewise.
18377 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18378
6a5cf6b6
VS
183792010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18380
18381 Sunpc partitions support.
18382
18383 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
18384 (grub_fstest_SOURCES): Likewise.
18385 (pkglib_MODULES): Add part_sunpc.mod.
18386 (part_sunpc_mod_SOURCES): New variable.
18387 (part_sunpc_mod_CFLAGS): Likewise.
18388 (part_sunpc_mod_LDFLAGS): Likewise.
18389 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
18390 * partmap/sunpc.c: New file.
18391
746d9045
BC
183922010-03-26 BVK Chaitanya <bvk@localhost>
18393
18394 For loop support to GRUB script.
18395
18396 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
18397 (grub_script_create_cmdfor): New function prototype.
18398 (grub_script_execute_cmdfor): New function prototype.
18399 * script/execute.c (grub_script_execute_cmdfor): New function.
18400 * script/parser.y (command): New for command.
18401 (forcmd): New grammar rule.
18402 * script/script.c (grub_script_create_cmdfor): New function.
18403 * util/grub-script-check.c (grub_script_execute_cmdfor): New
18404 function.
18405 * tests/grub_script_for1.in: New testcase.
18406 * conf/tests.rmk: Rules for new testcase.
18407
18486b18
VS
184082010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18409
18410 Nested partitions
18411
18412 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
18413 'partition' is NULL, grub_partition_get_start already does that.
18414 * commands/loadenv.c (check_blocklists): Likewise.
18415 (write_blocklists): Likewise.
18416 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
18417 (grub_fstest_SOURCES): Likewise.
18418 (pkglib_MODULES): Add part_bsd.mod.
18419 (part_bsd_mod_SOURCES): New variable.
18420 (part_bsd_mod_CFLAGS): Likewise.
18421 (part_bsd_mod_LDFLAGS): Likewise.
18422 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
18423 (grub_emu_SOURCES): Likewise.
18424 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18425 * include/grub/bsdlabel.h: New file.
18426 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
18427 'get_name'.
18428 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
18429 (grub_partition_map_list): New variable.
18430 (grub_partition_map_register): Inline.
18431 (grub_partition_map_unregister): Likewise.
18432 (FOR_PARTITION_MAPS): New macro.
18433 (grub_partition_map_iterate): Removed.
18434 (grub_partition_get_start): Handle nested partitions.
18435 * include/grub/msdos_partition.h: Remove bsd-related entries.
18436 (grub_pc_partition): Remove.
18437 * kern/disk.c (grub_disk_close): Free partition data.
18438 (grub_disk_adjust_range): Handle nested partitions.
18439 * kern/partition.c (grub_partition_map_probe): New function.
18440 (grub_partition_probe): Parse name to number, handle subpartitions.
18441 (get_partmap): New function.
18442 (grub_partition_iterate): Handle subpartitions.
18443 (grub_partition_get_name): Likewise.
18444 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
18445 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
18446 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
18447 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
18448 Set 'number'.
18449 (acorn_partition_map_probe): Remove.
18450 (acorn_partition_map_get_name): Likewise.
18451 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
18452 Set 'number'.
18453 Set 'index' to 0 since there can be only one partition entry per sector.
18454 (amiga_partition_map_probe): Remove.
18455 (amiga_partition_map_get_name): Likewise.
18456 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
18457 Set 'number'.
18458 Set 'offset' and 'index' to real positions of partitions.
18459 (apple_partition_map_probe): Remove.
18460 (apple_partition_map_get_name): Likewise.
18461 * partmap/bsdlabel.c: New file.
18462 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
18463 Set 'number'.
18464 Allocate 'data' so it can be correctly freed.
18465 Set 'index' to offset inside sector.
18466 (gpt_partition_map_probe): Remove.
18467 (gpt_partition_map_get_name): Likewise.
18468 * partmap/msdos.c (grub_partition_parse): Remove.
18469 (pc_partition_map_iterate): Don't force raw access.
18470 Set 'number'.
18471 Make 'ext_offset' a local variable.
18472 (pc_partition_map_probe): Remove.
18473 (pc_partition_map_get_name): Remove.
18474 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
18475 Set 'number'.
18476 (sun_partition_map_probe): Remove.
18477 (sun_partition_map_get_name): Likewise.
18478 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
18479 (grub_pcpart_type): Likewise.
18480 * util/hostdisk.c (open_device): Handle new numbering scheme.
18481 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
18482 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
18483 * util/grub-probe.c (probe_partmap): Handle nested paritions.
18484 * util/grub-install.in: Insert all subpartition modules.
18485 * util/ieee1275/grub-install.in: Likewise.
18486
a3940f88
AG
184872010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
18488
18489 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
18490 grammar.
18491
21b99926 184922010-03-24 Colin Watson <cjwatson@ubuntu.com>
18493
18494 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
18495
bed1d352
CW
184962010-03-21 Colin Watson <cjwatson@ubuntu.com>
18497
18498 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
18499 match where 'make install' puts them.
18500 * util/i386/efi/grub-install.in: Likewise.
18501
c9f58427
CW
185022010-03-19 Colin Watson <cjwatson@ubuntu.com>
18503
18504 * .bzrignore: Add gentrigtables, grub-script-check,
18505 grub_script_check_init.c, grub_script_check_init.h, and
18506 trigtables.c.
18507
f84afb27
VS
185082010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
18509
18510 * kern/parser.c: Indented.
18511
ed0e3d30
VS
185122010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18513
18514 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
18515
0ea81d98
VS
185162010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18517
18518 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
18519 alpha_mask_size == 0 case.
18520
0cdc2a09
BC
185212010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
18522
18523 GRUB shell lexer and parser improvements.
18524
18525 * conf/any-emu.rmk: Build rule updates.
18526 * conf/common.rmk: Likewise.
18527 * conf/i386-coreboot.rmk: Likewise.
18528 * conf/i386-efi.rmk: Likewise.
18529 * conf/i386-ieee1275.rmk: Likewise.
18530 * conf/i386-pc.rmk: Likewise.
18531 * conf/powerpc-ieee1275.rmk: Likewise.
18532 * conf/x86_64-efi.rmk: Likewise.
18533
18534 * configure.ac: Configure check for flex.
18535
18536 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
18537 types.
18538 (grub_lexer_param): Struct member updates.
18539 (grub_parser_param): Likewise.
18540 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
18541 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
18542 (grub_script_lexer_init): Prototype update.
18543 (grub_script_lexer_record_start): Likewise.
18544 (grub_script_lexer_record_stop): Likewise.
18545 (grub_script_lexer_yywrap): New function prototype.
18546 (grub_script_lexer_fini): Likewise.
18547 (grub_script_execute_argument_to_string): Removed by...
18548 (grub_script_execute_argument_to_argv): ...better version.
18549
18550 * script/execute.c (ROUND_UPTO): New macro.
18551 (grub_script_execute_cmdline): Out of memory fixes.
18552 (grub_script_execute_menuentry): Likewise.
18553 (grub_script_execute_argument_to_string): Removed. Update all
18554 users by...
18555 (grub_script_execute_argument_to_argv): ...better version.
18556 * script/function.c (grub_script_function_create): Use
18557 grub_script_execute_argument_to_argv instead of
18558 grub_script_execute_argument_to_string.
18559
18560 * script/lexer.c (check_varstate): Removed.
18561 (check_textstate): Removed.
18562 (grub_script_lexer_record_start): Likewise.
18563 (grub_script_lexer_record_stop): Likewise.
18564 (recordchar): Replaced with...
18565 (grub_script_lexer_record): ...new function.
18566 (nextchar): Removed.
18567 (grub_script_lexer_init): Rewritten.
18568 (grub_script_yylex): Rewritten.
18569 (append_newline): New function.
18570 (grub_script_lexer_yywrap): New function.
18571 (grub_script_lexer_fini): New function.
18572 (grub_script_yyerror): Sets error flag.
18573
18574 * script/yylex.l: New file.
18575 (grub_lexer_yyfree): Wrapper for flex yyffre.
18576 (grub_lexer_yyalloc): Likewise.
18577 (grub_lexer_yyrealloc): Likewise.
18578 * script/parser.y: Refactored.
18579
18580 * script/script.c (grub_script_arg_add): Out of memory fixes.
18581 (grub_script_add_arglist): Likewise.
18582 (grub_script_create_cmdline): Likewise.
18583 (grub_script_create_cmdmenu): Likewise.
18584 (grub_script_add_cmd): Likewise.
18585 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
18586 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
18587 unnecessary code.
18588
18589 * tests/grub_script_echo1.in: New testcase.
18590 * tests/grub_script_vars1.in: New testcase.
18591 * tests/grub_script_echo_keywords.in: New testcase.
18592
1d63a066
VS
185932010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18594
18595 Remove some redundancy in build system.
18596
18597 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
18598 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
18599 (TARGET_LDFLAGS): Add -nostdlib.
18600 (TARGET_IMG_LDFLAGS): Likewise.
18601 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
18602 anything since mmap isn't available.
18603 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
18604 Add util/time.c.
18605 (pkglib_MODULES): Remove reboot.mod.
18606 (reboot_mod_SOURCES): Removed.
18607 (reboot_mod_CFLAGS): Likewise.
18608 (reboot_mod_LDFLAGS): Likewise.
18609 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
18610 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
18611 (DEFSYMFILES): Add kernel_syms.lst.
18612 (kernel_img_HEADERS): Add common headers.
18613 (symlist.c): New target.
18614 (kernel_syms.lst): Likewise.
18615 (pkglib_MODULES): Add memdisk.mod.
18616 (memdisk_mod_SOURCES): New variable.
18617 (memdisk_mod_CFLAGS): Likewise.
18618 (memdisk_mod_LDFLAGS): Likewise.
18619 (pkglib_MODULES): Add reboot.mod.
18620 (reboot_mod_SOURCES): New variable.
18621 (reboot_mod_CFLAGS): Likewise.
18622 (reboot_mod_LDFLAGS): Likewise.
18623 (pkglib_MODULES): Add date.mod.
18624 (date_mod_SOURCES): New variable.
18625 (date_mod_CFLAGS): Likewise.
18626 (date_mod_LDFLAGS): Likewise.
18627 (pkglib_MODULES): Add datehook.mod.
18628 (datehook_mod_SOURCES): New variable.
18629 (datehook_mod_CFLAGS): Likewise.
18630 (datehook_mod_LDFLAGS): Likewise.
18631 (pkglib_MODULES): Add lsmmap.mod.
18632 (lsmmap_mod_SOURCES): New variable.
18633 (lsmmap_mod_CFLAGS): Likewise.
18634 (lsmmap_mod_LDFLAGS): Likewise.
18635 (pkglib_MODULES): Add boot.mod.
18636 (boot_mod_SOURCES): New variable.
18637 (boot_mod_CFLAGS): Likewise.
18638 (boot_mod_LDFLAGS): Likewise.
18639 * conf/i386-coreboot.rmk: Removed redundant parts.
18640 * conf/i386-ieee1275.rmk: Likewise.
18641 * conf/i386-pc.rmk: Likewise.
18642 * conf/mips-yeeloong.rmk: Likewise.
18643 * conf/mips.rmk: Likewise.
18644 * conf/powerpc-ieee1275.rmk: Likewise.
18645 * conf/sparc64-ieee1275.rmk: Likewise.
18646 * conf/x86_64-efi.rmk: Likewise.
18647 * conf/i386-coreboot.rmk: Moved qemu parts ..
18648 * conf/i386-qemu.rmk: ... here
18649 * conf/i386-efi.rmk: Moved common parts to...
18650 * conf/x86-efi.rmk: ... here.
18651 * conf/i386.rmk: Added modules common to all x86 variants.
18652 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
18653 * disk/memdisk.c: Remove grub/machine/kernel.h.
18654 * gensymlist.sh.in: Include symbol.h.
18655 * hook/datehook.c: Correct module name.
18656 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
18657 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
18658 * include/grub/i386/efi/serial.h: New file.
18659 * include/grub/x86_64/efi/serial.h: Likewise.
18660 * util/time.c: Likewise.
18661 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
18662
463ac55f
CK
186632010-03-14 Colin King <colin.king@ubuntu.com>
186642010-03-14 Colin Watson <cjwatson@ubuntu.com>
18665
18666 Shrink the pre-partition-table part of boot.img by eight bytes.
18667
18668 * boot/i386/pc/boot.S (ERR): New macro.
18669 (chs_mode): Use ERR.
18670 (geometry_error): Likewise.
18671 (hd_probe_error): Remove. This is only used once, so we wrwite
18672 it inline instead.
18673 (read_error): Instead of printing read_error_string, just set up
18674 %si and fall through to ...
18675 (error_message): ... this new function, also used by ERR.
18676
08e46ede
CW
186772010-03-14 Colin Watson <cjwatson@ubuntu.com>
18678
18679 Speed up consecutive hostdisk operations on the same device.
18680
18681 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
18682 (grub_util_biosdisk_open): Initialise disk->data.
18683 (struct linux_partition_cache): New structure.
18684 (linux_find_partition): Cache partition start positions; these are
18685 expensive to compute on every read and write.
18686 (open_device): Cache open file descriptor in disk->data, so that we
18687 don't have to reopen it and flush the buffer cache for consecutive
18688 operations on the same device.
18689 (grub_util_biosdisk_close): New function.
18690 (grub_util_biosdisk_dev): Set `close' member.
18691
18692 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
18693 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
18694 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18695 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18696 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
18697
4a6d2d06
VS
186982010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 Compile parts of grub-emu as modules.
18701
18702 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
18703 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
18704 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
18705 (all-local): Add $(GRUB_EMU).
18706 (install-local): Install $(GRUB_EMU).
18707 (uninstall): Uninstall $(GRUB_EMU).
18708 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
18709 * kern/dl.c: Likewise.
18710 * commands/sleep.c: Not include machine/time.h.
18711 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
18712 (COMMON_CFLAGS): Likewise.
18713 (sbin_UTILITIES): Remove grub-emu.
18714 (grub_emu_SOURCES): Removed.
18715 (kernel_img_RELOCATABLE): New variable.
18716 (pkglib_PROGRAMS): Add kernel.img.
18717 (kernel_img_SOURCES): New variable
18718 (kernel_img_CFLAGS): Likewise.
18719 (kernel_img_LDFLAGS): Likewise.
18720 (TARGET_NO_STRIP): Likewise.
18721 (TARGET_NO_DYNAMIC_MODULES): Likewise.
18722 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
18723 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
18724 (grub-emu): New target.
18725 (GRUB_EMU): New variable.
18726 * configure.ac: Whitelist -emu as possible x86_64 architecture.
18727 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
18728 * loader/xnu.c: Likewise.
18729 * include/grub/pci.h: Likewise.
18730 * genemuinit.sh: New file.
18731 * genemuinitheader.sh: Likewise.
18732 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
18733 Support TARGET_NO_DYNAMIC_MODULES.
18734 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
18735 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
18736 * disk/loopback.c: Likewise.
18737 * font/font_cmd.c: Likewise.
18738 * partmap/acorn.c: Likewise.
18739 * partmap/amiga.c: Likewise.
18740 * partmap/apple.c: Likewise.
18741 * partmap/gpt.c: Likewise.
18742 * partmap/msdos.c: Likewise.
18743 * partmap/sun.c: Likewise.
18744 * parttool/msdospart.c: Likewise.
18745 * term/gfxterm.c: Likewise.
18746 * video/bitmap.c: Likewise.
18747 * video/readers/jpeg.c: Likewise.
18748 * video/readers/png.c: Likewise.
18749 * video/readers/tga.c: Likewise.
18750 * video/video.c: Likewise.
18751 * util/grub-emu.c (read_command_list): Removed.
18752 (main): Don't call util_init_nls.
18753 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
18754 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
18755
91fdd2ed
VS
187562010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18757
18758 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
18759 date.mod, datehook.mod.
18760 (datetime_mod_SOURCES): New variable.
18761 (datetime_mod_CFLAGS): Likewise.
18762 (datetime_mod_LDFLAGS): Likewise.
18763 (date_mod_SOURCES): Likewise.
18764 (date_mod_CFLAGS): Likewise.
18765 (date_mod_LDFLAGS): Likewise.
18766 (datehook_mod_SOURCES): Likewise.
18767 (datehook_mod_CFLAGS): Likewise.
18768 (datehook_mod_LDFLAGS): Likewise.
18769 * conf/sparc64-ieee1275.rmk: Likewise.
18770 * lib/ieee1275/datetime.c: New file.
18771
873ccae6
VS
187722010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
18775 (ieee1275_fb_mod_SOURCES): New variable.
18776 (ieee1275_fb_mod_CFLAGS): Likewise.
18777 (ieee1275_fb_mod_LDFLAGS): Likewise.
18778 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
18779 New proto.
18780 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
18781 (HEAP_MAX_ADDR): Likewise.
18782 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
18783 type.
18784 Correct stop condition.
18785 (grub_ieee1275_devices_iterate): New function.
18786 * video/ieee1275.c: New file.
18787
601c97c0
VS
187882010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18789
18790 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
18791
18792 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
18793 as scratch.
18794 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
18795 SCRATCH_PAD_DISKBOOT as scratch.
18796 (bootit): Pass Openfirmware pointer in %o4.
18797 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
18798 of 0x200000.
18799 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
18800 with util/grub-mkrawimage.c.
18801 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
18802 * include/grub/aout.h (AOUT_MID_SUN): New definition.
18803 (grub_aout_get_type) [GRUB_UTIL]: Removed.
18804 (grub_aout_load) [GRUB_UTIL]: Likewise.
18805 * include/grub/kernel.h (grub_modules_get_end): New proto.
18806 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
18807 (SCRATCH_PAD_BOOT): New definition.
18808 (SCRATCH_PAD_DISKBOOT): Likewise.
18809 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
18810 * include/grub/sparc64/ieee1275/ieee1275.h
18811 (grub_ieee1275_original_stack): New variable
18812 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18813 New definition
18814 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
18815 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
18816 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
18817 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
18818 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
18819 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
18820 (grub_platform_image_format_t): New type.
18821 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
18822 * kern/main.c (grub_modules_get_end)
18823 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
18824 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
18825 (codestart): Switch stacks.
18826 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
18827 variable.
18828 (grub_heap_init): Use grub_modules_get_end.
18829 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
18830 stack.
18831 * util/grub-mkrawimage.c (generate_image): Support sparc64.
18832 (main): Likewise.
18833 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
18834
d68b491e
TG
188352010-03-14 Thorsten Glaser <tg@mirbsd.org>
18836
18837 * util/grub-mkrescue.in: Base ISO UUID on UTC.
18838
4e02ed50
MK
188392010-03-08 Matt Kraai <kraai@ftbfs.org>
18840
18841 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
18842 bug #559005).
18843
1f15fc1e
VS
188442010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 * genmoddep.awk: Output all missing symbols and not only first.
18847
fce5d8ff
VS
188482010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18849
18850 * NEWS: Put the date of 1.98 release.
18851
d1e8a02f
VS
188522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18853
18854 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
18855 ft2build.h.
18856
696fd607
VS
188572010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18858
18859 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
18860 completition in the middle of string.
18861
33e2e6f3
VS
188622010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18863
18864 * util/grub-mkrescue.in: Use mktemp with explicit template.
18865
b1f6d291
VS
188662010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18867
18868 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
18869
2ac227c7
VS
188702010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18871
18872 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
18873 right pointer.
18874
8f9a632b
VS
188752010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18876
18877 Fix FreeBSD compilation.
18878
18879 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
18880 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
18881
60b03859
VS
188822010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18883
18884 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
18885
48a5a769
VS
188862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18887
18888 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
18889
3ab4bd77
VS
188902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18891
18892 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
18893
d116e0d8
RM
188942010-03-04 Robert Millan <rmh.grub@aybabtu.com>
18895
18896 Support relative image path in theme file.
18897
18898 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
18899 (image_set_property): Handle theme_dir and relative path.
18900
c7ef54aa
VS
189012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18902
18903 * configure.ac: Alias amd64 to x86_64.
18904
fcee14ed
VS
189052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18906
18907 * NEWS: mention multiboot on EFI.
18908
d0780363
VS
189092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18910
18911 * kern/main.c (grub_load_modules): Handle errors from init functions of
18912 embeded modules.
18913
41168ea4
VS
189142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18915
18916 * normal/autofs.c (autoload_fs_module): Handle errors.
18917
b54d93ac
VS
189182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18919
18920 Disable linux.mod on qemu-mips since it's not functional and leads
18921 to compilation failure.
18922
18923 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
18924 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
18925 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
18926 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
18927 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
18928 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
18929 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
18930 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
18931 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
18932 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
18933 Reported by: BVK Chaitanya
18934
fc8345da
JU
189352010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
18936
18937 * INSTALL: Add gettext as a dependency and add qemu to a new section
18938 "Prerequisites for make-check".
18939
4760f979
CF
189402010-03-04 Christian Franke <franke@computer.org>
18941
18942 * util/grub-pe2elf.c: Add missing include "progname.h".
18943
f209b5b2
VS
189442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18945
18946 * normal/crypto.c (read_crypto_list): Fix a typo.
18947 Reported by: Seth Goldberg.
18948
b4b7be98
VS
189492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18950
18951 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 18952 Reported by: Seth Goldberg.
b4b7be98 18953
c0ee0385
VS
189542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18955
18956 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
18957 ascii.bitmaps.
18958
a8efbf64
VS
189592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18960
18961 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 18962 Reported by: Seth Goldberg.
a8efbf64 18963
08dcd913
VS
189642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18965
18966 * util/i386/efi/grub-install.in: Copy gettext files.
18967
c4d0b332
VS
189682010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18969
18970 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
18971
c6f2fe52
VS
189722010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18973
18974 Wait for user entry basing on presence of output rather than on errors.
18975
18976 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
18977 (grub_install_newline_hook): Likewise.
18978 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
18979 * normal/menu.c (show_menu): Check line_counter to determine presence
18980 of output.
18981 * normal/term.c (grub_normal_line_counter): New variable.
18982 (grub_normal_get_line_counter): New function.
18983 (grub_install_newline_hook): Likewise.
18984
5382b1e4
VS
189852010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18986
18987 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
18988
5519963b
VS
189892010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18990
18991 * configure.ac: Update version to 1.98.
18992
72b28631
VS
189932010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
18994
18995 * util/grub.d/10_linux.in (linux_entry): Don't default to
18996 gfxpayload=keep if Linux doesn't support video handover.
18997
c140a180
VS
189982010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
18999
19000 Don't compile video modules on yeeloong since video subsystem is part
19001 of kernel.
19002
19003 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
19004 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
19005 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
19006 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
19007 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
19008 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
19009 * include/grub/bitmap_scale.h: Likewise.
19010 * include/grub/bufio.h: Likewise.
19011 * include/grub/font.h: Likewise.
19012 * include/grub/gfxterm.h: Likewise.
19013 * include/grub/video.h: Likewise.
19014 * include/grub/vbe.h: Don't include video_fb.h.
19015 * video/i386/pc/vbe.c: Include video_fb.h.
19016 * commands/i386/pc/vbetest.c: Include video.h.
19017
a0ca21c2
CW
190182010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
19019
19020 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
19021 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
19022 default entry if GRUB_SAVEDEFAULT=true. This allows using
19023 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
19024 saving a new default on every boot.
19025
4a8a763c
VS
190262010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19027
19028 * normal/crypto.c (read_crypto_list): Fix a memory leak.
19029 * normal/term.c (read_terminal_list): Likewise.
19030 * normal/main.c (grub_normal_init_page): Likewise.
19031 (grub_normal_read_line_real): Likewise.
19032
607ffde2
VS
190332010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19034
19035 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
19036 memory leak.
19037 Reported by: Seth Goldberg.
19038
2b8fa975
CW
190392010-02-24 Joey Korkames <joey+lists@kidfixit.com>
19040
19041 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
19042 duplicate declaration of `start'.
19043
618307dd
VS
190442010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19045
19046 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
19047 filename.
19048 Reported by: Georgy Buranov
19049
7dd05b96 190502010-02-20 Carles Pina i Estany <carles@pina.cat>
19051
19052 * util/grub-mkrawimage.c (usage): Change string formatting to
19053 improve gettext.
19054
d1484a42
MRA
190552010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19056
19057 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
19058 backspace keys.
19059
42b1d186
VS
190602010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19061
19062 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
19063 Reported by: Michael Suchanek.
19064
190652010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
19066
19067 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
19068 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
19069
d9f31a41
VS
190702010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
19071
19072 Remove any reference to non-free fonts.
19073
19074 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
19075 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
19076 uses non-free components.
19077 * font/font.c (grub_font_get_name): Remove example name.
19078 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
19079 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19080 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
19081 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
19082
2793c71e
GB
190832010-02-16 Georgy Buranov <gburanov@gmail.com>
19084
19085 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
19086
402e3779
VS
190872010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19088
19089 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
19090 Double divisor.
19091 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
19092 features.
19093 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
19094
0dd1e0dd
VS
190952010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19096
19097 * gensymlist.sh.in: Use TARGET_CC instead of CC.
19098
6fa7cfce
ST
190992010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19100
19101 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
19102 * docs/grub.texi (Command-line and menu entry commands): Document play
19103 command.
19104
37c8483b
ST
191052010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19106
19107 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
19108 parse arguments as inline tempo and notes. Move code for playing notes
19109 to...
19110 (play): ... new function.
19111
14da0fb7
ST
191122010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19113
19114 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19115 grub_uint16_t instead of short.
19116 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19117 disk from little endian to cpu endianness.
19118
04459e70
ST
191192010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19120
19121 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19122 GRUB_TICKS_PER_SECOND instead of 120.
19123
a0876943
VS
191242010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19125
19126 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19127 escape sequence after \e.
19128
e29f95dc
VS
191292010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19130
19131 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19132 non-ASCII characters.
19133
d27859b2
VS
191342010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19135
19136 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19137 set root in single quotes to prevent \, from being unescaped.
19138
bc028f2f
VS
191392010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19140
19141 Prevent unknown commands from stopping menuentry execution.
19142
19143 * script/execute.c (grub_script_execute_cmdline): Print error after
19144 unknown command.
19145
095f5f82
VS
191462010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19147
19148 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19149 Reported by: Pavel Pisa.
19150
8c717950
VS
191512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19152
19153 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19154
904935c3
VS
191552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19156
19157 Merge grub_ieee1275_map_physical into grub_map and rename to
19158 grub_ieee1275_map
19159
19160 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19161 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19162 Remove.
19163 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19164 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19165 necessary.
19166 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19167
5b59a4e3
VS
191682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19169
19170 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19171 opening and not after.
19172
69e137e8
VS
191732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19174
19175 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
19176 constants.
19177
2c0fcc36
VS
191782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19179
19180 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
19181 (alloc_phys): Use ALIGN_UP instead of align_addr.
19182
8c6052ce
VS
191832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19184
19185 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
19186
17cec782
VS
191872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19188
19189 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
19190
e0128bbd
VS
191912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19192
19193 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
19194 verbose dprintf.
19195
ca62070b
VS
191962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19197
19198 Fix over-4GiB seek on sparc64.
19199
19200 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
19201 Replace pos_i and pos_lo with pos. All users updated.
19202 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19203 New constant.
19204 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19205 Likewise.
19206 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
19207 and pos_lo.
19208
bdca2607
VS
192092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19210
19211 * util/grub-mkrawimage.c (main): Call set_program_name.
19212
da278c4d
VS
192132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19214
19215 Properly align 64-bit targets.
19216
19217 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
19218 (generate_image): Use ALIGN_ADDR.
19219
b274d734
VS
192202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19221
19222 Properly create cross-endian images.
19223
19224 * include/grub/types.h (grub_host_to_target_addr): New macro
19225 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
19226
82da2062
VS
192272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19228
19229 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
19230
7cae4377
VS
192312010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19232
19233 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
19234
19235 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
19236 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
19237 (grub_linux_boot): Divide by 64K when on VESA.
19238
65a533e7
VS
192392010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19240
19241 Support GRUB_GFXPAYLOAD_LINUX.
19242
19243 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
19244 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
19245
dd01d397
VS
192462010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19247
19248 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
19249 to show messages instead of discarding them.
19250 Process errors after executing command and not before. Keep old method
19251 too as precaution.
19252
660960d6
VS
192532010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
19254
19255 * configure.ac: Check for ft2build.h.
19256
62509f04
VS
192572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19258
19259 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
19260
473df63d
VS
192612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19262
19263 * genkernsyms.sh.in: Use TARGET_CC.
19264
c98d2a13
CW
192652010-02-07 Colin Watson <cjwatson@ubuntu.com>
19266
19267 * NEWS: Update.
19268
6e14234c
VS
192692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19270
19271 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
19272 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
19273 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 19274
b255e9cf
YB
192752010-02-07 Yves Blusseau <blusseau@zetam.org>
19276
6e14234c 19277 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 19278
98e6959d
VS
192792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19280
19281 Fix warnings in grub-emu when compiling with maximum warning options.
19282
19283 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
19284 (grub_arch_modules_addr): Return 0 and not NULL.
19285 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 19286 (xstrdup): Use newstr instead of dup.
f88d801b
VS
19287 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
19288 of disk to dsk to avoid shadowing.
74e4934e
VS
19289 (find_free_slot): Fix prototype.
19290 * util/getroot.c (grub_util_is_dmraid): Make static.
19291 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
19292 Add missing prototype.
19293 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 19294
74e31b5c
VS
192952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19296
19297 * loader/i386/linux.c (grub_linux_setup_video): Handle error
19298 appropriately.
19299
6b2ad14b
VS
193002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19301
19302 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
19303 code out.
19304
8f891adc
VS
193052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19306
19307 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
19308 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
19309 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
19310 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
19311 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
19312 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
19313
74b45184
VS
193142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19315
19316 * include/grub/err.h (grub_err_printf): Don't export.
19317
a4bced77
VS
193182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19319
19320 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
19321
007d0695
VS
193222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19323
19324 * include/grub/i18n.h (grub_gettext_dummy): Removed.
19325 * kern/misc.c (grub_gettext_dummy): Make static.
19326
b6c0d9c2
VS
193272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19328
19329 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
19330 by non-valid ones.
19331 * kern/term.c (grub_putchar): Likewise.
19332
f51a90d0
VS
193332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19334
19335 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
19336 buggy hook call and memory leak.
19337
6846cec5
VS
193382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
19341
468d69fe
VS
193422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19343
19344 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
19345
51906b8c
VS
193462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19347
19348 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
19349 modevar.
19350 Return grub_errno on allocation error.
19351
09706ce5
VS
193522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19353
19354 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
19355
911df80c
YB
193562010-02-06 Yves Blusseau <blusseau@zetam.org>
19357
19358 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
19359 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
19360
3746a6bc
VS
193612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19362
19363 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
19364 non-pxe disk.
19365 (grub_pxefs_open): Likewise.
19366
09706ce5
VS
193672010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19368
19369 * util/grub.d/10_hurd.in: Add --class information to menuentries.
19370 * util/grub.d/10_kfreebsd.in: Likewise.
19371 * util/grub.d/10_linux.in: Likewise.
19372
7cc192d9
VS
193732010-02-06 Colin D Bennett <colin@gibibit.com>
19374
19375 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
19376 (gfxmenu_mod_SOURCES): New variable.
19377 (gfxmenu_mod_CFLAGS): Likewise.
19378 (gfxmenu_mod_LDFLAGS): Likewise.
19379 * include/grub/term.h (grub_term_set_current_output): Declare
19380 argument as const.
19381 * docs/gfxmenu-theme-example.txt: New file.
19382 * gfxmenu/gfxmenu.c: Likewise.
19383 * gfxmenu/gui_box.c: Likewise.
19384 * gfxmenu/gui_canvas.c: Likewise.
19385 * gfxmenu/gui_circular_progress.c: Likewise.
19386 * gfxmenu/gui_image.c: Likewise.
19387 * gfxmenu/gui_label.c: Likewise.
19388 * gfxmenu/gui_list.c: Likewise.
19389 * gfxmenu/gui_progress_bar.c: Likewise.
19390 * gfxmenu/gui_string_util.c: Likewise.
19391 * gfxmenu/gui_util.c: Likewise.
19392 * gfxmenu/icon_manager.c: Likewise.
19393 * gfxmenu/model.c: Likewise.
19394 * gfxmenu/named_colors.c: Likewise.
19395 * gfxmenu/theme_loader.c: Likewise.
19396 * gfxmenu/view.c: Likewise.
19397 * gfxmenu/widget-box.c: Likewise.
19398 * include/grub/gfxmenu_model.h: Likewise.
19399 * include/grub/gfxmenu_view.h: Likewise.
19400 * include/grub/gfxwidgets.h: Likewise.
19401 * include/grub/gui.h: Likewise.
19402 * include/grub/gui_string_util.h: Likewise.
19403 * include/grub/icon_manager.h: Likewise.
19404
194052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19406
19407 Agglomerate scrolling in gfxterm.
19408
19409 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
19410 (grub_virtual_screen_setup): Initialise 'total_screen'.
19411 (write_char): Split to ...
19412 (paint_char): ... this ...
19413 (write_char): ... and this.
19414 (paint_char): Handle delayed scrolling.
19415 (draw_cursor): Likewise.
19416 (scroll_up): Split to ...
19417 (real_scroll): ... this ...
19418 (scroll_up): ... and this.
19419 (real_scroll): Handle multi-line scroll and draw below-the-bottom
19420 characters.
19421 (grub_gfxterm_refresh): Call real_scroll.
19422
194232010-02-06 Colin D Bennett <colin@gibibit.com>
19424
19425 * include/grub/misc.h (grub_iscntrl): New inline function.
19426 (grub_isalnum): Likewise.
19427 (grub_strtol): Likewise.
19428
194292010-02-06 Colin D Bennett <colin@gibibit.com>
19430
19431 * normal/menu_text.c (get_entry_number): Move from here ...
19432 * normal/menu.c (get_entry_number): ... moved here.
19433 * include/grub/menu.h (grub_menu_get_default_entry_index):
19434 New prototype.
19435 * normal/menu.c (grub_menu_get_default_entry_index): New function.
19436 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
19437 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
19438 (grub_menu_viewer_should_return): Likewise.
19439 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
19440 * normal/menu_text.c (run_menu): Enable menu switching.
19441 * normal/menu_viewer.c (should_return): New variable.
19442 (menu_viewer_changed): Likewise.
19443 (grub_menu_viewer_show_menu): Handle menu viewer changes.
19444 (grub_menu_viewer_should_return): New function.
19445 (menuviewer_write_hook): Likewise.
19446 (grub_menu_viewer_init): Likewise.
19447
194482010-02-06 Colin D Bennet <colin@gibibit.com>
194492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19450
19451 Support for gfxterm in a window.
19452
19453 * include/grub/gfxterm.h: New file.
19454 * include/grub/video.h (struct grub_video_rect): New declaration.
19455 (grub_video_rect_t): Likewise.
19456 * term/gfxterm.c (struct grub_gfxterm_window): New type.
19457 (refcount): New variable.
19458 (render_target): Likewise.
19459 (window): Likewise.
19460 (repaint_callback): Likewise.
19461 (grub_virtual_screen_setup): Use 'render_target'.
19462 (init_window): New function.
19463 (grub_gfxterm_init_window): Likewise.
19464 (grub_gfxterm_init): Check reference counter.
19465 Use init_window.
19466 (destroy_window): New function.
19467 (grub_gfxterm_destroy_window): Likewise.
19468 (grub_gfxterm_fini): Check reference counter.
19469 Use destroy_window.
19470 (redraw_screen_rect): Restore viewport.
19471 Use 'render_target' and 'window'.
19472 Call 'repaint_callback'.
19473 (write_char): Use 'render_target'.
19474 (draw_cursor): Likewise.
19475 (scroll_up): Restore viewport.
19476 Use 'render_target' and 'window'.
19477 Call 'repaint_callback'.
19478 (grub_gfxterm_cls): Likewise.
19479 (grub_gfxterm_refresh): Use 'window'.
19480 (grub_gfxterm_set_repaint_callback): New function.
19481 (grub_gfxterm_background_image_cmd): Use 'window'.
19482 (grub_gfxterm_get_term): New function.
19483 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
19484
194852010-02-06 Colin D Bennett <colin@gibibit.com>
19486
19487 Bitmap scaling support.
19488
19489 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
19490 (bitmap_scale_mod_SOURCES): New variable.
19491 (bitmap_scale_mod_CFLAGS): Likewise.
19492 (bitmap_scale_mod_LDFLAGS): Likewise.
19493 * include/grub/bitmap_scale.h: New file.
19494 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
19495 (background_image_cmd_options): New variable.
19496 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
19497 (cmd): Rename and change type to ...
19498 (background_image_cmd_handle): ... this. All users updated.
19499 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
19500 * video/bitmap_scale.c: New file.
19501
195022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19503
19504 SDL support.
19505
19506 * Makefile.in (LIBSDL): New variable.
19507 (enable_grub_emu_sdl): Likewise.
19508 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
19509 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
19510 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
19511 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
19512 * util/sdl.c: New file.
19513
195142010-02-06 Colin D Bennett <colin@gibibit.com>
195152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19516
19517 Double buffering support.
19518
19519 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
19520 * include/grub/video.h: Update comment.
19521 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
19522 New type.
19523 (grub_video_fb_doublebuf_blit_init): New prototype.
19524 * term/gfxterm.c (scroll_up): Support double buffering.
19525 (grub_gfxterm_refresh): Likewise.
19526 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
19527 (grub_video_fb_doublebuf_blit_init): Likewise.
19528 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
19529 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
19530 'displayed_page', 'render_page' and 'update_screen'.
19531 (grub_video_vbe_fini): Free offscreen buffer.
19532 (doublebuf_pageflipping_commit): New function.
19533 (doublebuf_pageflipping_update_screen): Likewise.
19534 (doublebuf_pageflipping_init): Likewise.
19535 (double_buffering_init): Likewise.
19536 (grub_video_vbe_setup): Enable doublebuffering.
19537 (grub_video_vbe_swap_buffers): Implement.
19538 (grub_video_vbe_set_active_render_target): Handle double buffering.
19539 (grub_video_vbe_get_active_render_target): Likewise.
19540 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
19541 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
19542 (grub_video_vbe_enable_double_buffering): Likewise.
19543 (grub_video_vbe_swap_buffers): Use update_screen.
19544 (grub_video_set_mode): Use double buffering.
19545
195462010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19547
19548 * maintainance/gentrigtables.py: Remove.
19549 * lib/trig.c: Likewise.
19550
19551 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
19552
19553 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
19554 `trigtables.c'.
19555 (trigtables.c): New rule.
19556 (gentrigtables): Likewise.
19557 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
19558
195592010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19560
19561 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
19562 integer constants.
19563
195642010-02-06 Colin D Bennet <colin@gibibit.com>
19565
19566 Trigonometry support.
19567
19568 * include/grub/trig.h: New file.
19569 * lib/trig.c: Likewise.
19570 * maintainance/gentrigtables.py: Likewise.
19571 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
19572 (trig_mod_SOURCES): New variable.
19573 (trig_mod_CFLAGS): Likewise.
19574 (trig_mod_LDFLAGS): Likewise.
19575
5562834e
VS
195762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19577
19578 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
19579 disk devices.
19580
4f8528fc
VS
195812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19582
19583 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
19584 error.
19585
2b4068e9
VS
195862010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19587
19588 * util/hostdisk.c (open_device): Don't use partition device when reading
19589 before the partition.
19590 (grub_util_biosdisk_read): Don't read from partition and before the
19591 partition in single operation.
19592 (grub_util_biosdisk_write): Don't write to partition and before the
19593 partition in single operation.
19594
399f6e4d
TL
195952010-02-03 Torsten Landschoff <torsten@debian.org>
19596
19597 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19598 last sectors.
19599
996649b0
VS
196002010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19601
19602 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
19603 CDROM reads.
19604 (grub_biosdisk_write): Refuse to write to CDROM.
19605
3b205d4d
VS
196062010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19607
19608 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
19609
61e89d9d
VS
196102010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19611
19612 * font/font.c (find_glyph): Check that bmp_idx is available before
19613 using it.
19614 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
19615 with (font == NULL).
19616
bf7fcba2
CS
196172010-01-28 Christian Schmitt <chris@ilovelinux.de>
19618
19619 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
19620
f45d2663
BC
196212010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
19622
19623 * include/grub/script_sh.h (sourcecode): Add const qualifier.
19624 * util/grub-script-check.c (getline): Fix empty lines case.
19625
ec1444e6
RM
196262010-01-28 Robert Millan <rmh.grub@aybabtu.com>
19627
19628 * Makefile.in (check): Exit with fail status when one of the tests
19629 fails.
19630 * tests/example_functional_test.c (example_test): Fix reversed assert.
19631 * tests/example_unit_test.c (example_test): Likewise.
19632
2e1cb9bb
CW
196332010-01-28 Colin Watson <cjwatson@ubuntu.com>
19634
19635 * util/grub.d/10_linux.in: This script does not use any of the
19636 contents of gettext.sh, only the external command `gettext', so stop
19637 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
19638 the same prefix as GRUB.)
19639 * util/grub.d/10_kfreebsd.in: Likewise.
19640
63533ab0
VS
196412010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19642
19643 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
19644 of the line.
19645
989e1f93
VS
196462010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19647
19648 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19649 last sectors.
19650
e709ebe2
VS
196512010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19652
19653 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
19654 having a 4KiB and not 32KiB buffer size.
19655
27dea7ed
RM
196562010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19657
19658 * util/hostfs.c: Include `<errno.h>'.
19659 (grub_hostfs_read): Handle errors from fseeko() and fread().
19660
67667b9c
RM
196612010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19662
19663 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
19664 loop when using read hooks on files whose size isn't sector-aligned.
19665
c294d9d8
RM
196662010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19667
19668 Remove unused parameter.
19669
19670 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
19671 (grub_iso9660_open): Remove initialization of `data->length'.
19672
af75a9f1
RM
196732010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19674
19675 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
19676 memleak conditions.
19677
254e2ce5 196782010-01-27 Carles Pina i Estany <carles@pina.cat>
19679
19680 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
19681 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
19682
b510928c 196832010-01-26 Carles Pina i Estany <carles@pina.cat>
19684
19685 * util/bin2h.c (usage): Fix warning (space after backslash).
19686
aa2f9dd2 196872010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 19688
19689 * font/font.c: Include `grub/fontformat.h.
19690 Remove font file format constants.
19691 (grub_font_load): Use the new macros.
19692 * include/grub/fontformat.h: New file.
19693 * util/grub-mkfont.c: Include `grub/fontformat.c'.
19694 (write_font_pf2): Use the new macros.
19695
94e7e712
RM
196962010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19697
19698 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
19699 does.
19700
3973a59a
RM
197012010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19702
19703 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
19704
19705 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
19706 (_start): Macroify `0x7F'.
19707
19708 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
19709 (make_install_device): Use "(pxe)" as fallback prefix when booting
19710 via PXE.
19711
42e0cba3
GS
197122010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
19713
19714 * configure.ac: Reset LIBS after check for libgcc symbols.
19715
847effd8
CW
197162010-01-25 Colin Watson <cjwatson@ubuntu.com>
19717
19718 * util/hostdisk.c (open_device): Add trailing newline to debug
19719 message.
19720
ea4a7e35
GS
197212010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
19722
19723 * configure.ac: Check for `limits.h'.
19724 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
19725
67951a53
RM
197262010-01-24 Robert Millan <rmh.grub@aybabtu.com>
19727
19728 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
19729 capitalize error strings.
19730
c273d4ce
ST
197312010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
19732
19733 * util/grub.d/10_hurd.in: Add a recovery mode.
19734
69be5b74
VS
197352010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
19736
19737 * configure.ac: Check for libgcc symbols with -nostdlib.
19738
fc9e5810
BC
197392010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
19740
19741 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
19742
4b358c0a
VS
197432010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19744
19745 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
19746 stack since heap may be unavailable at that point.
19747 (grub_ofconsole_gotoxy): Likewise.
19748
454fcd1c
VS
197492010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19750
19751 * configure.ac: Check for _restgpr_14_x.
19752 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
19753 and _savegpr_* prototypes.
19754
566863ca
RM
197552010-01-22 Robert Millan <rmh.grub@aybabtu.com>
19756
19757 Use generic grub_reboot() for i386-efi.
19758
19759 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
19760 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
19761 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
19762
bf86e59a
VS
197632010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19764
19765 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
19766 presence of "prefix" variable as it breaks when normal.mod is
19767 embedded.
19768
d645e0f8
VS
197692010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19770
19771 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
19772 stack since heap is unavailable at that point.
19773
f9ab2e25
VS
197742010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19775
19776 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
19777 (grub_freebsd_bootinfo): Rewritten.
19778 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
19779
01fc7054
VS
197802010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19781
19782 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
19783
caab4fd6
RM
197842010-01-21 Robert Millan <rmh.grub@aybabtu.com>
19785
19786 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
19787 domain now.
19788
67eb1427
FZ
197892010-01-20 Felix Zielcke <fzielcke@z-51.de>
19790
19791 * util/misc.c (make_system_path_relative_to_its_root): Change the work
19792 around for handling "/" to the correct fix. Fix a memory leak. Use
19793 xstrdup instead of strdup.
19794
a9ed4ff3
VS
197952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19796
19797 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
19798
197992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
19800
19801 Optimise glyph lookup by Basic Multilingual Plane lookup array.
19802
19803 * font/font.c (struct grub_font): New member 'bmp_idx'.
19804 (font_init): Initialise 'bmp_idx'.
19805 (load_font_index): Fill 'bmp_idx'.
19806 (find_glyph): Make inline. Use bmp_idx for BMP characters.
19807
48209f4f
VS
198082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19809
19810 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
19811 unnecessary calls.
19812
9f0a4bb7
VS
198132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19814
19815 Move context handling out of the kernel.
19816
19817 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
19818 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
19819 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
19820 * conf/i386-efi.rmk: Likewise.
19821 * conf/i386-ieee1275.rmk: Likewise.
19822 * conf/i386-pc.rmk: Likewise.
19823 * conf/powerpc-ieee1275.rmk: Likewise.
19824 * conf/sparc64-ieee1275.rmk: Likewise.
19825 * conf/x86_64-efi.rmk: Likewise.
19826 * include/grub/env.h: Include grub/menu.h.
19827 (grub_env_var_type): Removed.
19828 (grub_env_var): Replaced field 'type' with 'global'.
19829 (grub_env_find): New prototype.
19830 (grub_env_context_open): Remove EXPORT_FUNC.
19831 (grub_env_context_close): Likewise.
19832 (grub_env_export): Likewise.
19833 (grub_env_set_data_slot): Removed.
19834 (grub_env_get_data_slot): Likewise.
19835 (grub_env_unset_data_slot): Likewise.
19836 (grub_env_unset_menu): New prototype.
19837 (grub_env_set_menu): Likewise.
19838 (grub_env_get_menu): Likewise.
19839 * include/grub/env_private.h: New file.
19840 * include/grub/normal.h (grub_context_init): New prototype.
19841 (grub_context_fini): Likewise.
19842 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
19843 * normal/context.c (grub_cmd_export): ... to here.
19844 * kern/env.c: Include env_private.h.
19845 (HASHSZ): Moved to include/grub/env_private.h.
19846 (grub_env_context): Likewise.
19847 (grub_env_sorted_var): Likewise.
19848 (current_context): Renamed from this ...
19849 (grub_current_context): ...to this. 'static' removed. All users updated.
19850 (grub_env_find): Removed 'static'.
19851 (grub_env_context_open): Moved to normal/context.c.
19852 (grub_env_context_close): Likewise.
19853 (grub_env_export): Likewise.
19854 (mangle_data_slot_name): Removed.
19855 (grub_env_set_data_slot): Likewise.
19856 (grub_env_get_data_slot): Likewise.
19857 (grub_env_unset_data_slot): Likewise.
19858 * kern/main.c (grub_set_root_dev): Don't export root.
19859 It will be done later.
19860 (grub_main): Don't export prefix.
19861 It will be done later.
19862 * normal/context.c: New file.
19863 * normal/main.c (free_menu): Use grub_env_unset_menu.
19864 (grub_normal_add_menu_entry): Use grub_env_get_menu.
19865 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
19866 (GRUB_MOD_INIT(normal)): Call grub_context_init.
19867 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
19868
8dd35b8c
VS
198692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19870
19871 setpci support.
19872
19873 * commands/setpci.c: New file.
19874 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
19875 (setpci_mod_SOURCES): New variable.
19876 (setpci_mod_CFLAGS): Likewise.
19877 (setpci_mod_LDFLAGS): Likewise.
19878
449193d5
VS
198792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19880
19881 Byte-addressable PCI configuration space.
19882
19883 * bus/pci.c (grub_pci_make_address): Use byte address instead of
19884 dword address.
19885 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
19886 GRUB_PCI_REG_CACHELINE.
19887 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
19888 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
19889 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
19890 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
19891 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
19892 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
19893 grub_pci_make_address.
19894 (lock_rom_area): Likewise.
19895 * commands/lspci.c (grub_lspci_iter): Use macroses
19896 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
19897 of grub_pci_make_address.
19898 * disk/ata.c (grub_ata_pciinit): Likewise.
19899 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
19900 (GRUB_PCI_REG_VENDOR): Likewise.
19901 (GRUB_PCI_REG_DEVICE): Likewise.
19902 (GRUB_PCI_REG_COMMAND): Likewise.
19903 (GRUB_PCI_REG_STATUS): Likewise.
19904 (GRUB_PCI_REG_REVISION): Likewise.
19905 (GRUB_PCI_REG_CLASS): Likewise.
19906 (GRUB_PCI_REG_CACHELINE): Likewise.
19907 (GRUB_PCI_REG_LAT_TIMER): Likewise.
19908 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
19909 (GRUB_PCI_REG_BIST): Likewise.
19910 (GRUB_PCI_REG_ADDRESSES): Likewise.
19911 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19912 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19913 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19914 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19915 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19916 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19917 (GRUB_PCI_REG_CIS_POINTER): Likewise.
19918 (GRUB_PCI_REG_SUBVENDOR): Likewise.
19919 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
19920 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
19921 (GRUB_PCI_REG_CAP_POINTER): Likewise.
19922 (GRUB_PCI_REG_IRQ_LINE): Likewise.
19923 (GRUB_PCI_REG_IRQ_PIN): Likewise.
19924 (GRUB_PCI_REG_MIN_GNT): Likewise.
19925 (GRUB_PCI_REG_MAX_LAT): Likewise.
19926 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
19927 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
19928 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 19929 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
19930 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
19931 space.
19932
96d73208
RM
199332010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19934
19935 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
19936 can be reliably determined to be supported.
19937
d4484482
RM
199382010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19939
19940 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
19941 that VESA is supported.
19942 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
19943 supported.
19944
00308ecf
VS
199452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19946
19947 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
19948
f66924a4
RM
199492010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19950
19951 * util/misc.c (make_system_path_relative_to_its_root): Work around
19952 special-casing of "/", as previous incarnation of this routine did.
19953
cbca0ada
VS
199542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19955
19956 Fix any-emu compilation.
19957
19958 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
19959 * grub_bin2h_SOURCES: New variable.
19960
34a66d99
RM
199612010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19962
19963 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
19964
94fabf58
RM
199652010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19966
19967 * util/grub.d/00_header.in: Fix handling of locale_dir.
19968
02cf98ca
VS
199692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19970
19971 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
19972 as possible unifont location (Gentoo).
19973 Reported by: Alexander Brüning
19974
327dbcd7
VS
199752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19976
19977 Don't try to generate lists for kernel.img.
19978
19979 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
19980 (pkglib_MODULES): Remove kernel.img.
19981 (kernel_img_EXPORTS): Removed.
19982 (kernel_img_RELOCATABLE): New variable.
19983 * conf/x86_64-efi.rmk: Likewise.
19984 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
19985
ca467290
VS
199862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19987
19988 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
19989 grub_xasprintf or grub_snprintf.
19990 (grub_vsprintf): Likewise.
19991 (grub_snprintf): New proto.
19992 (grub_vsnprintf): Likewise.
19993 (grub_xasprintf): Likewise.
19994 (grub_xvasprintf): Likewise.
19995 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
19996 (grub_sprintf): Removed.
19997 (grub_vsnprintf): New function.
19998 (grub_snprintf): Likewise.
19999 (grub_xvasprintf): Likewise.
20000 (grub_xasprintf): Likewise.
20001 (grub_vsprintf): Renamed to ...
20002 (grub_vsnprintf_real): ...this. New argument max_len.
20003
aca655fd
BC
200042010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
20005
20006 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
20007 fix grub-script-check warning.
20008
7ee92c32
VS
200092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20010
20011 * include/grub/font.h (grub_font_load): Fix prototype.
20012
f80927ca
VS
200132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20014
20015 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
20016
119c50ea
VS
200172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20018
20019 * include/grub/x86_64/at_keyboard.h: New file.
20020
47d5f3c1
VS
200212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20022
20023 * loader/mips/linux.c: Include missing grub/i18n.h.
20024
55ff5266
RM
200252009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20026
20027 * normal/menu.c (notify_execution_failure): Clarify error message.
20028
c893cc87
RM
200292009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20030
20031 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
20032 return value (and revert all return statements). Update users.
20033
917dd370
CW
200342010-01-20 Dan Merillat <debian@dan.merillat.org>
20035
20036 * kern/device.c (grub_device_iterate): Allocate new part_ent
20037 structure based on sizeof (*p) rather than sizeof (p->next), to
20038 account for structure padding.
20039
20040 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
20041 disk is NULL, which might happen for LVM physical volumes with no
20042 LVM signature.
20043
d4a4ee57
RM
200442009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20045
20046 * loader/mips/linux.c (grub_cmd_initrd)
20047 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
20048
200492009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20050
20051 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
20052 (grub_video_video_init, grub_video_bitmap_init)
20053 (grub_font_manager_init, grub_term_gfxterm_init)
20054 (grub_at_keyboard_init): New extern declarations.
20055 (grub_machine_init): Initialize gfxterm and at_keyboard.
20056
20057 * kern/main.c (grub_main): Revert grub_printf delay kludge.
20058
20059 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
20060 `gfxterm.mod' into core image.
20061
20062 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20063 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20064 (kernel_img_FORMAT): Copy to ...
20065
20066 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20067 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20068 (kernel_img_FORMAT): ... here, and ...
20069
20070 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20071 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20072 (kernel_img_FORMAT): ... here.
20073
20074 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
20075 and input (at_keyboard) terminals in kernel.
20076 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
20077
20078 (pkglib_MODULES): Remove `pci.mod'.
20079 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
20080 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
20081 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20082 (at_keyboard_mod_LDFLAGS): Remove variables.
20083
200842010-01-11 Felix Zielcke <fzielcke@z-51.de>
20085
20086 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
20087
200882009-12-10 Robert Millan <rmh.grub@aybabtu.com>
20089
20090 * include/grub/mips/libgcc.h: Only export symbols for functions
20091 that libgcc provides.
20092
200932009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
20094
20095 MIPS support.
20096
20097 * bus/bonito.c: New file.
20098 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
20099 GRUB_PCI_NUM_DEVICES.
20100 * term/i386/pc/serial.c: Move to ...
20101 * term/serial.c: ... here. All users updated.
20102 * util/i386/pc/grub-mkimage.c: Move to ...
20103 * util/grub-mkrawimage.c: ... here. All users updated.
20104 * term/i386/pc/at_keyboard.c: Move to ...
20105 * term/at_keyboard.c: ... here. All users updated.
20106 * conf/mips-qemu-mips.rmk: New file.
20107 * conf/mips-yeeloong.rmk: Likewise.
20108 * conf/mips.rmk: Likewise.
20109 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20110 mipsel-qemu-mips.
20111 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20112 to port addresses.
20113 (grub_ata_pciinit): Support CS5536.
20114 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20115 * font/font_cmd.c (loadfont_command): Open file before passing it to
20116 grub_font_load.
20117 (pseudo_file_read): New function.
20118 (pseudo_file_close): Likewise.
20119 (pseudo_fs): New structure.
20120 (load_font_module): New function.
20121 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20122 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20123 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20124 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20125 * include/grub/i386/at_keyboard.h: Split into ...
20126 * include/grub/at_keyboard.h: ... this ...
20127 * include/grub/i386/at_keyboard.h: ... and this.
20128 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20129 New prototype.
20130 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20131 updated.
20132 (grub_elf64_size): Likewise.
20133 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20134 filename.
20135 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20136 * include/grub/i386/coreboot/serial.h: Rewritten.
20137 * include/grub/i386/ieee1275/serial.h: Include
20138 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20139 * include/grub/i386/pc/serial.h: Moved from here ...
20140 * include/grub/serial.h: ... to here. All users updated.
20141 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20142 (GRUB_PCI_NUM_BUS): Likewise.
20143 (GRUB_PCI_NUM_DEVICES): Likewise.
20144 (grub_pci_device_map_range): Add missing volatile keyword.
20145 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20146 * include/grub/mips/at_keyboard.h: New file.
20147 * include/grub/mips/cache.h: Likewise.
20148 * include/grub/mips/io.h: Likewise.
20149 * include/grub/mips/kernel.h: Likewise.
20150 * include/grub/mips/libgcc.h: Likewise.
20151 * include/grub/mips/pci.h: Likewise.
20152 * include/grub/mips/qemu-mips/boot.h: Likewise.
20153 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20154 * include/grub/mips/qemu-mips/loader.h: Likewise.
20155 * include/grub/mips/qemu-mips/memory.h: Likewise.
20156 * include/grub/mips/qemu-mips/serial.h: Likewise.
20157 * include/grub/mips/qemu-mips/time.h: Likewise.
20158 * include/grub/mips/relocator.h: Likewise.
20159 * include/grub/mips/time.h: Likewise.
20160 * include/grub/mips/types.h: Likewise.
20161 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20162 * include/grub/mips/yeeloong/boot.h: Likewise.
20163 * include/grub/mips/yeeloong/kernel.h: Likewise.
20164 * include/grub/mips/yeeloong/loader.h: Likewise.
20165 * include/grub/mips/yeeloong/memory.h: Likewise.
20166 * include/grub/mips/yeeloong/pci.h: Likewise.
20167 * include/grub/mips/yeeloong/serial.h: Likewise.
20168 * include/grub/mips/yeeloong/time.h: Likewise.
20169 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20170 * kern/elf.c (grub_elf32_size): New parameter. All users
20171 updated.
20172 (grub_elf64_size): Likewise.
20173 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
20174 Load modules before saying "Welcome to GRUB!".
20175 Call grub_refresh after saying "Welcome to GRUB!".
20176 * kern/mips/cache.S: New file.
20177 * kern/mips/cache_flush.S: Likewise.
20178 * kern/mips/dl.c: Likewise.
20179 * kern/mips/init.c: Likewise.
20180 * kern/mips/qemu-mips/init.c: Likewise.
20181 * kern/mips/startup.S: Likewise.
20182 * kern/mips/yeeloong/init.c: Likewise.
20183 * kern/term.c (grub_putcode): Handle NULL terminal.
20184 (grub_getcharwidth): Likewise.
20185 (grub_getkey): Likewise.
20186 (grub_checkkey): Likewise.
20187 (grub_getkeystatus): Likewise.
20188 (grub_getxy): Likewise.
20189 (grub_getwh): Likewise.
20190 (grub_gotoxy): Likewise.
20191 (grub_cls): Likewise.
20192 (grub_setcolorstate): Likewise.
20193 (grub_setcolor): Likewise.
20194 (grub_getcolor): Likewise.
20195 (grub_refresh): Likewise.
20196 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
20197 (write_jump): Add hatch nop.
20198 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
20199 * lib/mips/setjmp.S: New file.
20200 * loader/mips/linux.c: Likewise.
20201 * term/i386/pc/at_keyboard.c: Move from here ...
20202 * term/at_keyboard.c: ... to here.
20203 * term/i386/pc/serial.c: Moved from here ...
20204 * term/serial.c: ... to here. All users updated.
20205 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
20206 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
20207 (serial_translate_key_sequence): Avoid deadlock.
20208 (grub_serial_getkey): Handle backspace.
20209 (grub_serial_putchar): Fix newline handling.
20210 * util/i386/pc/grub-mkimage.c: Move from here ...
20211 * util/grub-mkrawimage.c: ... to here. All users updated.
20212 (generate_image): New parameters 'font_path' and 'format'.
20213 Support embedding font.
20214 Use grub_host_to_target* instead of grub_cpu_to_le*.
20215 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
20216 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
20217 (options): New option "--font".
20218 (usage): Likewise.
20219 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
20220 (main): Handle "--font".
20221 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
20222 (grub_virtual_screen_setup): Set bg_color_display.
20223 (redraw_screen_rect): Use bg_color_display instead of incorrect
20224 bg_color.
20225 (grub_gfxterm_cls): Likewise.
20226 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
20227 Support embedding config file.
20228 (add_segments): Likewise.
20229 (options): New option "--config".
20230 (main): Handle "--config".
20231 * video/sm712.c: New file.
20232
25c2b5b3
RM
202332010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20234
20235 Fix parallel builds.
20236
20237 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
20238 font.c depend on ascii.h).
20239
202402010-01-12 Carles Pina i Estany <carles@pina.cat>
20241
20242 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
20243
202442010-01-11 Carles Pina i Estany <carles@pina.cat>
20245
20246 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
20247 By default: disabled.
20248 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
20249 parameter.
20250
202512010-01-10 Carles Pina i Estany <carles@pina.cat>
20252
20253 * font/font.c: Update copyright years.
20254 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
20255
202562010-01-10 Carles Pina i Estany <carles@pina.cat>
20257
20258 * font/font.c: Include `ascii.h'.
20259 (ASCII_BITMAP_SIZE): New macro.
20260 (ascii_font_glyph): Define.
20261 (ascii_glyph_lookup): New function.
20262 (grub_font_get_string_width): Change comment. If glyph not found, use
20263 ascii_glyph_lookup.
20264 (grub_font_get_glyph_with_fallback): If glyph not available returns
20265 ascii_glyph_lookup.
20266 * util/grub-mkfont.c (file_formats): New enum.
20267 (options): Add `ascii-bitmaps' new option.
20268 (usage): Add `asii-bitmaps' new option.
20269 (write_font_ascii_bitmap): New function.
20270 (write_font): Rename to ...
20271 (write_font_p2): ... this. Remove print_glyphs call.
20272 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
20273 used. Call print_glyphs.
20274 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
20275
202762010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20277
20278 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
20279 (grub_bin2h_SOURCES): New variable.
20280 * util/bin2h.c: New file.
20281
915fc1b8
VS
202822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20283
20284 * include/multiboot.h: Resynced with spec.
20285 * include/multiboot2.h: Likewise.
20286 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
20287 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
20288
9444b678
RM
202892010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20290
20291 * include/grub/term.h (grub_term_register_input,
20292 grub_term_register_output): Check return of terminal init()
20293 routines, and abort if errors are raised.
20294
20295 * commands/terminal.c: Update copyright year.
20296
cba98e8d
RM
202972010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20298
20299 * commands/terminal.c (grub_cmd_terminal_input)
20300 (grub_cmd_terminal_output): Check return of terminal init()
20301 routines, and abort if errors are raised.
20302
6f7db5d6
VS
203032010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20304
20305 * include/grub/i386/bsd.h: Fix include pathes.
20306
262bff8d
VS
203072010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20308
20309 Add missing *BSD copyright headers.
20310
20311 * include/grub/aout.h: Add BSD licence.
20312 * include/grub/i386/bsd.h: Parts under different licences moved to ...
20313 * include/grub/i386/freebsd_linker.h: ... here,
20314 * include/grub/i386/freebsd_reboot.h: ... here,
20315 * include/grub/i386/netbsd_bootinfo.h: ... here,
20316 * include/grub/i386/netbsd_reboot.h: ... here,
20317 * include/grub/i386/openbsd_bootarg.h: ... here,
20318 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
20319 licence to each file.
20320
b2cab848
RM
203212010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20322
20323 * acinclude.m4: Remove `nop' assembly instruction; it's not
20324 implemented by all architectures.
20325
2cb6be4b
RM
203262010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20327
20328 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
20329 ELILO. This is no longer necessary.
20330
a2eaee15
BC
203312010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
20332
20333 Added new tool, grub-scrit-check to verify grub.cfg syntax.
20334
20335 * util/grub-script-check.c: grub-script-check tool.
20336 * conf/common.rmk: Make rules for grub-script-check.
20337
88d17012
RM
203382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20339
20340 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
20341 spotting it back in 2008. Shame on me for forgetting he did.
20342
20343 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
20344
8040619d
RM
203452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20346
20347 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
20348 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
20349 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
20350 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
20351 (GRUB_VIDEO_TYPE_EFI): Rename to ...
20352 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
20353
a0c2a0f6
RM
203542010-01-17 Robert Millan <rmh.grub@aybabtu.com>
20355
20356 * include/grub/test.h: Add license header.
20357 * tests/example_functional_test.c: Likewise.
20358 * tests/example_unit_test.c: Likewise.
20359 * tests/lib/functional_test.c: Likewise.
20360 * tests/lib/test.c: Likewise.
20361 * tests/lib/unit_test.c: Likewise.
20362
b0b13907
VS
203632010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
20364
20365 Use flag-based instead of hook-based video mode selection and "auto"
20366 keyword.
20367
20368 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
20369 (grub_video_set_mode): Changed prototype. All users updated.
20370 (grub_video_check_mode_flag): New inline function.
20371 * video/video.c (parse_modespec): New function.
20372 (grub_video_set_mode): Parse flags and keywords.
20373
ea379330 203742010-01-17 Carles Pina i Estany <carles@pina.cat>
20375
20376 * util/misc.c (grub_util_info): Fix the order of the parameters in a
20377 fprintf call.
20378
e15c215e
FZ
203792010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
20380
20381 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
20382
409ae1c9 203832010-01-16 Carles Pina i Estany <carles@pina.cat>
20384
20385 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
20386 string.
20387 * util/grub-emu.c (usage): Likewise.
20388 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
20389 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20390 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20391 * util/i386/pc/grub-setup.c (usage): Likewise.
20392
70a14d3d 203932010-01-16 Carles Pina i Estany <carles@pina.cat>
20394
20395 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
20396 the message.
20397 (grub_util_info): Likewise.
20398 (grub_util_error): Likewise.
20399 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
20400 and/or new lines in `grub_util_warna', `grub_util_info',
20401 `grub_util_error' calls.
20402 * util/getroot.c: Likewise.
20403 * util/grub-editenv.c: Likewise.
20404 * util/grub-emu.c: Likewise.
20405 * util/grub-fstest.c: Likewise.
20406 * util/grub-mkdevicemap.c: Likewise.
20407 * util/grub-mkfont.c: Likewise.
20408 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20409 * util/grub-mkrelpath.c: Likewise.
20410 * util/grub-pe2elf.c: Likewise.
20411 * util/grub-probe.c: Likewise.
20412 * util/hostdisk.c: Likewise.
20413 * util/i386/efi/grub-mkimage.c: Likewise.
20414 * util/i386/pc/grub-mkimage.c: Likewise.
20415 * util/i386/pc/grub-setup.c: Likewise.
20416 * util/ieee1275/ofpath.c: Likewise.
20417 * util/mkisofs/eltorito.c: Likewise.
20418 * util/mkisofs/rock.c: Likewise.
20419 * util/mkisofs/write.c: Likewise.
20420 * util/raid.c: Likewise.
20421 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20422 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20423
a0b766fc
VS
204242010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20425
20426 Enable multiboot on non-pc.
20427
20428 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
20429 multiboot.mod and multiboot2.mod to ...
20430 * conf/i386.rmk (pkglib_MODULES): ... here.
20431 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
20432 Moved to ...
20433 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
20434 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
20435 Moved to ...
20436 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
20437 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
20438 Moved to ...
20439 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
20440 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
20441 Moved to ...
20442 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
20443 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
20444 relocator.mod.
20445 (ata_mod_SOURCES): Removed.
20446 (ata_mod_CFLAGS): Likewise.
20447 (ata_mod_LDFLAGS): Likewise.
20448 (relocator_mod_SOURCES): Removed.
20449 (relocator_mod_CFLAGS): Likewise.
20450 (relocator_mod_ASFLAGS): Likewise.
20451 (relocator_mod_LDFLAGS): Likewise.
20452 Include i386.mk.
20453 * include/grub/x86_64/multiboot.h: New file.
20454 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
20455 Terminate EFI.
20456
884ade56
VS
204572010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20458
20459 Video multiboot support.
20460
20461 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
20462 New prototype.
20463 * include/multiboot.h: Resynced with multiboot specification.
20464 * include/multiboot2.h: Likewise.
20465 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
20466 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
20467 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
20468 (HAS_VGA_TEXT): Likewise.
20469 (accepts_video): New variable.
20470 (grub_multiboot_set_accepts_video): New function.
20471 (grub_multiboot_get_mbi_size): Account for video structures.
20472 (set_video_mode): New function.
20473 (retrieve_video_parameters): Likewise.
20474 (grub_multiboot_make_mbi): Fill video fields.
20475
0d90e8a6
VS
204762010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20477
20478 Video driver ids.
20479
20480 * include/grub/video.h (grub_video_driver_id): New type.
20481 (grub_video_adapter): New member 'id'. All users updated.
20482 (grub_video_get_driver_id): New proto.
20483 * video/video.c (grub_video_get_driver_id): New function.
20484
5c71db1b 204852010-01-14 Carles Pina i Estany <carles@pina.cat>
20486
20487 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
20488 `var=val'.
20489
cca15b52 204902010-01-14 Carles Pina i Estany <carles@pina.cat>
20491
20492 * normal/cmdline.c (print_completion): Gettextizze.
20493
c586fbb2 204942001-01-14 Carles Pina i Estany <carles@pina.cat>
20495
20496 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
20497
ba2f6848 204982010-01-14 Carles Pina i Estany <carles@pina.cat>
20499
20500 * gettext/gettext.c (grub_gettext_translate): Push and pop
20501 grub_errno.
20502 (grub_gettext_delete_list): Change comment style.
20503 * kern/err.c (grub_error): Gettextizze.
20504 (grub_fatal): Gettextizze.
20505
0a46429a
RM
205062010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20507
20508 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
20509 (grub_linux16_real_boot): ... this.
20510 * kern/i386/loader.S: Likewise.
20511 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
20512 (grub_linux16_boot): New function. Switches to text mode and calls
20513 grub_linux16_real_boot().
20514
20515 * loader/i386/bsd.c: Include `<grub/video.h>'.
20516 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
20517 text mode before calling grub_unix_real_boot().
20518
20519 * loader/i386/multiboot.c: Include `<grub/video.h>'.
20520 (grub_multiboot_boot): Switch to text mode before calling
20521 grub_relocator32_boot().
20522
20523 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
20524 (grub_chainloader_boot): Switch to text mode before calling
20525 grub_chainloader_real_boot().
20526
d6f93a66
RM
205272010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
205282010-01-05 Colin Watson <cjwatson@ubuntu.com>
20529
20530 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
20531 non-empty value.
20532
205332010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
205342010-01-05 Colin Watson <cjwatson@ubuntu.com>
20535
20536 * util/grub.d/00_header.in: Define a "savedefault" function for use
20537 in menu entries.
20538 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
20539
205402010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
205412010-01-05 Colin Watson <cjwatson@ubuntu.com>
20542
20543 * util/grub-mkconfig_lib.in (save_default_entry): Only set
20544 saved_entry if boot_once is unset.
20545 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
20546 previous saved entry (i.e. grub-reboot).
20547
205482009-12-08 Colin Watson <cjwatson@ubuntu.com>
20549
20550 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
20551
205522009-12-08 Colin Watson <cjwatson@ubuntu.com>
20553
20554 * util/grub.d/00_header.in: Use `set var=val' rather than plain
20555 `var=val'.
20556 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
20557
205582009-12-08 Colin Watson <cjwatson@ubuntu.com>
20559
20560 * util/grub-reboot.in: Fix --version output.
20561 * util/grub-set-default.in: Likewise.
20562
205632009-12-08 Colin Watson <cjwatson@ubuntu.com>
20564
20565 * util/grub.d/00_header.in: Silently ignore zero-sized environment
20566 blocks.
20567
205682009-12-08 Colin Watson <cjwatson@ubuntu.com>
20569
20570 * util/grub.d/00_header.in: Quote the value assigned to `default',
20571 in case it contains spaces.
20572
205732009-12-08 Colin Watson <cjwatson@ubuntu.com>
20574
20575 * util/grub.d/30_os-prober.in: Fix merge error that moved a
20576 `save_default_entry' call from the macosx case to the linux case.
20577
205782009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
205792009-10-25 Colin Watson <cjwatson@ubuntu.com>
20580
20581 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
20582 in `chosen' environment variable.
20583 * normal/menu_text.c (get_entry_number): Check if the variable
20584 matches the title of a menu entry.
20585 (run_menu): Pass menu to get_entry_number.
20586
20587 * util/grub-reboot.in: New file.
20588 * util/grub-set-default.in: New file.
20589 * conf/common.rmk (grub-reboot): New utility.
20590 (grub-set-default): New utility.
20591
20592 * util/grub-mkconfig_lib.in (save_default_entry): New function.
20593 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
20594 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
20595 move it to `saved_entry' for the next boot. Load environment on
20596 initialisation.
20597 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
20598 * util/grub.d/10_hurd.in: Likewise.
20599 * util/grub.d/10_linux.in (linux_entry): Likewise.
20600 * util/grub.d/10_windows.in: Likewise.
20601 * util/grub.d/30_os-prober.in: Likewise.
20602
20603 * util/grub-install.in: Create environment block.
20604 * util/i386/efi/grub-install.in: Likewise.
20605 * util/ieee1275/grub-install.in: Likewise.
20606 * util/sparc64/ieee1275/grub-install.in: Likewise.
20607
0934d184
BC
206082010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
20609
20610 Unit testing framework for GRUB.
20611
20612 * Makefile.in: Test framework build rules for 'make check'.
20613 * conf/tests.rmk: Build rules for individual tests and framework.
20614
20615 * include/grub/test.h: Header file for whitebox tests.
20616 * tests/lib/functional_test.c: Framework support for whitebox
20617 functional tests.
20618 * tests/lib/test.c: Common whitebox testing code for unit and
20619 functional tests.
20620 * tests/lib/unit_test.c: Framework support for whitebox unit
20621 tests.
20622
20623 * tests/util/grub-shell-tester.in: Support utility for grub-script
20624 tests.
20625 * tests/util/grub-shell.in: Utility to execute grub-script
20626 commands in a Qemu instance.
20627
20628 * tests/example_functional_test.c: Example whitebox functional
20629 test.
20630 * tests/example_grub_script_test.in: Example grub-script test.
20631 * tests/example_scripted_test.in: Example scripted test.
20632 * tests/example_unit_test.c: Example whitebox unit test.
20633
9c4ffeeb
VS
206342010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20635
20636 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
20637 Add loader/i386/multiboot_mbi.c.
20638 (multiboot2_mod_SOURCES): Likewise.
20639 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
20640 (multiboot2_mod_SOURCES): Likewise.
20641 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
20642 (grub_multiboot_make_mbi): Likewise.
20643 (grub_multiboot_free_mbi): Likewise.
20644 (grub_multiboot_init_mbi): Likewise.
20645 (grub_multiboot_add_module): Likewise.
20646 (grub_multiboot_set_bootdev): Likewise.
20647 * loader/i386/multiboot.c (mbi): Removed.
20648 (mbi_dest): Likewise.
20649 (alloc_mbi): New variable.
20650 (grub_multiboot_payload_size): Removed. All users updated.
20651 (grub_multiboot_pure_size): New variable.
20652 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
20653 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
20654 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
20655 (grub_fill_multiboot_mmap): Likewise.
20656 (grub_multiboot_get_bootdev): Likewise.
20657 (grub_multiboot): Use multiboot_mbi functions.
20658 * loader/i386/multiboot_mbi.c: New file.
20659
17383dfe
VS
206602010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20661
20662 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
20663 it would result in module crash.
20664
c1f28820
VS
206652010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20666
20667 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
20668 (grub_ofconsole_getwh): Split to ...
20669 (grub_ofconsole_getwh): ... this.
20670 (grub_ofconsole_dimensions): ...and this.
20671 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
20672
58655a16
RM
206732010-01-13 Robert Millan <rmh.grub@aybabtu.com>
20674
20675 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
20676
10891398
VS
206772010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20678
20679 * loader/i386/pc/multiboot2.c: Removed stalled file.
20680
0b8a223c
VS
206812010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20682
20683 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
20684 Reported by: Grégoire Sutre
20685
92ab12b0
RM
206862010-01-11 Robert Millan <rmh.grub@aybabtu.com>
20687
20688 * util/misc.c (canonicalize_file_name): New function.
20689 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
20690 instead of realpath().
20691
a788afb6
CW
206922010-01-11 Colin Watson <cjwatson@ubuntu.com>
20693
20694 * util/grub-install.in (usage): Clarify meaning of --root-directory,
20695 and make it clearer that it's optional. Based on confusion
20696 witnessed on IRC.
20697
ffa8e3d2
VS
206982010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20699
20700 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
20701 in premature implicit newline.
20702
e9060a9d
VS
207032010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20704
20705 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
20706 which resulted in garbled command line at the end of screen.
20707
f0d0c0b7
RM
207082010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20709
20710 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
20711 initialization with similar approach as with other Linux loaders.
20712
0e60bae7
RM
207132010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20714
20715 Fix i386-ieee1275 build.
20716
20717 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
20718 and grub_term_height() for video_{width,height} initialization.
20719
207202010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
20721
20722 Fix grub-emu build.
20723
20724 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
20725
cdb3f378
RM
207262010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
207272010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20728
20729 Support for multiple terminals.
20730
20731 * Makefile.in (pkglib_DATA): terminal.lst.
20732 (terminal.lst): New target.
20733 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
20734 (GRUB_MOD_INIT(handler)): Likewise.
20735 (GRUB_MOD_FINI(handler)): Likewise.
20736 * commands/help.c (grub_cmd_help): Handle multiple terminals.
20737 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
20738 * commands/sleep.c (do_print): Use grub_term_restore_pos.
20739 (grub_cmd_sleep): Use grub_term_save_pos.
20740 * commands/terminal.c: New file.
20741 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
20742 commands/terminal.c and lib/charset.c.
20743 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
20744 (pkglib_MODULES): Add terminal.mod.
20745 (terminal_mod_SOURCES): New variable.
20746 (terminal_mod_CFLAGS): Likewise.
20747 (terminal_mod_LDFLAGS): Likewise.
20748 * genhandlerlist.sh: Don't handle terminals.
20749 * genmk.rb: Generate terminal-*.lst.
20750 * genterminallist.sh: New file.
20751 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
20752 (grub_is_valid_utf8): Likewise.
20753 (grub_utf8_to_ucs4_alloc): Likewise.
20754 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
20755 (grub_menu_register_viewer): Changed argument.
20756 (grub_menu_try_text): New proto.
20757 (grub_gfxmenu_try_hook): New declaration.
20758 * include/grub/normal.h (grub_normal_exit_level): New declaration.
20759 (grub_menu_init_page): Additional argument term.
20760 (grub_normal_init_page): Likewise.
20761 (grub_cmdline_get): Arguments simplified.
20762 (grub_utf8_to_ucs4_alloc): Removed.
20763 (grub_print_ucs4): Additional argument term.
20764 (grub_getstringwidth): Likewise.
20765 (grub_print_message_indented): Likewise.
20766 (grub_menu_text_register_instances): New proto.
20767 (grub_show_menu): Likewise.
20768 (read_terminal_list): Likewise.
20769 (grub_set_more): Likewise.
20770 * include/grub/parser.h: Include handler.h.
20771 * include/grub/reader.h: Rewritten.
20772 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
20773 (GRUB_TERM_WIDTH): Changed to function.
20774 (GRUB_TERM_HEIGHT): Likewise.
20775 (GRUB_TERM_BORDER_WIDTH): Likewise.
20776 (GRUB_TERM_BORDER_HEIGHT): Likewise.
20777 (GRUB_TERM_NUM_ENTRIES): Likewise.
20778 (GRUB_TERM_ENTRY_WIDTH): Likewise.
20779 (GRUB_TERM_CURSOR_X): Likewise.
20780 (grub_term_input_class): Likewise.
20781 (grub_term_output_class): Likewise.
20782 (grub_term_outputs_disabled): New declaration.
20783 (grub_term_inputs_disabled): Likewise.
20784 (grub_term_outputs): Likewise.
20785 (grub_term_inputs): Likewise.
20786 (grub_term_register_input): Rewritten.
20787 (grub_term_register_output): Likewise.
20788 (grub_term_unregister_input): Likewise.
20789 (grub_term_unregister_output): Likewise.
20790 (FOR_ACTIVE_TERM_INPUTS): New macro.
20791 (FOR_DISABLED_TERM_INPUTS): Likewise.
20792 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20793 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
20794 * include/grub/terminfo.h: Add oterm argument to all protypes.
20795 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
20796 Use grub_rescue_run.
20797 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
20798 All users updated.
20799 * kern/reader.c: Removed. All users updated.
20800 * kern/rescue_reader.c (grub_rescue_init): Removed.
20801 (grub_rescue_reader): Likewise.
20802 (grub_register_rescue_reader): Likewise.
20803 (grub_rescue_run): New function based on kern/reader.c.
20804 * kern/term.c: Adapted for multiterm.
20805 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
20806 (grub_is_valid_utf8): Likewise.
20807 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
20808 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
20809 right terminal.
20810 * loader/i386/linux.c (grub_linux_boot): Likewise.
20811 * normal/auth.c (grub_username_get): New function.
20812 (grub_auth_check_authentication): Use grub_username_get.
20813 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
20814 * normal/color.c: Adapt for multiterm.
20815 * normal/main.c (read_config_file): Don't use grub_reader_loop.
20816 (grub_normal_init_page): Additional argument term.
20817 (read_lists): Call read_terminal_lists.
20818 (grub_enter_normal_mode): Call grub_cmdline_run.
20819 Handle grub_normal_exit_level.
20820 (grub_cmd_normal): Make reentrant.
20821 (grub_cmd_normal_exit): New function.
20822 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
20823 * normal/menu.c: Adapt for multiterm.
20824 * normal/menu_entry.c: Likewise.
20825 * normal/menu_text.c: Likewise.
20826 * normal/menu_viewer.c: Removed. All users updated.
20827 * normal/term.c: New file.
20828 * util/console.c: Change order of includes to workaround a bug in
20829 ncurses headers.
20830 * term/terminfo.c: New argument oterm on all exported functions.
20831 All users updated.
20832 * util/grub-editenv.c (grub_term_input_class): Removed.
20833 (grub_term_output_class): Likewise.
20834
1a064917
RM
208352010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20836
20837 Make loader output a bit more user-friendly.
20838
20839 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
20840 is being loaded. Likewise for the Hurd.
20841
20842 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
20843 that kernel of FreeBSD ${version} is being loaded.
20844
20845 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
20846 grub_dprintf().
20847 (grub_cmd_initrd): Likewise.
20848 * util/grub.d/10_linux.in (linux_entry): Print message indicating
20849 that Linux ${version} is being loaded. Likewise for initrd.
20850
5ce0a83a 208512010-01-09 Carles Pina i Estany <carles@pina.cat>
20852
20853 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
20854
809bbfeb 208552010-01-08 Carles Pina i Estany <carles@pina.cat>
20856
20857 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
20858 (GRUB_MOD_INIT): Gettextizze.
20859 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
20860 (GRUB_MOD_INIT): Gettextizze.
20861 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
20862 (grub_cmd_linux): Capitalise Linux.
20863 (GRUB_MOD_INIT): Gettextizze.
20864 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
20865 (grub_cmd_linux): Capitalise Linux.
20866 (GRUB_MOD_INIT): Gettextizze.
20867 * loader/i386/linux.c: Include `<grub/i18n.h>'.
20868 (grub_cmd_linux): Capitalise Linux.
20869 (GRUB_MOD_INIT): Gettextizze.
20870 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
20871 (GRUB_MOD_INIT): Gettextizze.
20872 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
20873 (grub_cmd_linux): Capitalise Linux.
20874 (GRUB_MOD_INIT): Gettextizze.
20875 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
20876 (grub_cpu_xnu_init): Gettextizze.
20877 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
20878 (GRUB_MOD_INIT): Gettextizze.
20879 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
20880 (GRUB_MOD_INIT): Gettextizze.
20881 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
20882 (grub_linux_load64): Capitalise Linux.
20883 (GRUB_MOD_INIT): Gettextizze.
20884 * loader/xnu.c: Include `<grub/i18n.h>'.
20885 (GRUB_MOD_INIT): Gettextizze.
20886 * po/POTFILES: Add `loader/efi/appleloader.c',
20887 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
20888 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
20889 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
20890 `loader/i386/xnu.c', `loader/multiboot_loader.c',
20891 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
20892 and `loader/xnu.c'.
20893
b394b2ca
RM
208942010-01-08 Robert Millan <rmh.grub@aybabtu.com>
20895
20896 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
20897
208982010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
20899
20900 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
20901 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
20902 * util/mkisofs/mkisofs.c (main): Readjust --version output.
20903
bc8b32b3
RM
209042010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20905
20906 Reset Multiboot 2 support. New loader implements the draft in
20907 /branches/multiboot2 and shares as much code as possible with the
20908 production Multiboot 1 implementation.
20909
20910 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
20911 * loader/multiboot2.c: Likewise.
20912 * loader/i386/multiboot_helper.S: Likewise.
20913 * include/multiboot2.h: Replace with latest version from the draft
20914 in /branches/multiboot2.
20915
20916 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
20917 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
20918 and `loader/multiboot2.c'.
20919 (pkglib_MODULES): Add `multiboot2.mod'.
20920 (multiboot2_mod_SOURCES): New variable.
20921 (multiboot2_mod_LDFLAGS): Likewise.
20922 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
20923
20924 * conf/i386-pc.rmk: Likewise.
20925
20926 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20927 (multiboot_mod_SOURCES): Remove variable.
20928 (multiboot_mod_LDFLAGS): Likewise.
20929 (multiboot_mod_CFLAGS): Likewise.
20930
20931 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
20932 `<multiboot2.h>' instead of `<multiboot.h>'.
20933 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
20934 (MULTIBOOT_HEADER_MAGIC): New macros.
20935
20936 * loader/multiboot_loader.c (module_version_status): Remove variable.
20937 (find_multi_boot2_header): Remove function.
20938 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
20939 logic. Always check for the Multiboot version we're compiling for.
20940 (grub_cmd_module_loader): Likewise.
20941 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
20942 command instead of `multiboot'.
20943
5d2c52b8
RM
209442010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20945
20946 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
20947 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
20948 all users.
20949
53108d92
RM
209502010-01-07 Robert Millan <rmh.grub@aybabtu.com>
209512010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20952
20953 Fix breakage introduced with previous commit.
20954
20955 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
20956 commands.
20957 * normal/handler.c (read_handler_list): Revert part of previous commit
20958 affecting this file.
20959 * normal/main.c (read_lists): Move read_handler_list() call back to ...
20960 (grub_normal_execute): ... here.
20961
e2e936b2
RM
209622010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20963
20964 Merge prefix-redefinition-fix branch.
20965
20966 * normal/autofs.c (read_fs_list): Make function capable of being
20967 run multiple times, gracefuly replacing the previous data
20968 structures.
20969 * normal/dyncmd.c (read_command_list): Likewise.
20970 * normal/handler.c (read_handler_list): Likewise.
20971 * normal/main.c (read_lists): New function. Calls all the
20972 list reading functions.
20973 (grub_normal_execute): Use read_lists() instead of calling all
20974 list reading functions explicitly. Register read_lists() as a
20975 variable hook attached to ${prefix}.
20976
607a3701
VS
209772010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20978
20979 Merge crypto branch.
20980
20981 * Makefile.in (pkglib_DATA): Add crypto.lst.
20982 (crypto.lst): New target.
20983 * commands/hashsum.c: New file.
20984 * commands/password.c (check_password): Use grub_crypto_memcmp.
20985 * commands/password_pbkdf2.c: New file.
20986 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
20987 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
20988 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
20989 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
20990 -I$(srcdir)/lib/libgcrypt_wrap.
20991 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
20992 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
20993 password_pbkdf2.mod.
20994 (crypto_mod_SOURCES): New variable.
20995 (crypto_mod_CFLAGS): Likewise.
20996 (crypto_mod_LDFLAGS): Likewise.
20997 (hashsum_mod_SOURCES): New variable.
20998 (hashsum_mod_CFLAGS): Likewise.
20999 (hashsum_mod_LDFLAGS): Likewise.
21000 (pbkdf2_mod_SOURCES): New variable.
21001 (pbkdf2_mod_CFLAGS): Likewise.
21002 (pbkdf2_mod_LDFLAGS): Likewise.
21003 (password_pbkdf2_mod_SOURCES): New variable.
21004 (password_pbkdf2_mod_CFLAGS): Likewise.
21005 (password_pbkdf2_mod_LDFLAGS): Likewise.
21006 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
21007 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
21008 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
21009 Include conf/gcry.rmk.
21010 * include/grub/auth.h: Rewritten.
21011 * include/grub/crypto.h: New file.
21012 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
21013 * include/grub/normal.h (read_crypto_list): New prototype.
21014 * lib/crypto.c: New file.
21015 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21016 * lib/pbkdf2.c: Likewise.
21017 * normal/auth.c (grub_auth_strcmp): Removed.
21018 (grub_iswordseparator): Likewise.
21019 (grub_auth_strword): Likewise.
21020 (is_authenticated): Use grub_strword.
21021 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
21022 and grub_strword. Pass entered password to authentication callback.
21023 * normal/crypto.c: New file.
21024 * normal/main.c: Call read_crypto_list.
21025 * util/grub-mkpasswd-pbkdf2.c: New file.
21026 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
21027
42841caa
VS
210282010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
21029
21030 Fix descent and ascent calculation.
21031
21032 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
21033 (options): New option "asce".
21034 (usage): Likewise.
21035 (add_char): Ignore invalid glyphs for descent calculation.
21036 Calculate ascent from actual content.
21037 (print_glyphs): Use 'asce'.
21038 (write_font): Likewise. Allow ascent override.
21039 (main): Handle "asce" option.
21040
e7730de7 210412010-01-06 Carles Pina i Estany <carles@pina.cat>
21042
21043 * kern/err.c: Include `<grub/i18n.h>'.
21044 (grub_print_error): Add full stop. Gettextizze.
21045 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
21046 (grub_bsd_load_elf): Capitalise ELF.
21047 (grub_cmd_freebsd_loadenv): Add `s' in error string.
21048 (grub_cmd_freebsd_module): Likewise.
21049 (grub_cmd_freebsd_module_elf): Likewise.
21050 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
21051
40e3a41f 210522010-01-06 Carles Pina i Estany <carles@pina.cat>
21053
21054 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
21055 * commands/search_file.c (HELP_MESSAGE): New macro.
21056 * commands/search_label.c (HELP_MESSAGE): Likewise.
21057 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
21058 * po/POTFILES: Add `commands/search_file.c',
21059 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
21060 `commands/search.c'.
21061
83507e68
RM
210622010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21063
21064 * config.rpath: Update from Gnulib.
21065
465c787b
YB
210662010-01-05 Yves Blusseau <blusseau@zetam.org>
21067
21068 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
21069
6581dd3a
YB
210702010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
21071
21072 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
21073
3bff18c5
CW
210742010-01-05 Colin Watson <cjwatson@ubuntu.com>
21075
21076 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
21077 arguments to fread so that we get a return value in bytes, rather
21078 than something that will normally be rounded down to 0.
21079 Adjust error handling to avoid producing garbage when size_t is not
21080 the same size as long long.
21081
a1368118
CW
210822010-01-05 Colin Watson <cjwatson@ubuntu.com>
21083
21084 * util/mkisofs/write.c (padblock_write): Check return value of
21085 fread.
21086
7c302978
RM
210872010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21088
21089 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
21090 floppy images now.
21091
21092 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
21093
e33ace06
RM
210942010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21095
21096 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
21097 instead of manual alignment.
21098 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
21099 verbose). Avoid attempts to read past end of the device
21100 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
21101 but GRUB_DISK_CACHE_SIZE may exceed that).
21102
4b856776
RM
211032010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21104
21105 * commands/crc.c (grub_cmd_crc): Abort on read errors.
21106 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
21107 it to upper layer.
21108
52c2d97f
VS
211092010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21110
21111 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21112 New constant.
21113 (grub_efi_piwg_device_path): New structure
21114 (grub_efi_piwg_device_path_t): New type.
21115 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21116 (devpath_1): Transform to a structure. All users updated.
21117 (devpath_2): Likewise.
21118 (devpath_3): Likewise.
21119 (devpath_4): Likewise.
21120 (devpath_5): Likewise.
21121
98ff6a54
VS
211222010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21123
21124 * loader/efi/appleloader.c: Restored. Update all users.
21125
3a73dcb6
RM
211262010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21127
21128 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21129
21130 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21131 (struct boot_blocklist): Move from here ...
21132 * include/grub/i386/pc/boot.h [ASM_FILE]
21133 (struct grub_boot_blocklist): ... to here. Update all users.
21134 (setup): Only initialize `start' member of `first_block'
21135 structure. Add assert() calls to verify the other members.
21136
21137 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21138 (generate_image): Fix broken blocklist length initialization.
21139 Add assert() call to verify blocklist `segment' field.
21140
ab0eeb0c
RM
211412010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21142
21143 * loader/efi/appleloader.c: Remove. Update all users.
21144
58bc8bd5
RM
211452010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21146
21147 * boot/i386/pc/boot.S: Update copyright year.
21148 * boot/i386/pc/cdboot.S: Likewise.
21149 * boot/i386/pc/diskboot.S: Likewise.
21150 * boot/i386/pc/lnxboot.S: Likewise.
21151 * boot/i386/pc/pxeboot.S: Likewise.
21152 * bus/pci.c: Likewise.
21153 * commands/cmp.c: Likewise.
21154 * commands/help.c: Likewise.
21155 * commands/hexdump.c: Likewise.
21156 * commands/i386/pc/halt.c: Likewise.
21157 * commands/i386/pc/play.c: Likewise.
21158 * commands/i386/pc/vbeinfo.c: Likewise.
21159 * commands/ls.c: Likewise.
21160 * commands/test.c: Likewise.
21161 * disk/dmraid_nvidia.c: Likewise.
21162 * disk/i386/pc/biosdisk.c: Likewise.
21163 * disk/ieee1275/nand.c: Likewise.
21164 * disk/ieee1275/ofdisk.c: Likewise.
21165 * disk/lvm.c: Likewise.
21166 * disk/raid.c: Likewise.
21167 * disk/raid6_recover.c: Likewise.
21168 * disk/scsi.c: Likewise.
21169 * fs/affs.c: Likewise.
21170 * fs/cpio.c: Likewise.
21171 * fs/ext2.c: Likewise.
21172 * fs/hfs.c: Likewise.
21173 * fs/iso9660.c: Likewise.
21174 * fs/ntfs.c: Likewise.
21175 * fs/sfs.c: Likewise.
21176 * fs/udf.c: Likewise.
21177 * fs/ufs.c: Likewise.
21178 * fs/xfs.c: Likewise.
21179 * gencmdlist.sh: Likewise.
21180 * genmk.rb: Likewise.
21181 * include/grub/disk.h: Likewise.
21182 * include/grub/efi/api.h: Likewise.
21183 * include/grub/efi/efi.h: Likewise.
21184 * include/grub/efi/pe32.h: Likewise.
21185 * include/grub/elf.h: Likewise.
21186 * include/grub/fs.h: Likewise.
21187 * include/grub/i386/at_keyboard.h: Likewise.
21188 * include/grub/i386/pc/memory.h: Likewise.
21189 * include/grub/i386/pc/vbe.h: Likewise.
21190 * include/grub/i386/pci.h: Likewise.
21191 * include/grub/i386/tsc.h: Likewise.
21192 * include/grub/ieee1275/ieee1275.h: Likewise.
21193 * include/grub/ntfs.h: Likewise.
21194 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21195 * include/grub/sparc64/libgcc.h: Likewise.
21196 * include/grub/symbol.h: Likewise.
21197 * include/grub/types.h: Likewise.
21198 * include/multiboot2.h: Likewise.
21199 * io/gzio.c: Likewise.
21200 * kern/device.c: Likewise.
21201 * kern/disk.c: Likewise.
21202 * kern/efi/efi.c: Likewise.
21203 * kern/efi/mm.c: Likewise.
21204 * kern/elf.c: Likewise.
21205 * kern/file.c: Likewise.
21206 * kern/i386/dl.c: Likewise.
21207 * kern/i386/pc/init.c: Likewise.
21208 * kern/i386/pc/startup.S: Likewise.
21209 * kern/ieee1275/ieee1275.c: Likewise.
21210 * kern/ieee1275/init.c: Likewise.
21211 * kern/main.c: Likewise.
21212 * kern/mm.c: Likewise.
21213 * kern/powerpc/dl.c: Likewise.
21214 * kern/sparc64/dl.c: Likewise.
21215 * kern/x86_64/dl.c: Likewise.
21216 * lib/hexdump.c: Likewise.
21217 * loader/efi/appleloader.c: Likewise.
21218 * loader/i386/ieee1275/linux.c: Likewise.
21219 * loader/i386/pc/chainloader.c: Likewise.
21220 * loader/i386/pc/linux.c: Likewise.
21221 * loader/i386/pc/multiboot2.c: Likewise.
21222 * loader/ieee1275/multiboot2.c: Likewise.
21223 * loader/multiboot2.c: Likewise.
21224 * loader/multiboot_loader.c: Likewise.
21225 * loader/powerpc/ieee1275/linux.c: Likewise.
21226 * normal/completion.c: Likewise.
21227 * normal/menu_entry.c: Likewise.
21228 * partmap/apple.c: Likewise.
21229 * util/grub.d/10_hurd.in: Likewise.
21230 * util/hostfs.c: Likewise.
21231 * video/readers/png.c: Likewise.
21232
e2d70b5c
CW
212332010-01-03 Colin Watson <cjwatson@ubuntu.com>
21234
21235 * include/grub/misc.h (GNUC_PREREQ): New macro.
21236 (ATTRIBUTE_ERROR): New macro.
21237 * include/grub/list.h (grub_bad_type_cast_real): Use
21238 ATTRIBUTE_ERROR.
21239
a173283f 212402010-01-03 Carles Pina i Estany <carles@pina.cat>
21241
21242 * normal/menu_text.c (print_message): Change messages.
21243
7fa7ff74 212442010-01-03 Carles Pina i Estany <carles@pina.cat>
21245
21246 * normal/menu_entry.c (store_completion): Gettextizze.
21247
136d24f6 212482010-01-03 Carles Pina i Estany <carles@pina.cat>
21249
21250 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
21251
f936862e 212522010-01-03 Carles Pina i Estany <carles@pina.cat>
21253
21254 * po/POTFILES: Sort correctly.
21255
29c44ad1 212562010-01-03 Carles Pina i Estany <carles@pina.cat>
21257
21258 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
21259 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
21260 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
21261 full stop.
21262 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
21263 summary. Gettextizze the strings.
21264 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
21265 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
21266 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
21267 full stop.
21268 (GRUB_MOD_INIT): Remove command name from summary.
21269 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
21270 summary.
21271 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
21272 * term/i386/pc/serial.c (options): Add full stops.
21273 (GRUB_MOD_INIT): Remove command name from the summary.
21274
77a79592 212752010-01-03 Carles Pina i Estany <carles@pina.cat>
21276
21277 * commands/acpi.c: Gettextizze help strings and/or options. Include
21278 `grub/i18n.h' if needed.
21279 * commands/blocklist.c: Likewise.
21280 * commands/boot.c: Likewise.
21281 * commands/cat.c: Likewise.
21282 * commands/cmp.c: Likewise.
21283 * commands/configfile.c: Likewise.
21284 * commands/crc.c: Likewise.
21285 * commands/date.c: Likewise.
21286 * commands/echo.c: Likewise.
21287 * commands/efi/fixvideo.c: Likewise.
21288 * commands/efi/loadbios.c: Likewise.
21289 * commands/gptsync.c: Likewise.
21290 * commands/halt.c: Likewise.
21291 * commands/handler.c: Likewise.
21292 * commands/hdparm.c: Likewise.
21293 * commands/hexdump.c: Likewise.
21294 * commands/i386/cpuid.c: Likewise.
21295 * commands/i386/pc/drivemap.c: Likewise.
21296 * commands/i386/pc/halt.c: Likewise.
21297 * commands/i386/pc/pxecmd.c: Likewise.
21298 * commands/i386/pc/vbeinfo.c: Likewise.
21299 * commands/i386/pc/vbetest.c: Likewise.
21300 * commands/ieee1275/suspend.c: Likewise.
21301 * commands/keystatus.c: Likewise.
21302 * commands/loadenv.c: Likewise.
21303 * commands/ls.c: Likewise.
21304 * commands/lsmmap.c: Likewise.
21305 * commands/lspci.c: Likewise.
21306 * commands/memrw.c: Likewise.
21307 * commands/minicmd.c: Likewise.
21308 * commands/parttool.c: Likewise.
21309 * commands/password.c: Likewise.
21310 * commands/probe.c: Likewise.
21311 * commands/read.c: Likewise.
21312 * commands/reboot.c: Likewise.
21313 * commands/search.c: Likewise.
21314 * commands/sleep.c: Likewise.
21315 * commands/test.c: Likewise.
21316 * commands/true.c: Likewise.
21317 * commands/usbtest.c: Likewise.
21318 * commands/videotest.c: Likewise.
21319 * commands/xnu_uuid.c: Likewise.
21320 * disk/loopback.c: Likewise.
21321 * hello/hello.c: Likewise.
21322 * loader/i386/bsd.c: Likewise.
21323 * term/i386/pc/serial.c: Likewise.
21324 * po/POTFILES: Add new files.
21325
da8d5c53
CW
213262010-01-02 Colin Watson <cjwatson@ubuntu.com>
21327
21328 * term/i386/pc/at_keyboard.c
21329 (keyboard_controller_wait_untill_ready): Rename to ...
21330 (keyboard_controller_wait_until_ready): ... this. Update all users.
21331
33937904 213322010-01-01 Carles Pina i Estany <carles@pina.cat>
21333
21334 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
21335 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
21336 string using string width.
21337 * normal/menu_text.c (grub_print_message_indented): Use
21338 grub_print_spaces and not print_spaces.
21339 (print_timeout): Likewise.
21340 (print_spaces): Move to...
21341 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
21342
3fd3b8d8
RM
213432010-01-01 Robert Millan <rmh.grub@aybabtu.com>
21344
21345 Import from Gnulib.
21346
21347 * gnulib/getdelim.c: New file.
21348 * gnulib/getline.c: Likewise.
21349
33433555
VS
213502009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
21351
21352 * include/grub/list.h (grub_assert_fail): Removed.
21353 (grub_bad_type_cast_real): New function.
21354 (grub_bad_type_cast): New macro.
21355 (GRUB_AS_LIST): Use grub_bad_type_cast.
21356 (GRUB_AS_LIST_P): Likewise.
e44721e8 21357 (GRUB_AS_NAMED_LIST): Likewise.
33433555 21358 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 21359 (GRUB_AS_PRIO_LIST): Likewise.
33433555 21360 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 21361 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 21362
f5a51306
VS
213632009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
21364
21365 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
21366 Fix syntax error.
21367
90d1e879
RM
213682009-12-29 Robert Millan <rmh.grub@aybabtu.com>
21369
21370 * configure.ac: Check for TARGET_CFLAGS initialization before we
21371 initialize it ourselves (sigh).
21372 Move a few modifications to TARGET_CFLAGS to be unconditional
21373 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
21374 eh_frame)
21375
21376 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
21377 * term/i386/pc/at_keyboard.c
21378 (keyboard_controller_wait_untill_ready): Likewise.
21379 (keyboard_controller_led): Rename `led_status' paramter to avoid
21380 name conflict.
21381
465b5a81 213822009-12-28 Carles Pina i Estany <carles@pina.cat>
21383
21384 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
21385 quotes.
21386
c181849b
VS
213872009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21388
21389 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
21390
9c8739a4
VS
213912009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21392
21393 * normal/menu_text.c (grub_print_message_indented): Prevent
21394 past-the-end-of-array dereference.
21395
3e74249c
VS
213962009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21397
21398 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
21399 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
21400
64fd18ed 214012009-12-27 Carles Pina i Estany <carles@pina.cat>
21402
21403 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
21404 * normal/main.c (grub_normal_read_line): Remove a space from the
21405 default prompt.
21406
714af9b9 214072009-12-27 Carles Pina i Estany <carles@pina.cat>
21408
21409 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
21410 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21411 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21412 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21413 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21414 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21415 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21416
82f3e412 214172009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 21418
21419 * video/readers/jpeg.c (cmd): Declare.
21420 (grub_cmd_jpegtest): Use `grub_command_t' type.
21421 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21422 Assign to `cmd'.
21423 (GRUB_MOD_FINI): Use `cmd' to unregister.
21424 * video/readers/png.c (cmd): Declare.
21425 (grub_cmd_pngtest): Use `grub_command_t' type.
21426 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21427 Assign to `cmd'.
21428 (GRUB_MOD_FINI): Use `cmd' to unregister.
21429 * video/readers/tga.c (cmd): Declare.
21430 (grub_cmd_tgatest): Use `grub_command_t' type.
21431 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21432 Assign to `cmd'.
21433 (GRUB_MOD_FINI): Use `cmd' to unregister.
21434
82f3e412 214352009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 21436
21437 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
21438 stops.
21439 * kern/corecmd.c (grub_register_core_commands): Likewise.
21440 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
21441 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21442 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
21443 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21444 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21445 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
21446 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21447 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
21448 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21449 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21450 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21451 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21452 * normal/handler.c (insert_handler): Likewise.
21453 * normal/main.c (GRUB_MOD_INIT): Likewise.
21454 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21455
fdcdbb66 214562009-12-26 Carles Pina i Estany <carles@pina.cat>
21457
21458 * commands/help.c (grub_cmd_help): Print the command name before the
21459 summary.
21460 (GRUB_MOD_INIT): Remove command name from the summary.
21461 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 21462 string as summary.
fdcdbb66 21463 * lib/arg.c (find_long): Print the command name before the summary.
21464 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
21465 summary.
21466 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
21467 * commands/cat.c (GRUB_MOD_INIT): Likewise.
21468 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
21469 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21470 * commands/crc.c (GRUB_MOD_INIT): Likewise.
21471 * commands/date.c (GRUB_MOD_INIT): Likewise.
21472 * commands/echo.c (GRUB_MOD_INIT): Likewise.
21473 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
21474 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21475 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21476 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
21477 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
21478 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
21479 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
21480 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21481 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
21482 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
21483 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
21484 * commands/ls.c (GRUB_MOD_INIT): Likewise.
21485 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21486 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21487 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21488 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
21489 * commands/password.c (GRUB_MOD_INIT): Likewise.
21490 * commands/probe.c (GRUB_MOD_INIT): Likewise.
21491 * commands/read.c (GRUB_MOD_INIT): Likewise.
21492 * commands/search.c (GRUB_MOD_INIT): Likewise.
21493 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
21494 * commands/test.c (GRUB_MOD_INIT): Likewise.
21495 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
21496 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21497 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21498 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
21499 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21500 * lib/arg.c (GRUB_MOD_INIT): Likewise.
21501 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
21502 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21503 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21504 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21505 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21506 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
21507 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
21508 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
21509
9c288be2
VS
215102009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21511
21512 Use search command for preliminar UUID search.
21513
21514 * commands/search.c: Split into ...
21515 * commands/search_wrap.c: ...this
21516 * commands/search.c: ...and this.
21517 * commands/search_file.c: New file.
21518 * commands/search_label.c: New file.
21519 * commands/search_uuid.c: New file.
21520 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
21521 Add commands/search_wrap.c, commands/search_file.c,
21522 commands/search_label.c and commands/search_uuid.c.
21523 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
21524 (search_mod_SOURCES): Set to commands/search_wrap.c.
21525 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
21526 search_label.mod.
21527 (search_fs_file_mod_SOURCES): New variable.
21528 (search_fs_file_mod_CFLAGS): Likewise.
21529 (search_fs_file_mod_LDFLAGS): Likewise.
21530 (search_label_mod_SOURCES): Likewise.
21531 (search_label_mod_CFLAGS): Likewise.
21532 (search_label_mod_LDFLAGS): Likewise.
21533 (search_fs_uuid_mod_SOURCES): New variable.
21534 (search_fs_uuid_mod_CFLAGS): Likewise.
21535 (search_fs_uuid_mod_LDFLAGS): Likewise.
21536 (fs_file_mod_SOURCES): Removed.
21537 (fs_file_mod_CFLAGS): Likewise.
21538 (fs_file_mod_LDFLAGS): Likewise.
21539 (fs_uuid_mod_SOURCES): Removed.
21540 (fs_uuid_mod_CFLAGS): Likewise.
21541 (fs_uuid_mod_LDFLAGS): Likewise.
21542 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
21543 Set to util/grub-install.in.
21544 * disk/fs_file.c: Removed.
21545 * disk/fs_uuid.c: Likewise.
21546 * include/grub/search.h: New file.
21547 * util/grub-install.in: Handle sparc64.
21548 Create and use load.cfg.
21549 * util/sparc64/ieee1275/grub-install.in: Removed.
21550
db943399
VS
215512009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21552
21553 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
21554 Ignore return status if CF is cleared.
21555 (grub_biosdisk_get_diskinfo_standard): Likewise.
21556
3fdae612
RM
215572009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21558
21559 * term/i386/pc/at_keyboard.c
21560 (keyboard_controller_wait_untill_ready): New function.
21561 (grub_keyboard_controller_write, grub_keyboard_controller_read)
21562 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
21563 for keyboard polling, rather than duplicate the same loop. This
21564 saves a few bytes in code size.
21565
7ebaa2b4
VS
215662009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21567
21568 Support for (pxe[:server[:gateway]]) syntax and
21569 use environment variable for PXE.
21570
21571 * commands/i386/pc/pxecmd.c (options): Removed.
21572 (print_ip): Removed.
21573 (grub_cmd_pxe): Removed
21574 (grub_cmd_pxe_unload): New function.
21575 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
21576 (grub_pxe_your_ip): Made static.
21577 (grub_pxe_default_server_ip): Likewise.
21578 (grub_pxe_default_gateway_ip): Likewise.
21579 (grub_pxe_blksize): Likewise.
21580 (parse_ip): New function.
21581 (grub_pxe_open): Support server and gateway specification.
21582 (grub_pxe_close): Free disk->data.
21583 (grub_pxefs_open): Use disk->data.
21584 (grub_pxefs_read): Likewise.
21585 (grub_env_write_readonly): New function.
21586 (set_mac_env): Likewise.
21587 (set_env_limn_ro): Likewise.
21588 (parse_dhcp_vendor): Likewise.
21589 (grub_pxe_detect): Set the environment variables.
21590 (set_ip_env): New function.
21591 (write_ip_env): Likewise.
21592 (grub_env_write_pxe_default_server): Likewise.
21593 (grub_env_write_pxe_default_gateway): Likewise.
21594 (grub_env_write_pxe_blocksize): Likewise.
21595 (GRUB_MOD_INIT(pxe)): Set environment variables.
21596 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
21597 (grub_pxe_mac_addr_t): ... this. All users updated.
21598 (grub_pxe_your_ip): Removed.
21599 (grub_pxe_server_ip): Likewise.
21600 (grub_pxe_gateway_ip): Likewise.
21601 (grub_pxe_blksize): Likewise.
21602
ec5f98ab 216032009-12-25 Carles Pina i Estany <carles@pina.cat>
21604
21605 * commands/help.c: Include `<grub/i18n.h>'.
21606 (grub_cmd_help): Gettextizze.
21607 (GRUB_MOD_INIT): Likewise.
21608 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
21609 (GRUB_MOD_INIT): Gettextizze.
21610 * commands/search.c: Include `<grub/i18n.h>'.
21611 (options): Gettextizze.
21612 (GRUB_MOD_INIT): Gettextizze.
21613 * lib/arg.c: Include `<grub/i18n.h>'.
21614 (help_options): Gettextizze.
21615 (find_long): Likewise.
21616 (grub_arg_show_help): Likewise.
21617 * normal/dyncmd.c: Include `<grub/i18n.h>'.
21618 (read_command_list): Gettextizze.
21619 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 21620 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 21621
22815526
RM
216222009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21623
21624 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
21625 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
21626 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
21627 (led_status): New variable.
21628 (keyboard_controller_led): New function.
21629 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
21630 update led status for caps lock, num lock and scroll lock.
21631
0ad46fd7
FZ
216322009-12-25 Felix Zielcke <fzielcke@z-51.de>
21633
21634 * util/hostdisk.c (open_device): Fix a comment.
21635
d0e158c2
RM
216362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21637
21638 * util/grub-install.in (host_os): New variable.
21639 * util/i386/efi/grub-install.in (host_os): Likewise.
21640
401c0ad6
RM
216412009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21642
21643 * util/mkisofs/write.c (padblock_write): Abort when given an
21644 excedingly large embed image, instead of silently truncating it.
21645
d14d3370
RM
216462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21647
21648 * include/multiboot.h: Indentation fixes.
21649
eeed10b4
RM
216502009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21651
21652 * include/multiboot.h (struct multiboot_aout_symbol_table)
21653 (struct multiboot_elf_section_header_table): New structure
21654 declarations (stolen from GRUB Legacy).
21655 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
21656 table information.
21657
21658 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
21659 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
21660 type aliases.
21661
681c70ab
RM
216622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21663
21664 * include/multiboot.h: Make comments src2texi-friendly.
21665
e4d47d8d
RM
216662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21667
21668 For consistency with [multiboot]/docs/boot.S.
21669
21670 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
21671 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
21672 (MULTIBOOT_MAGIC2): Rename from this ...
21673 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
21674
a0b70bda
RM
216752009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21676
21677 * include/multiboot.h: Remove `<grub/types.h>'.
21678 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
21679 types. Update all users.
21680
61ba42be 216812009-12-25 Carles Pina i Estany <carles@pina.cat>
21682
21683 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
21684 `couldn't' and `can not' by `cannot'.
21685 * commands/i386/pc/drivemap.c: Likewise.
21686 * disk/ata.c: Likewise.
21687 * disk/ieee1275/nand.c: Likewise.
21688 * fs/affs.c: Likewise.
21689 * fs/fat.c: Likewise.
21690 * fs/hfs.c: Likewise.
21691 * fs/hfsplus.c: Likewise.
21692 * fs/iso9660.c: Likewise.
21693 * fs/jfs.c: Likewise.
21694 * fs/minix.c: Likewise.
21695 * fs/reiserfs.c: Likewise.
21696 * fs/sfs.c: Likewise.
21697 * fs/udf.c: Likewise.
21698 * fs/ufs.c: Likewise.
21699 * fs/xfs.c: Likewise.
21700 * loader/powerpc/ieee1275/linux.c: Likewise.
21701 * loader/sparc64/ieee1275/linux.c: Likewise.
21702 * util/grub-probe.c: Likewise.
21703 * util/misc.c: Likewise.
21704
7fd0baee 217052009-12-24 Carles Pina i Estany <carles@pina.cat>
21706
21707 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
21708 grub_errno calls.
21709 * commands/acpi.c: Likewise.
21710 * commands/blocklist.c: Likewise.
21711 * commands/efi/loadbios.c: Likewise.
21712 * commands/i386/pc/drivemap.c: Likewise.
21713 * commands/loadenv.c: Likewise.
21714 * commands/memrw.c: Likewise.
21715 * commands/password.c: Likewise.
21716 * commands/videotest.c: Likewise.
21717 * disk/ata.c: Likewise.
21718 * disk/ata_pthru.c: Likewise.
21719 * disk/dmraid_nvidia.c: Likewise.
21720 * disk/ieee1275/nand.c: Likewise.
21721 * disk/ieee1275/ofdisk.c: Likewise.
21722 * disk/loopback.c: Likewise.
21723 * disk/lvm.c: Likewise.
21724 * disk/mdraid_linux.c: Likewise.
21725 * disk/raid.c: Likewise.
21726 * disk/raid6_recover.c: Likewise.
21727 * disk/scsi.c: Likewise.
21728 * efiemu/main.c: Likewise.
21729 * efiemu/mm.c: Likewise.
21730 * efiemu/pnvram.c: Likewise.
21731 * efiemu/symbols.c: Likewise.
21732 * font/font.c: Likewise.
21733 * fs/cpio.c: Likewise.
21734 * fs/hfsplus.c: Likewise.
21735 * fs/iso9660.c: Likewise.
21736 * fs/jfs.c: Likewise.
21737 * fs/minix.c: Likewise.
21738 * fs/ntfs.c: Likewise.
21739 * fs/ntfscomp.c: Likewise.
21740 * fs/reiserfs.c: Likewise.
21741 * fs/ufs.c: Likewise.
21742 * fs/xfs.c: Likewise.
21743 * gettext/gettext.c: Likewise.
21744 * include/grub/auth.h: Likewise.
21745 * kern/elf.c: Likewise.
21746 * kern/file.c: Likewise.
21747 * kern/ieee1275/init.c: Likewise.
21748 * kern/ieee1275/mmap.c: Likewise.
21749 * kern/ieee1275/openfw.c: Likewise.
21750 * kern/powerpc/dl.c: Likewise.
21751 * kern/sparc64/dl.c: Likewise.
21752 * lib/arg.c: Likewise.
21753 * loader/i386/bsd.c: Likewise.
21754 * loader/i386/bsdXX.c: Likewise.
21755 * loader/i386/efi/linux.c: Likewise.
21756 * loader/i386/efi/xnu.c: Likewise.
21757 * loader/i386/ieee1275/linux.c: Likewise.
21758 * loader/i386/linux.c: Likewise.
21759 * loader/i386/multiboot.c: Likewise.
21760 * loader/i386/pc/linux.c: Likewise.
21761 * loader/i386/pc/multiboot2.c: Likewise.
21762 * loader/i386/xnu.c: Likewise.
21763 * loader/ieee1275/multiboot2.c: Likewise.
21764 * loader/macho.c: Likewise.
21765 * loader/machoXX.c: Likewise.
21766 * loader/multiboot2.c: Likewise.
21767 * loader/multiboot_loader.c: Likewise.
21768 * loader/powerpc/ieee1275/linux.c: Likewise.
21769 * loader/sparc64/ieee1275/linux.c: Likewise.
21770 * loader/xnu.c: Likewise.
21771 * loader/xnu_resume.c: Likewise.
21772 * mmap/i386/pc/mmap.c: Likewise.
21773 * normal/menu_viewer.c: Likewise.
21774 * partmap/acorn.c: Likewise.
21775 * partmap/amiga.c: Likewise.
21776 * partmap/apple.c: Likewise.
21777 * script/lexer.c: Likewise.
21778 * term/gfxterm.c: Likewise.
21779 * term/i386/pc/serial.c: Likewise.
21780 * term/i386/pc/vga.c: Likewise.
21781 * term/ieee1275/ofconsole.c: Likewise.
21782 * term/terminfo.c: Likewise.
21783 * video/bitmap.c: Likewise.
21784 * video/efi_gop.c: Likewise.
21785 * video/efi_uga.c: Likewise.
21786 * video/fb/video_fb.c: Likewise.
21787 * video/i386/pc/vbe.c: Likewise.
21788 * video/readers/tga.c: Likewise.
21789 * video/video.c: Likewise.
21790
0ad46fd7 217912009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
21792
21793 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
21794 * commands/lspci.c: Likewise.
21795 * commands/probe.c: Likewise.
21796 * commands/xnu_uuid.c: Likewise.
21797 * conf/i386-coreboot.rmk: Likewise.
21798 * conf/i386-efi.rmk: Likewise.
21799 * conf/i386-ieee1275.rmk: Likewise.
21800 * conf/i386-pc.rmk: Likewise.
21801 * conf/powerpc-ieee1275.rmk: Likewise.
21802 * conf/sparc64-ieee1275.rmk: Likewise.
21803 * conf/x86_64-efi.rmk: Likewise.
21804 * fs/i386/pc/pxe.c: Likewise.
21805 * gettext/gettext.c: Likewise.
21806 * include/grub/efi/graphics_output.h: Likewise.
21807 * include/grub/i386/pc/memory.h: Likewise.
21808 * kern/env.c: Likewise.
21809 * kern/i386/qemu/startup.S: Likewise.
21810 * lib/i386/pc/biosnum.c: Likewise.
21811 * lib/i386/relocator.c: Likewise.
21812 * lib/i386/relocator_asm.S: Likewise.
21813 * lib/relocator.c: Likewise.
21814 * loader/i386/bsd.c: Likewise.
21815 * loader/i386/multiboot.c: Likewise.
21816 * loader/i386/pc/chainloader.c: Likewise.
21817 * loader/i386/xnu.c: Likewise.
21818 * loader/xnu.c: Likewise.
21819 * normal/main.c: Likewise.
21820 * normal/menu_text.c: Likewise.
21821 * util/getroot.c: Likewise.
21822 * util/grub-mkconfig_lib.in: Likewise.
21823 * util/grub.d/00_header.in: Likewise.
21824 * util/i386/pc/grub-mkimage.c: Likewise.
21825 * util/mkisofs/eltorito.c: Likewise.
21826 * util/mkisofs/exclude.h: Likewise.
21827 * util/mkisofs/hash.c: Likewise.
21828 * util/mkisofs/iso9660.h: Likewise.
21829 * util/mkisofs/joliet.c: Likewise.
21830 * util/mkisofs/mkisofs.c: Likewise.
21831 * util/mkisofs/mkisofs.h: Likewise.
21832 * util/mkisofs/multi.c: Likewise.
21833 * util/mkisofs/name.c: Likewise.
21834 * util/mkisofs/rock.c: Likewise.
21835 * util/mkisofs/tree.c: Likewise.
21836 * util/mkisofs/write.c: Likewise.
21837 * video/efi_gop.c: Likewise.
21838
009ec743
VS
218392009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
21840
21841 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
21842 size counting.
21843
0ad46fd7 218442009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
21845
21846 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
21847 * genmk.rb (class SCRIPT): Modify the target file instead of source.
21848
d3d30ea0
VS
218492009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21850
21851 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
21852 (GRUB_MOD_INIT(memrw)): Update help line.
21853
a34f5c70
VS
218542009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21855
21856 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
21857 Use grub_extcmd_t. All users updated.
21858 (options): New variable.
21859 (grub_cmd_read): Restructure for readability. Support "-v" option.
21860 (grub_cmd_write): Restructure for readability.
21861
0ad46fd7 218622009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
21863
21864 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
21865
0ad46fd7 218662009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
21867
21868 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
21869 with the actual contents of the correspondending make variable.
21870 * util/grub-mkrescue.in (pkglib_DATA): New variable.
21871 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
21872 specifying `*.lst' and `efiemu??.o'
21873
0ad46fd7 218742009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
21875
21876 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
21877 after function name.
21878 Noticed by Rene Engelhard <rene@debian.org>.
21879
dc77a799
VS
218802009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21881
21882 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
21883 (options): New variable.
21884 (iospace): Likewise.
21885 (grub_lspci_iter): List IO spaces if "-i" was given.
21886 (grub_cmd_lspci): Parse options.
21887 (GRUB_MOD_INIT(lspci)): Use extcmd.
21888 (GRUB_MOD_FINI(lspci)): Likewise.
21889
0ad46fd7 218902009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
21891
21892 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
21893 `function' keyword.
21894 Patch by Tony Mancill <tmancill@debian.org>.
21895
b5d5993b
VS
218962009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21897
21898 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
21899 (grub_uhci_portstatus): Likewise.
21900 (grub_uhci_portstatus): Add necessary delay.
11d18281 21901 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 21902
941903f2 219032009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 21904
941903f2 21905 * commands/acpi.c (options): Fix capitalizations and/or full stops.
21906 (GRUB_MOD_INIT): Likewise.
21907 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 21908 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
21909 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 21910 * commands/efi/loadbios.c (enable_rom_area): Likewise.
21911 (enable_rom_area): Likewise.
21912 (GRUB_MOD_INIT): Likewise.
21913 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21914 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
21915 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21916 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
21917 * commands/hexdump.c (options): Likewise.
21918 * commands/i386/cpuid.c (options): Likewise.
21919 (GRUB_MOD_INIT): Likewise.
21920 * commands/i386/pc/drivemap.c (options): Likewise.
21921 (GRUB_MOD_INIT): Likewise.
21922 * commands/i386/pc/halt (options): Likewise.
21923 (GRUB_MOD_INIT): Likewise.
21924 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21925 * commands/i386/pc/pxecmd.c (options): Likewise.
21926 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
21927 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
21928 * commands/keystatus.c (options): Likewise.
21929 (GRUB_MOD_INIT): Likewise.
21930 * commands/loadenv.c (options): Likewise.
21931 * commands/ls.c (options): Likewise.
21932 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21933 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21934 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21935 * commands/parttool.c (helpmsg): Likewise.
21936 * commands/probe.c (options): Likewise.
21937 * commands/read.c (GRUB_MOD_INIT): Likewise.
21938 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
21939 * commands/search.c (options): Likewise.
21940 * commands/sleep.c (options): Likewise.
21941 * commands/test.c (GRUB_MOD_INIT): Likewise.
21942 * commands/true.c (GRUB_MOD_INIT): Likewise.
21943 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
21944 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
21945 * lib/arg.c (help_options): Likewise.
e9bbb4e7 21946 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
21947 `$(XGETTEXT)'.
98a50553 21948 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 21949
0ad46fd7 219502009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 21951
ef3c2c3a 21952 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
21953 instead of specifying them explicit.
21954
7922f68b
RM
219552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21956
21957 * NEWS: Add grub-probe support for GNU/Hurd.
21958
537ce47f
RM
219592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21960
21961 * NEWS: gettext was added after 1.97.
21962
9b214e3a
RM
219632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21964
21965 * util/mkisofs/msdos_partition.h: New file (based on
21966 include/grub/msdos_partition.h).
21967 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
21968 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
21969 (ld_options, main): Recognize --protective-msdos-label.
21970 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
21971 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
21972 (padblock_write): If `use_protective_msdos_label' is set, patch a
21973 protective DOS-style label in the output image.
21974
21975 * util/grub-mkrescue.in: Use --protective-msdos-label.
21976
e9309813
RM
219772009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21978
21979 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
21980 boot.
21981
0ae56929
RM
219822009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21983
21984 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
21985 variables.
21986 (ld_options, main): Recognize `--embedded-boot'.
21987 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
21988 declarations.
21989 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
21990 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
21991 (padblock_write): Likewise. Rewrite to support embedded boot image.
21992
21993 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
21994 for BIOS-based disk boot instead of only ElTorito.
21995
b15937b1
RM
219962009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21997
21998 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
21999 build (not needed for bootstrap).
22000
52cc3ce0
RM
220012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22002
22003 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
22004 from i386-pc build (not needed for bootstrap).
22005 Rewrite a pair of strings.
22006
36f5ff04
RM
220072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22008
22009 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
22010
973c6c85 220112009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
22012
22013 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
22014
05d21547
AB
220152009-12-21 Andreas Born <futur.andy@googlemail.com>
22016
22017 * kern/env.c (grub_env_context_open): Mark exported variable for
22018 reexport.
22019
0175d51f
AB
220202009-12-21 Andreas Born <futur.andy@googlemail.com>
22021
22022 * kern/env.c (grub_env_export): Create nonexistent variables before
22023 exporting.
22024
7f39d92f 220252009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 22026
7f39d92f 22027 * include/grub/auth.h: Include `<grub/i18n.h>'.
22028 (GRUB_GET_PASSWORD): Gettextizze string.
22029 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
22030 menu_text.c.
22031 (grub_utf8_to_ucs4_alloc): Fix indentation.
22032 (grub_print_ucs4): Likewise.
22033 (grub_getstringwidth): Likewise.
22034 (print_message_indented): New declaration.
22035 * normal/auth.c: Include `<grub/i18n.h>'.
22036 (grub_auth_check_authentication): Gettexttize string.
22037 * normal/cmdline.c: Include `<grub/i18n.h>'.
22038 (grub_cmdline_get): Gettextizze.
22039 * normal/color.c: Include `<grub/i18n.h>'.
22040 (grub_parse_color_name_pair): Gettexttize strings.
22041 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
22042 string (use `print_message_indented').
22043 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
22044 `include/grub/normal.h'.
22045 (print_message_indented): Renamed to ...
22046 (grub_print_message_indented): ... this. Remove `static' qualifer (now
22047 used in normal/main.c).
22048 (print_message): Use `grub_print_message_indented' instead of
22049 `print_message_indented'.
22050 (print_timeout): Likewise.
22051 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
22052 (grub_normal_print_device_info): Gettexttize strings.
22053 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
22054
3041d898
VS
220552009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22056
22057 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
22058 of arguments. Return number of tokens and not arguments. All users
22059 updated.
22060
de15bf8e
VS
220612009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22062
22063 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
22064 non-MSDOS paritions.
22065
e0a6ca52
VS
220662009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22067
22068 * include/grub/types.h (UNUSED): Removed since it conflicts with
22069 NetBSD headers. All users changed to direct __attribute__ ((unused)).
22070 Reported by Grégoire Sutre.
22071
b99518d1 220722009-12-19 Carles Pina i Estany <carles@pina.cat>
22073
22074 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
22075 (grub_print_ucs4_alloc): Likewise.
22076 (grub_getstringwidth): Likewise.
22077 * normal/main.c (grub_normal_init_page): Gettextize version string.
22078 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
22079 (getstringwidth): Renamed to ...
22080 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
22081 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
22082 (grub_print_ucs4): Remove `static' qualifer (now used in
22083 normal/main.c).
22084 * po/POTFILES: Add normal/main.c.
22085
bfd5e52b 220862009-12-19 Carles Pina i Estany <carles@pina.cat>
22087
22088 * normal/menu_text.c (STANDARD_MARGIN): New macro.
22089 (print_message_indented): Add `margin_left' and `margin_right'
22090 parameters.
22091 (print_message): Update `print_message_indented' calls. Adds '\n' to the
22092 strings.
22093 (print_timeout): Use `print_message_indented' to print the message.
22094 Deletes `second_stage' parameter.
22095 (run_menu): Update `print_timeout' calls.
22096
5a1ad2b9
VS
220972009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22098
22099 Fix console palette on OpenFirmware.
22100
22101 * term/ieee1275/ofconsole.c (MAX): Removed.
22102 (colors): Redone based on VGA palette.
22103 (grub_ofconsole_setcolor): Discard brightness bit since only 8
22104 colors are supported.
22105 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
22106
b045f00a
VS
221072009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22108
22109 Fix potential EfiEmu double prepare.
22110
22111 * efiemu/main.c (prepared): New variable
22112 (grub_efiemu_unload): Set prepare to '0'.
22113 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22114
22115 set_virtual_address_map support.
22116
22117 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22118 prototype.
22119 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22120 prototype.
22121 (grub_efiemu_crc32): Likewise.
22122 (grub_efiemu_crc64): Likewise.
22123 (grub_efiemu_set_virtual_address_map): Likewise.
22124 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22125 New definition.
22126 (grub_autoefi_set_virtual_address_map): Likewise.
22127 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22128 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22129 Restructure flow to accomodate it.
22130 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22131 (grub_efiemu_crc): Recompute CRC32.
22132 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22133 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22134 * efiemu/symbols.c (relocated_handle): New variable.
22135 (grub_efiemu_free_syms): Free relocated_handle.
22136 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22137 (grub_efiemu_write_sym_markers): New function.
22138 (grub_efiemu_set_virtual_address_map): Likewise.
22139
22140 Newer XNU parameters.
22141
22142 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22143 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22144 (grub_xnu_fill_devicetree): New prototype.
22145 (grub_xnu_heap_real_start): New variable.
22146 * loader/xnu.c (get_name_ptr): New function.
22147 (grub_xnu_load_driver): Fill namelen and name.
22148
22149 64-bit xnu support.
22150
22151 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22152 and 'loader/macho64.c'.
22153 * conf/i386-pc.rmk: Likewise.
22154 * conf/x86_64-efi.rmk: Likewise.
22155 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22156 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22157 * include/grub/macho.h (grub_macho_segment64): New structure.
22158 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22159 (grub_macho_size32): ... to this.
22160 (grub_macho32_get_entry_point): Renamed from ...
22161 (grub_macho_get_entry_point32): ... to this.
22162 (grub_macho_contains_macho64): New prototype.
22163 (grub_macho_size64): Likewise.
22164 (grub_macho_get_entry_point64): Likewise.
22165 (grub_macho32_load): Renamed from ...
22166 (grub_macho_load32): ... to this.
22167 (grub_macho32_filesize): Renamed from ...
22168 (grub_macho_filesize32): ... to this.
22169 (grub_macho32_readfile): Renamed from ...
22170 (grub_macho_readfile32): ... to this.
22171 (grub_macho_filesize64): New prototype.
22172 (grub_macho_readfile64): Likewise.
22173 (grub_macho_parse32): Likewise.
22174 (grub_macho_parse64): Likewise.
22175 * loader/macho.c: Split into ...
22176 * loader/machoXX.c: ... and this. Replace 32 with XX.
22177 * loader/macho32.c: New file.
22178 * loader/macho64.c: Likewise.
22179 * loader/xnu.c (grub_xnu_is_64bit): New variable.
22180 (grub_cmd_xnu_kernel): Make 32-bit only.
22181 (grub_cmd_xnu_kernel64): New function.
22182 (grub_xnu_load_driver): Support Mach-O 64.
22183 (grub_cmd_xnu_mkext): Likewise.
22184 * util/grub.d/30_os-prober.in (osx_entry): New function.
22185 Generate entries for 64-bit boot too.
22186
22187 Eliminate ad-hoc tree format in XNU and EfiEmu.
22188
22189 * efiemu/main.c (grub_efiemu_prepare): Update comment.
22190 * efiemu/pnvram.c: Rewritten to use environment variables.
22191 All users updated.
22192
22193 Inline utf16_to_utf8.
22194
22195 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
22196 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
22197 All users updated.
22198 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
22199
22200 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
22201 * commands/usbtest.c (grub_usb_get_string): ... move here.
22202 (usb_print_str): Fix error handling.
22203 * include/grub/usb.h (grub_usb_get_string): Remove.
22204
22205 UTF-8 to UTF-16 transformation.
22206
22207 * conf/common.rmk (pkglib_MODULES): Add charset.mod
22208 (charset_mod_SOURCES): New variable.
22209 (charset_mod_CFLAGS): Likewise.
22210 (charset_mod_LDFLAGS): Likewise.
22211 * include/grub/utf.h: New file.
22212 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
22213
22214 Support for device properties.
22215
22216 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
22217 (grub_xnu_devprop_device_header): Likewise.
22218 (grub_xnu_devprop_device_descriptor): Likewise.
22219 (grub_xnu_devprop_add_device): New prototype.
22220 (grub_xnu_devprop_remove_device): Likewise.
22221 (grub_xnu_devprop_remove_property): Likewise.
22222 (grub_xnu_devprop_add_property_utf8): Likewise.
22223 (grub_xnu_devprop_add_property_utf16): Likewise.
22224 (grub_cpu_xnu_init): Likewise.
22225 (grub_cpu_xnu_fini): Likewise.
22226 (grub_cpu_xnu_unload): Likewise.
22227 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
22228 (property_descriptor): Likewise.
22229 (devices): New variable.
22230 (grub_xnu_devprop_remove_property): New function.
22231 (grub_xnu_devprop_add_device): Likewise.
22232 (grub_xnu_devprop_remove_device): Likewise.
22233 (grub_xnu_devprop_add_property): Likewise.
22234 (grub_xnu_devprop_add_property_utf8): Likewise.
22235 (grub_xnu_devprop_add_property_utf16): Likewise.
22236 (hextoval): Likewise.
22237 (grub_cpu_xnu_fill_devprop): Likewise.
22238 (grub_cmd_devprop_load): Likewise.
22239 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
22240 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
22241 (cmd_devprop_load): New variable.
22242 (grub_cpu_xnu_init): New function.
22243 (grub_cpu_xnu_fini): Likewise.
22244 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
22245 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
22246 (grub_cmd_xnu_devtree): Likewise.
22247 (hextoval): New function.
22248 (unescape): Likewise.
22249 (grub_xnu_fill_devicetree): Likewise.
22250
22251 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
22252 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
22253
0945f181
VS
222542009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22255
22256 Workaround for broken ATI VBE.
22257
22258 * video/i386/pc/vbe.c (last_set_mode): New variable.
22259 (grub_vbe_set_video_mode): Set 'last_set_mode'.
22260 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
22261 (grub_video_vbe_setup): Don't check for reserved flag.
22262
0ad46fd7 222632009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
22264
22265 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
22266 the `find' command.
22267
c179ebe4
VS
222682009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
22269
22270 UUID support for HFS.
22271
22272 * fs/hfs.c (grub_hfs_uuid): New function.
22273 (grub_hfs_fs): New value .uuid.
22274 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
22275
0ad46fd7 222762009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
22277
22278 Fix a segfault with parsing unknown long options.
22279
22280 * util/grub-mkrelpath.c (options): Zero terminate it.
22281
c4a3e41a
CPE
222822009-12-13 Carles Pina i Estany <carles@pina.cat>
22283
22284 * include/grub/misc.h (grub_puts): New declaration.
22285 (grub_puts_): Likewise.
a22008a6 22286 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
22287 (grub_puts_): Likewise.
22288
2e8a7602
RM
222892009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22290
22291 * util/grub-probe.c (probe): Improve error message.
22292
b50b77b9
RM
222932009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22294
22295 * loader/i386/multiboot_elfxx.c
22296 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22297 initialization.
22298
222992009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22300
22301 Relocator framework
22302
22303 * loader/i386/xnu_helper.S: Removed. All users updated.
22304 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
22305 (relocator_mod_SOURCES): New variable.
22306 (relocator_mod_CFLAGS): Likewise.
22307 (relocator_mod_LDFLAGS): Likewise.
22308 (relocator_mod_ASFLAGS): Likewise.
22309 * conf/x86_64.rmk: Likewise.
22310 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
22311 (grub_multiboot_payload_entry_offset): Likewise.
22312 (grub_multiboot_forward_relocator): Likewise.
22313 (grub_multiboot_forward_relocator_end): Likewise.
22314 (grub_multiboot_backward_relocator): Likewise.
22315 (grub_multiboot_backward_relocator_end): Likewise.
22316 (grub_multiboot_payload_eip): New variable.
22317 (grub_multiboot_payload_orig): Likewise.
22318 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
22319 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
22320 * include/grub/i386/memory.h
22321 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
22322 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
22323 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
22324 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
22325 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
22326 * include/grub/i386/relocator.h: New file.
22327 * include/grub/x86_64/relocator.h: Likewise.
22328 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
22329 (XNU_RELOCATOR): New macro.
22330 (grub_xnu_launcher_start): Remove.
22331 (grub_xnu_launcher_end): Likewise.
22332 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
22333 (grub_xnu_heap_real_start): Remove.
22334 (grub_xnu_heap_start): Change to void *. All users updated.
22335 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
22336 * lib/i386/relocator.c: New file.
22337 * lib/i386/relocator_asm.S: Likewise.
22338 * lib/i386/relocator_backward.S: Likewise.
22339 * lib/mips/relocator.c: Likewise.
22340 * lib/mips/relocator_asm.S: Likewise.
22341 * lib/relocator.c: Likewise.
22342 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
22343 (entry): Removed.
22344 (playground): Likewise.
22345 (grub_multiboot_payload_orig): New variable.
22346 (grub_multiboot_payload_dest): Likewise.
22347 (grub_multiboot_payload_size): Likewise.
22348 (grub_multiboot_payload_eip): Likewise.
22349 (grub_multiboot_payload_esp): Likewise.
22350 (grub_multiboot_boot): Use grub_relocator32_boot.
22351 (grub_multiboot_unload): Free relocators.
22352 (grub_multiboot): Setup stack. Use relocators.
22353 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
22354 (grub_multiboot_load_elfXX): Use relocators.
22355 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
22356 (grub_multiboot_payload_size): Likewise.
22357 (grub_multiboot_payload_dest): Likewise.
22358 (grub_multiboot_payload_entry_offset): Likewise.
22359 (grub_multiboot_forward_relocator): Likewise.
22360 (grub_multiboot_backward_relocator): Likewise.
22361 (grub_multiboot_real_boot): Likewise.
22362 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
22363 (grub_xnu_entry_point): Likewise.
22364 (grub_xnu_arg1): Likewise.
22365 (grub_xnu_stack): Likewise.
22366 (grub_xnu_launch): Removed.
22367 (grub_xnu_boot_resume): New function.
22368 (grub_xnu_boot): Use relocators.
22369 * loader/i386/xnu_helper.S: Removed.
22370 * loader/xnu.c (grub_xnu_heap_start): New variable.
22371 (grub_xnu_heap_size): Likewise.
22372 (grub_xnu_heap_malloc): Use relocators.
22373 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
22374
29eb90c6
VS
223752009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22376
22377 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
22378 anything.
22379
31027430
CPE
223802009-12-13 Carles Pina i Estany <carles@pina.cat>
22381
22382 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
22383 GRUB_ERR_NONE before calling grub_env_set.
22384
dc0c71d9
RM
223852009-12-12 Robert Millan <rmh@aybabtu.com>
22386
22387 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
22388 * genmk.rb (video): New variable.
22389 (CLEANFILES, VIDEOFILES): Add #{video}.
22390 (#{video}): New target rule.
22391 * genvideolist.sh: New file.
22392 * Makefile.in (pkglib_DATA): Add video.lst.
22393 (video.lst): New target rule.
22394 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
22395 `video.lst'.
22396 * util/grub.d/30_os-prober.in: Replace `vbe' with
22397 ${GRUB_VIDEO_BACKEND}.
22398
2a4bfcf0
RM
223992009-12-11 Robert Millan <rmh.grub@aybabtu.com>
22400
22401 * THANKS: Add David Miller.
22402
2a3aa4d5
RM
224032009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
22404
22405 libpciaccess support.
22406
22407 * Makefile.in (LIBPCIACCESS): New variable.
22408 (enable_grub_emu_pci): Likewise.
22409 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
22410 util/pci.c and commands/lspci.c.
22411 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
22412 * configure.ac (grub-emu-pci): New option.
22413 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
22414 (grub_pci_device_unmap_range): Likewise.
22415 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
22416 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
22417 (grub_pci_address_t) [!GRUB_UTIL]: New type.
22418 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
22419 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
22420 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
22421 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
22422 * include/grub/pciutils.h: New file.
22423 * util/pci.c: Likewise.
22424
0ad46fd7 224252009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
22426
22427 * util/misc.c: Don't include <errno.h> twice.
22428
0ad46fd7 224292009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
22430
22431 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
22432 name in an error message.
22433 (grub_biosdisk_rw): Likewise.
22434
2e59983c
VS
224352009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22436
22437 Eliminate NTFS 4Gib barrier.
22438
22439 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
22440 (read_run_data): Likewise.
22441 (grub_ntfs_read_run_list): Likewise.
22442 (grub_ntfs_read_block): Likewise.
22443 (grub_ntfs_iterate_dir): Likewise.
22444 (read_mft): Likewise.
22445 (read_data): Likewise.
22446 Use COM_LOG_LEN.
22447 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
22448 to avoid 64-bit division
22449 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
22450 (grub_ntfs_rlst): Use grub_disk_addr_t.
22451
71ee178a
VS
224522009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22453
22454 Eliminate grub-fstest 4Gib barrier.
22455
22456 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
22457 (read_file): Fix error reporting.
22458
2520d4b8
VS
224592009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22460
22461 Eliminate hexdump 4Gib barrier.
22462
22463 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
22464 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
22465
e1f27065
VS
224662009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22467
22468 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
22469 Fixes amarsh bug.
22470
1a0f7f45
RM
224712009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
22472
22473 Remove miscellaneous files in distclean target.
22474
22475 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
22476
c631d9fb
CW
224772009-12-09 Colin Watson <cjwatson@ubuntu.com>
22478
22479 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
22480 if they're already set. This resolves the conflict between my
22481 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
22482 fixing the --grub-probe option again.
22483 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
22484 change on 2009-10-06, so that we now once again source
22485 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22486
7c7b6106
RM
224872009-12-08 Robert Millan <rmh.grub@aybabtu.com>
22488
22489 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
22490 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
22491 `util/devicemap.c'.
22492
e3069ec1
CPE
224932009-12-08 Carles Pina i Estany <carles@pina.cat>
22494
22495 * include/grub/misc.h (grub_printf_): New declaration.
22496 * kern/misc.c (grub_printf_): New definition.
22497 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
22498 instead of `grub_printf' and `_'.
22499 * normal/menu_entry.c (store_completion): Likewise.
22500 (run): Likewise.
22501 (grub_menu_entry_run): Likewise.
22502 * normal/menu_text.c (grub_wait_after_message): Likewise.
22503 (notify_booting): Likewise.
22504 (notify_fallback): Likewise.
22505 (notify_execution_failure): Likewise.
22506
d6ceebf1
CW
225072009-12-07 Colin Watson <cjwatson@ubuntu.com>
22508
22509 * configure.ac: Check for vasprintf.
22510 * util/misc.c (asprintf): Move allocation from here ...
22511 (vasprintf): ... to here. New function.
22512 (xasprintf): New function.
22513 * include/grub/util/misc.h (vasprintf, xasprintf): Add
22514 prototypes.
22515 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22516 * util/grub-mkfont.c (write_font): Likewise.
22517 * util/grub-probe.c (probe): Likewise.
22518 * util/hostdisk.c (make_device_name): Likewise.
22519
de6daa8b
DM
225202009-12-06 David S. Miller <davem@sunset.davemloft.net>
22521
22522 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
22523 anything even prefixed with 'cdrom' as a cdrom.
22524
0ad46fd7 225252009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
22526
22527 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
22528 mount points.
22529
98d3dc02
CPE
225302009-12-05 Carles Pina i Estany <carles@pina.cat>
22531
22532 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
22533 grub_gettext_msg_list.
22534 (grub_gettext_gettranslation_from_position): Return const char *
22535 and not char *.
a2c1332b 22536 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
22537 returns from the list if existing there.
22538 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
22539 (grub_gettext_delete_list): Delete the list.
22540 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
22541 lang environment variable is changed.
22542 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
22543
b283f108
VS
225442009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22545
22546 Rename kernel.mod to kernel.img.
22547
22548 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
22549 (kernel_mod_EXPORTS): Rename to ...
22550 (kernel_img_EXPORTS): ... this.
22551 (kernel_mod_SOURCES): Rename to ...
22552 (kernel_img_SOURCES): ... this.
22553 (kernel_mod_HEADERS): Rename to ...
22554 (kernel_img_HEADERS): ... this. All users updated.
22555 (kernel_mod_CFLAGS): Rename to ...
22556 (kernel_img_CFLAGS): ... this.
22557 (kernel_mod_ASFLAGS): Rename to ...
22558 (kernel_img_ASFLAGS): ... this.
22559 (kernel_mod_LDFLAGS): Rename to ...
22560 (kernel_img_LDFLAGS): ... this.
22561 * conf/x86_64-efi.rmk: Likewise.
22562 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
22563 (read_kernel_image): ... this. All users updated.
22564 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
22565
69055f8a
CPE
225662009-12-05 Carles Pina i Estany <carles@pina.cat>
22567
22568 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
22569 (print_spaces): New function.
22570 (grub_print_ucs4): New function.
22571 (getstringwidth): New function.
22572 (print_message_indented): New function.
22573 (print_message): Gettexttize strings using print_message_indented.
22574 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
22575 width.
22576 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 22577 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
22578 Gettextize.
22579 * normal/menu_entry.c (store_completion): Cleanup the gettextized
22580 string.
22581 (run): Likewise.
22582 (grub_menu_entry_run): Likewise.
22583 * PO/POTFILES: Add normal/menu_entry.c.
22584
f616f51c
VS
225852009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22586
22587 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
22588
57bbe3be
CPE
225892009-12-05 Carles Pina i Estany <carles@pina.cat>
22590
22591 * util/grub-install.in: Install gettext .mo files.
22592 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
22593
013d67a1
CPE
225942009-12-05 Carles Pina i Estany <carles@pina.cat>
22595
22596 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
22597 grub_dprintf.
22598
fb954db0
RM
225992009-12-05 Robert Millan <rmh.grub@aybabtu.com>
22600
22601 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
22602 non-firmware-dependant one in realmode.S takes precedence.
22603
6b8474f8
RM
226042009-12-04 Robert Millan <rmh.grub@aybabtu.com>
22605
22606 * commands/halt.c: Replace misc arch-specific headers with
22607 `<grub/misc.h>'.
22608 * commands/reboot.c: Likewise.
22609 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
22610 `<grub/misc.h>'.
22611 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
22612 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
22613 (kernel_img_SOURCES): ... to here.
22614
22615 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
22616 * include/grub/i386/pc/init.h: Likewise.
22617 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22618 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22619
22620 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
22621
22622 * include/grub/i386/halt.h: Remove.
22623 * include/grub/i386/reboot.h: Likewise.
22624
22625 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
22626
4b2e6ca2
DM
226272009-12-03 David S. Miller <davem@sunset.davemloft.net>
22628
22629 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
22630 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
22631 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
22632 "progname.h"
22633 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22634 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22635 (usage): Add missing comma in printf.
22636
5239348f
RM
226372009-12-02 Robert Millan <rmh.grub@aybabtu.com>
22638
22639 Use the same reboot approach on i386 coreboot and qemu as we do on
22640 BIOS.
22641
22642 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
22643 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
22644 * kern/i386/reboot.c: Remove.
22645 * include/grub/i386/reboot.h (grub_reboot): Export function.
22646 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
22647 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
22648 0xf000:0xfff0 instead of 0xffff:0x0000.
22649 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
22650 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
22651
ef34cbd4
RM
226522009-11-30 Robert Millan <rmh.grub@aybabtu.com>
22653
22654 Fix $srcdir != $objdir build.
22655
22656 * Makefile.in (po/%.po): Rewrite as ...
22657 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
22658
dc9837ea
ST
226592009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
22660
22661 Fix GNU/Hurd grub-install crash.
22662 * util/grub-probe.c (probe): Try to access `path' only when it is not
22663 NULL.
22664
2f857f98
VS
226652009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22666
22667 Correct module naming.
22668
22669 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22670 (GRUB_MOD_INIT(efi_uga)): ... to this
22671 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22672 (GRUB_MOD_FINI(efi_uga)): ... to this
22673 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22674 (GRUB_MOD_INIT(efi_gop)): ... to this
22675 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22676 (GRUB_MOD_FINI(efi_gop)): ... to this
22677
c5448046
RM
226782009-11-28 Robert Millan <rmh.grub@aybabtu.com>
22679
22680 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
22681 translatable.
22682 (usage): Translate `arg' strings using gettext().
22683 Thanks to Jordi Mallach for the suggestion.
22684
c85184ad
VS
226852009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22686
22687 GOP support. Based on patch from Bean
22688 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22689
22690 * video/efi_gop.c: New file.
22691 * include/grub/efi/graphics_output.h: Likewise.
22692 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
22693 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22694 variables.
22695 * conf/x86_64-efi.rmk: Likewise.
22696
8a4c48d8
VS
226972009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22698
22699 Rename efi_fb to efi_uga.
22700
22701 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22702 'efi_uga.mod'.
22703 (efi_fb_mod_SOURCES): Rename this ...
22704 (efi_uga_mod_SOURCES): ... to this.
22705 (efi_fb_mod_CFLAGS): Rename this ...
22706 (efi_uga_mod_CFLAGS): ... to this.
22707 (efi_fb_mod_LDFLAGS): Rename this ...
22708 (efi_uga_mod_LDFLAGS): ... to this.
22709 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22710 'efi_uga.mod'.
22711 (efi_fb_mod_SOURCES): Rename this ...
22712 (efi_uga_mod_SOURCES): ... to this.
22713 (efi_fb_mod_CFLAGS): Rename this ...
22714 (efi_uga_mod_CFLAGS): ... to this.
22715 (efi_fb_mod_LDFLAGS): Rename this ...
22716 (efi_uga_mod_LDFLAGS): ... to this.
22717 * video/efi_fb.c: Move this ...
22718 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
22719
fb6c1a7b
RM
227202009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22721
22722 * po/README: New file. Explain our PO file workflow.
22723
3bc7896c
RM
227242009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22725
22726 * po/ChangeLog: Remove. Move relevant entries back to ...
22727 * ChangeLog: ... here.
22728 * po/ca.po: Remove (now handled by TLP).
22729 * po/id.po: Likewise.
22730 * po/zh_CN.po: Likewise.
22731 * Makefile.in (LINGUAS): Initialize in a way that supports
22732 empty set.
22733
9ed4841d
RM
227342009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22735
22736 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
22737 reliing on po/LINGUAS.
22738 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
22739 (po/%.po): ... this.
22740
0ad46fd7 227412009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
22742
22743 * util/i386/efi/grub-mkimage.c: Include "progname.h".
22744 (main): Use `program_name' instead of nonexistent `progname'.
22745
e30dd392
FZ
227462009-11-26 Felix Zielcke <fzielcke@z-51.de>
22747
22748 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22749 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
22750
7656de4f
RM
227512009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22752
22753 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
22754 commit.
22755 * conf/i386-efi.rmk: Likewise.
22756 * conf/i386-ieee1275.rmk: Likewise.
22757 * conf/powerpc-ieee1275.rmk: Likewise.
22758 * conf/sparc64-ieee1275.rmk: Likewise.
22759 * conf/x86_64-efi.rmk: Likewise.
22760
db77c4d4
FZ
227612009-11-26 Felix Zielcke <fzielcke@z-51.de>
22762
22763 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
22764
a755bb04
FZ
227652009-11-26 Felix Zielcke <fzielcke@z-51.de>
22766
22767 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
22768
8a4c07fd
RM
227692009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22770
22771 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
22772 (grub_mkdevicemap_SOURCES): New variable.
22773 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
22774 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
22775 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
22776 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
22777 (grub_mkdevicemap_SOURCES): Remove.
22778 * conf/i386-efi.rmk: Likewise.
22779 * conf/i386-ieee1275.rmk: Likewise.
22780 * conf/i386-pc.rmk: Likewise.
22781 * conf/powerpc-ieee1275.rmk: Likewise.
22782 * conf/sparc64-ieee1275.rmk: Likewise.
22783 * conf/x86_64-efi.rmk: Likewise.
22784 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
22785 (usage): Fix strings to use `program_name'.
22786 (main): Initialize gettext.
22787 * util/grub-editenv.c: Likewise.
22788 * util/grub-emu.c: Likewise.
22789 * util/grub-fstest.c: Likewise.
22790 * util/grub-mkdevicemap.c: Likewise.
22791 * util/grub-mkfont.c: Likewise.
22792 * util/grub-mkrelpath.c: Likewise.
22793 * util/grub-pe2elf.c: Likewise.
22794 * util/grub-probe.c: Likewise.
22795 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22796 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22797 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22798
22799 * util/misc.c: Include `"progname.h"'.
22800 (progname): Remove variable.
22801 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
22802
6f61ed55
FZ
228032009-11-25 Felix Zielcke <fzielcke@z-51.de>
22804
22805 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
22806 printf and print a newline after the menuentry header line.
22807 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22808
f022876b
FZ
228092009-11-25 Felix Zielcke <fzielcke@z-51.de>
22810
22811 autoconf >= 2.60 support $(localedir).
22812
22813 * INSTALL: Note that autoconf 2.60 is required.
22814 * configure.ac (AC_PREREQ): Bump to 2.60.
22815 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
22816 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
22817
6717926e
YB
228182009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
22819
22820 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
22821 aclocal is run.
22822
08806a54
RM
228232009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22824
22825 * normal/main.c (grub_normal_read_line): Fix off-by-one
22826 buffer overflow.
22827
13b33fba
RM
228282009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22829
22830 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
22831 "parser.grub" in grub_command_execute() call.
22832
4a8572e9
CPE
228332009-11-24 Carles Pina i Estany <carles@pina.cat>
22834
22835 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
22836 * conf/i386-efi.rmk: Likewise.
22837 * conf/i386-ieee1275.rmk: Likewise.
22838 * conf/i386-pc.rmk: Likewise.
22839 * conf/powerpc-ieee1275.rmk: Likewise.
22840 * conf/sparc64-ieee1275.rmk: Likewise.
22841 * conf/x86_64-efi.rmk: Likewise.
22842 * gettext/gettex.c: Include <grub/i18n.h>.
22843 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
22844 here ...
22845 * include/grub/i18n.h: ... to here
22846 * include/grub/i18n.h: ... to here.
22847 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 22848 (grub_gettext_dummy): Move above user.
4a8572e9 22849
bee48093
FZ
228502009-11-24 Felix Zielcke <fzielcke@z-51.de>
22851
22852 * util/Makefile.in (install-local): Convert a `for' into a normal
22853 shell expansion.
22854
a031e91c
RM
228552009-11-24 Robert Millan <rmh.grub@aybabtu.com>
22856
22857 * autogen.sh: Add automake call.
22858 * config.guess: Remove.
22859 * config.sub: Likewise.
22860 * install-sh: Likewise.
22861
26bec39d
FZ
228622009-11-24 Felix Zielcke <fzielcke@z-51.de>
22863
22864 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
22865
8e2532fd
FZ
228662009-11-24 Felix Zielcke <fzielcke@z-51.de>
22867
22868 * util/Makefile.in (install-local): Convert a make `$(foreach)'
22869 function to a normal shell `for'.
22870
fefa1b7d
FZ
228712009-11-24 Felix Zielcke <fzielcke@z-51.de>
22872
22873 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22874
4501250b
FZ
228752009-11-24 Felix Zielcke <fzielcke@z-51.de>
22876
22877 * util/grub-mkrelpath.c: New file.
22878 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
22879 (grub_mkrelpath_SOURCES): New variable.
22880 * include/grub/util/misc.h: New function prototype.
22881 * util/misc.c (make_system_path_relative_to_its_root): New function.
22882
22883 * util/grub-mkconfig_lib.in (bindir): New variable.
22884 (grub_mkrelpath): Likewise.
22885 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
22886
22887 * util/probe.c (probe): Make the file path relative to its root.
22888 Change a info message to use the GRUB path. Enable again the
22889 check if we can read the file with GRUB facilities.
22890
22891 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
22892 to its root.
22893
11d9778b
FZ
228942009-11-24 Felix Zielcke <fzielcke@z-51.de>
22895
22896 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
22897 platform.
22898
4465287d
FZ
228992009-11-24 Felix Zielcke <fzielcke@z-51.de>
22900
22901 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
22902 strncmp().
22903
62b47f22
FZ
229042009-11-24 Felix Zielcke <fzielcke@z-51.de>
22905
22906 * util/getroot.c (grub_util_is_dmraid): New function.
22907 (grub_util_get_dev_abstraction): Treat dmraid and multipath
22908 devices as normal ones, not as LVM.
22909
1eafb9b9 229102009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
22911
22912 * conf/common.rmk: Add grub-gettext_lib target and updates
22913 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
22914 LDFLAGS.
22915 * gettext/gettext.c: New file. (Reads mo files).
22916 * include/grub/file.h (grub_file_pread): New prototype.
22917 * include/grub/i18n.h (_): New prototype.
22918 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
22919 prototypes.
22920 * kern/misc.c (grub_gettext_dummy): New function.
22921 * normal/menu_text.c: Include <grub/i18n.h>.
22922 * normal/menu_text.c (print_timeout): Gettexttize string.
22923 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
22924 * po/POTFILES: Add `normal/menu_text.c'.
22925 * po/ca.po: Add new translations.
c3ea6bd4
CPE
22926 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
22927 gettext module and defines locale_dir and lang in grub.cfg.
22928 * NEWS: Add gettext support.
22929
0fdb2568
RM
229302009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22931
22932 * util/hostdisk.c: Include `<grub/i18n.h>'.
22933 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
22934 (make_device_name): Rewrite using asprintf.
22935 (convert_system_partition_to_system_disk): Replace 0 with NULL.
22936 (find_system_device): If a device is not found, generate one just
22937 by reusing the OS path name.
22938 (read_device_map): Make it permissible for device.map not to exist.
22939
f515aa62
RM
229402009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22941
22942 * script/sh/execute.c: Move from here ...
22943 * script/execute.c: ... to here. Update all users.
22944 * script/sh/function.c: Move from here ...
22945 * script/function.c: ... to here. Update all users.
22946 * script/sh/lexer.c: Move from here ...
22947 * script/lexer.c: ... to here. Update all users.
22948 * script/sh/main.c: Move from here ...
22949 * script/main.c: ... to here. Update all users.
22950 * script/sh/parser.y: Move from here ...
22951 * script/parser.y: ... to here. Update all users.
22952 * script/sh/script.c: Move from here ...
22953 * script/script.c: ... to here. Update all users.
22954
f84b481b
RM
229552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22956
22957 * configure.ac: Detect all `emu' platforms. Define
22958 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
22959 --enable-grub-emu logic. Disable include/grub/machine
22960 symlink on `emu' platforms.
22961
22962 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
22963 * gensymlist.sh.in: Likewise.
22964
22965 * include/grub/i386/coreboot/machine.h: Remove file.
22966 * include/grub/i386/efi/machine.h: Likewise.
22967 * include/grub/i386/ieee1275/machine.h: Likewise.
22968 * include/grub/i386/pc/machine.h: Likewise.
22969 * include/grub/i386/qemu/machine.h: Likewise.
22970 * include/grub/powerpc/ieee1275/machine.h: Likewise.
22971 * include/grub/sparc64/ieee1275/machine.h: Likewise.
22972 * include/grub/x86_64/efi/machine.h: Likewise.
22973
22974 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
22975 * commands/halt.c: Likewise.
22976 * commands/reboot.c: Likewise.
22977 * include/grub/autoefi.h: Likewise.
22978 * include/grub/i386/at_keyboard.h: Likewise.
22979 * include/grub/i386/kernel.h: Likewise.
22980 * include/grub/i386/loader.h: Likewise.
22981 * include/grub/i386/pc/memory.h: Likewise.
22982 * kern/dl.c: Likewise.
22983 * kern/i386/coreboot/init.c: Likewise.
22984 * loader/i386/bsd.c: Likewise.
22985 * loader/i386/linux.c: Likewise.
22986 * loader/multiboot_loader.c: Likewise.
22987 * term/i386/pc/serial.c: Likewise.
22988 * term/usb_keyboard.c: Likewise.
22989
22990 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
22991 `<grub/machine/machine.h>'
22992 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
22993 * util/misc.c: Remove `<grub/machine/machine.h>' and
22994 `<grub/machine/time.h>'.
22995
22996 * Makefile.in (enable_grub_emu): Remove variable.
22997 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
22998
22999 * conf/any-emu.rmk: New file.
23000 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
23001 (grub_emu_init.c): Move from here ...
23002 * conf/any-emu.rmk: ... to here.
23003
23004 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
23005 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
23006 * conf/any-emu.rmk: ... to here.
23007
4efeab03
RM
230082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23009
23010 * include/grub/parser.h (grub_parser_register): Document need
23011 of `name' parameter.
23012 * normal/main.c (grub_normal_read_line): Simplify prompt string.
23013 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
23014 "sh" to "grub".
23015
ea1dd8bf
RM
230162009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23017
23018 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
23019 `$(XGETTEXT)'.
23020 * include/grub/i18n.h (N_): New macro.
23021 * util/mkisofs/mkisofs.h: Likewise.
23022 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
23023 around N_().
23024 (usage): Use gettext() to translate help strings when printing them.
23025
0c140626
RM
230262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23027
23028 Based on patch from Bean
23029 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23030
23031 * video/efi_fb.c: New file.
23032 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
23033 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23034 variables.
23035 * conf/x86_64-efi.rmk: Likewise.
23036
87d58298
RM
230372009-11-22 Robert Millan <rmh.grub@aybabtu.com>
23038
23039 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
23040 * util/i386/pc/grub-setup.c: Likewise.
23041
994cc3a3
ST
230422009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23043
23044 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
23045 <hurd/fs.h>
23046 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
23047 file_get_storage_info to implement grub_guess_root_device.
23048
26a61d6a
FZ
230492009-11-21 Felix Zielcke <fzielcke@z-51.de>
23050
23051 * Makefile.in (target): Use make's builtin $(shell) function
23052 instead of calling directly $(SHELL) to create the locale directories,
23053 inside the $(foreach) function.
23054
74ff1dd5
FZ
230552009-11-21 Felix Zielcke <fzielcke@z-51.de>
23056
23057 * util/grub-mkrescue.in: Print an error and usage if output option
23058 has not been given.
23059
0b787d0e
FZ
230602009-11-21 Felix Zielcke <fzielcke@z-51.de>
23061
23062 Patch from Loïc Minier <loic.minier@ubuntu.com>.
23063 * util/grub.d/30_os-prober.in: Cope with Linux entries where
23064 root and /boot are on different devices.
23065
1164b270
RM
230662009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23067
23068 Fix build for srcdir != objdir.
23069
23070 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
23071 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
23072 $(srcdir).
23073 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
23074 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
23075 reference for input.
23076
13774a2f
RM
230772009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23078
23079 * util/grub-mkrescue.in: Use source directory direcly (without copiing
23080 or hardlinking it). Remove -J option, Joliet is not compatible with
23081 multiple source directories.
23082
efda854e
RM
230832009-11-21 Carles Pina i Estany <carles@pina.cat>
230842009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23085
23086 * util/grub-mkrescue.in: Recognize `--override-directory' option.
23087 (process_input_dir): New function. Process an arbitrary input
23088 directory.
23089 Misc adjustments to support both "override mode" and system-wide mode.
23090
6c09890c
FZ
230912009-11-20 Felix Zielcke <fzielcke@z-51.de>
23092
23093 * configure.ac (UNIFONT_BDF): Rename to ...
23094 (FONT_SOURCE): ... this. Update all users.
23095
a797824f
FZ
230962009-11-20 Felix Zielcke <fzielcke@z-51.de>
23097
23098 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
23099 to the list of unifont files to look for.
23100
cd4f42b0
RM
231012009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23102
23103 Patch from Joe Auricchio <jauricchio@gmail.com>
23104 * commands/minicmd.c (grub_mini_cmd_clear): New function.
23105 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
23106 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
23107
393c783d
FZ
231082009-11-19 Felix Zielcke <fzielcke@z-51.de>
23109
23110 * Makefile.in (install-local): Add a missing backslash.
23111
b2f1e327
FZ
231122009-11-19 Felix Zielcke <fzielcke@z-51.de>
23113
23114 * include/grub/x86_64/io.h: New file.
23115
f577f7a0
RM
231162009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23117
23118 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23119 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23120 Include `"progname.h"'.
23121 (main): Initialize gettext.
23122 * util/i386/pc/grub-setup.c: Gettexttize.
23123 * util/i386/pc/grub-mkimage.c: Likewise.
23124
23125 * Makefile.in (po/*.po): Redefine as ...
23126 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23127
3bc7896c
RM
23128 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23129
c37943b6
RM
231302009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23131
23132 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23133 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23134 (program_name): Remove.
23135 (main): Initialize gettext support.
6323f705
RM
23136 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23137 Include `<libintl.h>'.
23138 (_): New macro.
c37943b6
RM
23139
23140 * util/mkisofs/eltorito.c: Gettexttize.
23141 * util/mkisofs/joliet.c: Likewise.
23142 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
23143 * util/mkisofs/multi.c: Likewise.
23144 * util/mkisofs/rock.c: Likewise.
23145 * util/mkisofs/tree.c: Likewise.
23146 * util/mkisofs/write.c: Likewise.
23147
3bc7896c
RM
23148 * po/POTFILES: Update with new files.
23149
5ce77c6e
RM
231502009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23151
23152 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23153 * util/mkisofs/iso9660.h: Likewise.
23154 * util/mkisofs/joliet.c: Likewise.
23155 * util/mkisofs/mkisofs.c: Likewise.
23156 * util/mkisofs/mkisofs.h: Likewise.
23157 * util/mkisofs/rock.c: Likewise.
23158 * util/mkisofs/tree.c: Likewise.
23159 * util/mkisofs/write.c: Likewise.
23160
23161 * util/mkisofs/eltorito.c (rcsid): Remove.
23162 * util/mkisofs/hash.c: Likewise.
23163 * util/mkisofs/joliet.c: Likewise.
23164 * util/mkisofs/name.c: Likewise.
23165 * util/mkisofs/rock.c: Likewise.
23166 * util/mkisofs/tree.c: Likewise.
23167 * util/mkisofs/write.c: Likewise.
23168
1dabbc77
RM
231692009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23170
23171 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23172 instead of static allocation.
23173 * util/mkisofs/match.h: Likewise.
23174
633877cb
RM
231752009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23176
3bc7896c
RM
23177 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
23178 and `util/grub.d/10_linux.in'.
633877cb
RM
23179 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
23180 translatable Shell files.
23181
af1c0c85
RM
231822009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23183
23184 * Makefile.in ($(srcdir)/aclocal.m4): New target.
23185
769ae37b
RM
231862009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23187
23188 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 23189 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
23190 * util/grub.d/10_kfreebsd.in (bindir): New variable.
23191 Add gettext initialization.
23192 (kfreebsd_entry): Make menuentry output translatable.
23193
231942009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23195
23196 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
23197 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
23198 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
23199 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
23200 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 23201 * po/LINGUAS: New file.
769ae37b
RM
23202
232032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23204
23205 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
23206 other things).
23207 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
23208 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
23209 bindtextdomain() calls for gettext initialization.
23210
232112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23212
23213 * gnulib/progname.c: New file (imported from Gnulib).
23214 * gnulib/progname.h: Likewise.
23215 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23216 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
23217 (usage): Replace `progname' with `program_name'.
23218 (main): Use set_program_name() for program name initialization.
23219
232202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23221
23222 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
23223 from here ...
23224 * Makefile.in (CPPFLAGS): ... to here.
23225
232262009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23227
23228 * aclocal.m4: Move from here ...
23229 * acinclude.m4: ... to here.
23230 * autogen.sh: Add call to `aclocal'.
23231 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
23232
232332009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23234
23235 * Makefile.in (CLEANFILES): Add `po/*.mo'.
23236 (LINGUAS): New variable.
23237 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
23238 (install-local): Install MO files.
23239 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
23240 * include/grub/i18n.h: New file.
3bc7896c
RM
23241 * po/POTFILES: New file.
23242 * po/ca.po: New file.
769ae37b
RM
23243 * util/grub.d/10_linux.in (bindir): New variable.
23244 Add gettext initialization.
23245 (linux_entry): Make menuentry output translatable.
23246 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
23247 (usage): Make --help output translatable.
23248 (main): Initialize gettext.
23249
02c0a6ad
RM
232502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23251
23252 * import_gcry.py: New file (written by Vladimir with minor
23253 adjustments).
23254 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
23255 ciphers.
23256 * INSTALL: Document that Python is required for bootstrap.
23257
232582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23259
23260 Import ciphers from libgcrypt 1.4.4.
23261
23262 * lib/libgcrypt/cipher/ChangeLog
23263 * lib/libgcrypt/cipher/ac.c
23264 * lib/libgcrypt/cipher/arcfour.c
23265 * lib/libgcrypt/cipher/bithelp.h
23266 * lib/libgcrypt/cipher/blowfish.c
23267 * lib/libgcrypt/cipher/camellia-glue.c
23268 * lib/libgcrypt/cipher/camellia.c
23269 * lib/libgcrypt/cipher/camellia.h
23270 * lib/libgcrypt/cipher/cast5.c
23271 * lib/libgcrypt/cipher/cipher.c
23272 * lib/libgcrypt/cipher/crc.c
23273 * lib/libgcrypt/cipher/des.c
23274 * lib/libgcrypt/cipher/dsa.c
23275 * lib/libgcrypt/cipher/ecc.c
23276 * lib/libgcrypt/cipher/elgamal.c
23277 * lib/libgcrypt/cipher/hash-common.c
23278 * lib/libgcrypt/cipher/hash-common.h
23279 * lib/libgcrypt/cipher/hmac-tests.c
23280 * lib/libgcrypt/cipher/md.c
23281 * lib/libgcrypt/cipher/md4.c
23282 * lib/libgcrypt/cipher/md5.c
23283 * lib/libgcrypt/cipher/primegen.c
23284 * lib/libgcrypt/cipher/pubkey.c
23285 * lib/libgcrypt/cipher/rfc2268.c
23286 * lib/libgcrypt/cipher/rijndael-tables.h
23287 * lib/libgcrypt/cipher/rijndael.c
23288 * lib/libgcrypt/cipher/rmd.h
23289 * lib/libgcrypt/cipher/rmd160.c
23290 * lib/libgcrypt/cipher/rsa.c
23291 * lib/libgcrypt/cipher/seed.c
23292 * lib/libgcrypt/cipher/serpent.c
23293 * lib/libgcrypt/cipher/sha1.c
23294 * lib/libgcrypt/cipher/sha256.c
23295 * lib/libgcrypt/cipher/sha512.c
23296 * lib/libgcrypt/cipher/tiger.c
23297 * lib/libgcrypt/cipher/twofish.c
23298 * lib/libgcrypt/cipher/whirlpool.c
23299
af2f93ac
RM
233002009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23301
23302 Fix build for systems without error().
23303
23304 * gnulib/error.c: New file (imported from Gnulib).
23305 * gnulib/error.h: Likewise.
23306 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
23307 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
23308 (this variable is now used by error()).
23309
73fb3dd5
FZ
233102009-11-16 Felix Zielcke <fzielcke@z-51.de>
23311
814f5e96
FZ
23312 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
23313 instead of relying that char is signed.
73fb3dd5 23314
a691ca33
VS
233152009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
23316
23317 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
23318 blocksize different from specified.
23319 (grub_pxefs_read): Likewise.
23320
2af8f0f4
FZ
233212009-11-16 Felix Zielcke <fzielcke@z-51.de>
23322
23323 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
23324
23325 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
23326 (grub_ata_readwrite): Likewise. Update 2 format strings.
23327 (grub_atapi_read): Likewise.
23328
23329 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
23330 * conf/i386.rmk (pkglib_MODULES): ... to here ...
23331 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
23332 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
23333 (ata_mod_LDFLAGS): Move from here ...
23334 * conf/i386.rmk: ... to here ...
23335 * conf/x86_64-efi.rmk: ... and here.
23336 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
23337 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
23338
83bdecaf
RM
233392009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23340
23341 Relicense multiboot.h, with RMS' blessing.
23342
23343 * include/multiboot.h: Change to X11 license.
23344
fd6fd3d7
RM
233452009-11-15 Robert Millan <rmh.grub@aybabtu.com>
23346
23347 Support --version in grub-mkisofs.
23348
23349 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
23350 (OPTION_VERSION): New macro.
23351 (ld_options): Recognize --version.
23352 (usage): Move `program_name' from here ...
23353 (program_name): ... to here. Add `static' qualifier.
23354 (main): Recognize `OPTION_VERSION'.
23355
16a88c49
FZ
233562009-11-15 Felix Zielcke <fzielcke@z-51.de>
23357
23358 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
23359 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
23360
a4158476
RM
233612009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23362
23363 Fix help2man generation for mkisofs.
23364
23365 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
23366 (usage): Send output to stdout (rather than stderr).
23367
fc2208b0
RM
233682009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23369
23370 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
23371 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23372 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
23373 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23374 (bin_SCRIPTS): Add `grub-mkfloppy'.
23375 (grub_mkfloppy_SOURCES): New variable.
23376
23377 * util/grub-mkrescue.in: New file.
23378 * util/i386/pc/grub-mkfloppy.in: New file.
23379
23380 * util/i386/coreboot/grub-mkrescue.in: Remove.
23381 * util/i386/pc/grub-mkrescue.in: Remove.
23382
8d0edf4a
RM
233832009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23384
23385 * include/grub/multiboot.h (struct grub_multiboot_header): Move
23386 from here ...
23387 * include/multiboot.h (struct multiboot_header): ... to here. Update
23388 all users.
23389 * include/grub/multiboot.h (struct grub_multiboot_info): Move
23390 from here ...
23391 * include/multiboot.h (struct multiboot_info): ... to here. Update
23392 all users.
23393 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
23394 from here ...
23395 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
23396 Update all users.
23397 * include/grub/multiboot.h (struct grub_mod_list): Move
23398 from here ...
23399 * include/multiboot.h (struct multiboot_mod_list): ... to here.
23400 Update all users.
23401
a73f5969
RM
234022009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23403
23404 * include/multiboot2.h (multiboot_word): Rename from this ...
23405 (multiboot2_word): ... to this. Update all users.
23406 (multiboot_header): Rename from this ...
23407 (multiboot2_header): ... to this. Update all users.
23408 (multiboot_tag_header): Rename from this ...
23409 (multiboot2_tag_header): ... to this. Update all users.
23410 (multiboot_tag_start): Rename from this ...
23411 (multiboot2_tag_start): ... to this. Update all users.
23412 (multiboot_tag_name): Rename from this ...
23413 (multiboot2_tag_name): ... to this. Update all users.
23414 (multiboot_tag_module): Rename from this ...
23415 (multiboot2_tag_module): ... to this. Update all users.
23416 (multiboot_tag_memory): Rename from this ...
23417 (multiboot2_tag_memory): ... to this. Update all users.
23418 (multiboot_tag_unused): Rename from this ...
23419 (multiboot2_tag_unused): ... to this. Update all users.
23420 (multiboot_tag_end): Rename from this ...
23421 (multiboot2_tag_end): ... to this. Update all users.
23422
1c8927f0
RM
234232009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23424
23425 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
23426 this platform we should support Multiboot1 first.
23427
23428 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23429 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
23430 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
23431
6e1e0d89
RM
234322009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23433
23434 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
23435 of write calls (converting them to fwrite() if they aren't already).
23436 (get_torito_desc): Likewise.
23437 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
23438
7f2b34d8
RM
234392009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23440
23441 * util/i386/pc/grub-install.in: Move from here ...
23442 * util/grub-install.in: ... to here. Update all users.
23443
c0ef3311
CW
234442009-11-11 Colin Watson <cjwatson@ubuntu.com>
23445
23446 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
23447
e1f240ff
RM
234482009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23449
23450 Support for El Torito without floppy emulation.
23451
23452 * util/mkisofs/eltorito.c: Include `<errno.h>'.
23453 (init_boot_catalog): Improve error handling.
23454 (get_torito_desc): Don't use floppy emulation unless requested by
23455 user. Patch boot information table when requested via
23456 `-boot-info-table'.
23457 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
23458 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
23459 (use_boot_info_table): New variables.
23460 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
23461 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
23462 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
23463 `--eltorito-emul-floppy'.
23464 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
23465 and `OPTION_ELTORITO_EMUL_FLOPPY'.
23466 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
23467 (use_boot_info_table, get_731): New prototypes.
23468 * util/mkisofs/write.c (get_731): New function.
23469
af7d4de5
FZ
234702009-11-11 Felix Zielcke <fzielcke@z-51.de>
23471
23472 Fix the generation of the man page.
23473
23474 * util/pc/i386/grub-install.in: Source
23475 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23476
2c55dbc0
RM
234772009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23478
23479 Large file support for grub-mkisofs.
23480
23481 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
23482 * util/mkisofs/mkisofs.c (next_extent, last_extent)
23483 (session_start): Upgrade type to `uint64_t'. Update all users.
23484 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
23485 (struct directory_entry): Upgrade type of `starting_block' and
23486 `size' to `uint64_t'. Update all users.
23487 (struct deferred): Remove unused structure.
23488 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
23489 Update all users.
23490 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
23491 file is larger than `UINT32_MAX'.
23492 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
23493 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
23494 return value.
23495 (struct deferred_write): Upgrade type of `extent' and `size' to
23496 `uint64_t'. Update all users.
23497 (last_extent_written): Upgrade type to `uint64_t'. Update all
23498 users.
23499 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
23500 Update all users. Upgrade type of `remain' to `int64_t' and
23501 `use' to `size_t'. Use error() to handle fread() errors.
23502 (write_files): Rely on write_one_file() rather than calling
23503 xfwrite() directly.
23504
6a9cead5
FZ
235052009-11-09 Felix Zielcke <fzielcke@z-51.de>
23506
23507 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
23508
4825d790
RM
235092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23510
23511 * util/mkisofs/fnmatch.c: Remove.
23512 * util/mkisofs/getopt1.c: Likewise.
23513 * util/mkisofs/getopt.c: Likewise.
23514 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
23515 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
23516 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
23517 `gnulib/getopt1.c' and `gnulib/getopt.c'.
23518 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
23519
23520 * configure.ac: Detect `mingw32msvc' host_os.
23521 Check for lstat(), getuid() and getgid().
23522
23523 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
23524 instances of `u_char' with `uint8_t'.
23525
23526 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
23527 [!HAVE_GETUID] (getuid): New function (stub).
23528 [!HAVE_GETGID] (getgid): Likewise.
23529 [!HAVE_LSTAT] (lstat): Likewise.
23530 [!S_IROTH] (S_IROTH): New macro (dummy).
23531 [!S_IRGRP] (S_IRGRP): Likewise.
23532
84b860d8
RM
235332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23534
23535 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
23536 conditional expression).
23537
66e9b712
RM
235382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23539
23540 Import from Gnulib.
23541
23542 * gnulib/fnmatch.c: New file.
23543 * gnulib/fnmatch.h: Likewise.
23544 * gnulib/fnmatch_loop.c: Likewise.
23545 * gnulib/getopt.c: Likewise.
23546 * gnulib/getopt.h: Likewise.
23547 * gnulib/getopt1.c: Likewise.
23548 * gnulib/getopt_int.h: Likewise.
23549 * gnulib/gettext.h: Likewise.
23550
34f4a5b0
RM
235512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23552
23553 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
23554 * normal/handler.c (read_handler_list): Likewise.
23555
ac451143
RM
235562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23557
23558 Misc cleanup.
23559
23560 * kern/command.c (grub_register_command_prio): Use
23561 grub_zalloc() instead of explicitly zeroing data.
23562 * kern/list.c: Include `<grub/mm.h>'.
23563 (grub_named_list_find): Replace `0' with `NULL'.
23564 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
23565 (fs_module_list): Change type to `grub_named_list_t'. Update all
23566 users.
23567 * normal/dyncmd.c (read_command_list): Add space between function
23568 call and parenthesis.
23569 * normal/handler.c (read_handler_list): Likewise.
23570
4089b167
RM
235712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23572
23573 * normal/auth.c (punishment_delay): Moved from here ...
23574 (grub_auth_strcmp): ... to here (inside function).
23575
325f5037
RM
235762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23577
23578 * include/grub/list.h (struct grub_named_list): Remove `const'
23579 qualifier from `name'.
23580 (struct grub_prio_list): Likewise.
23581
7aea29a3
RM
235822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23583
23584 * normal/auth.c: Include `<grub/time.h>'.
23585 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
23586
3fd6f044
RM
235872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23588
23589 * normal/auth.c (punishment_delay): New variable.
23590 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
23591 (grub_auth_check_authentication): Punish failed login attempts with
23592 an incremental (2^N) delay.
23593
a4cd68e4
RM
235942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23595
23596 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
23597 path with $(srcdir).
23598
7ad12f43
VS
235992009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23600
23601 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
23602
c1129f03
RM
236032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23604
23605 * util/i386/coreboot/grub-mkrescue.in: New file.
23606 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
23607 variables.
23608
23609 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
23610 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
23611 * configure.ac: Add header and function checks to satisfy grub-mkisofs
23612 requirements.
23613 * util/mkisofs/defaults.h: New file.
23614 * util/mkisofs/eltorito.c: Likewise.
23615 * util/mkisofs/exclude.h: Likewise.
23616 * util/mkisofs/fnmatch.c: Likewise.
23617 * util/mkisofs/getopt.c: Likewise.
23618 * util/mkisofs/getopt1.c: Likewise.
23619 * util/mkisofs/hash.c: Likewise.
23620 * util/mkisofs/include/fctldefs.h: Likewise.
23621 * util/mkisofs/include/mconfig.h: Likewise.
23622 * util/mkisofs/include/prototyp.h: Likewise.
23623 * util/mkisofs/include/statdefs.h: Likewise.
23624 * util/mkisofs/iso9660.h: Likewise.
23625 * util/mkisofs/joliet.c: Likewise.
23626 * util/mkisofs/match.c: Likewise.
23627 * util/mkisofs/match.h: Likewise.
23628 * util/mkisofs/mkisofs.c: Likewise.
23629 * util/mkisofs/mkisofs.h: Likewise.
23630 * util/mkisofs/multi.c: Likewise.
23631 * util/mkisofs/name.c: Likewise.
23632 * util/mkisofs/rock.c: Likewise.
23633 * util/mkisofs/tree.c: Likewise.
23634 * util/mkisofs/write.c: Likewise.
23635
ec8bb77d
VS
236362009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23637
23638 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
23639 being insecure.
23640
3716b12c
RM
236412009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23642
23643 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
23644 `grub-mkimage' (and use $0 when possible).
23645
b97b7b91
RM
236462009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23647
23648 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
23649 error message for excessively large memory map.
23650
04114812
RM
236512009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23652
23653 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
23654 executable bit.
23655
e4eb2373
RM
236562009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23657
23658 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
23659 message for coreboot users.
23660
c926e1d5 236612009-11-07 Robert Millan <rmh.grub@aybabtu.com>
23662
23663 Fix build with GNU gold.
23664
23665 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
23666 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
23667 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
23668 link addresses.
23669 * aclocal.m4: Likewise.
23670
86e5b1db 236712009-11-04 Felix Zielcke <fzielcke@z-51.de>
23672
23673 * configure.ac (AC_PREREQ): Bump to 2.59d.
23674 * INSTALL: Make it more clear when Autoconf and Ruby are
23675 needed and when to run `./autogen.sh'.
23676
246cd78f 236772009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
23678
23679 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
23680 OSes.
23681
4f9dfb37 236822009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23683
23684 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
23685
b82bd5e1 236862009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23687
23688 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
23689 giving it to GNU Mach.
23690
ff1a9bca 236912009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23692
23693 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
23694 GNU partition number to get internal GRUB partition number.
23695
61697d9c 236962009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23697
23698 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
23699 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
23700
a50569e1 237012009-11-01 Robert Millan <rmh.grub@aybabtu.com>
23702
23703 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
23704 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
23705 case.
23706
5b153867 237072009-11-01 Felix Zielcke <fzielcke@z-51.de>
23708
23709 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
23710
d9e2cd70 237112009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23712
23713 Fix build problem.
23714
23715 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
23716 `-isystem=$(srcdir)/include'.
23717
805111a4 237182009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23719
23720 * util/i386/pc/grub-install.in: Remove hint that device.map should be
23721 checked (grub-install doesn't currently rely on it).
23722
fa6e945f 237232009-10-29 Robert Millan <rmh.grub@aybabtu.com>
23724
23725 Revert SVN r2660.
23726
23727 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
23728 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23729 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
23730 * conf/i386-ieee1275.rmk: Likewise.
23731 * conf/i386-pc.rmk: Likewise.
23732 * conf/powerpc-ieee1275.rmk: Likewise.
23733 * conf/sparc64-ieee1275.rmk: Likewise.
23734 * conf/x86_64-efi.rmk: Likewise.
23735
cee15086 237362009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23737
23738 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
23739
95b9239e 237402009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23741
23742 * include/grub/misc.h: Stop checking for APPLE_CC.
23743
2ed19dfd 237442009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23745
23746 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
23747 doesn't cause an infinite call loop.
23748
fdcdde19 237492009-10-28 Felix Zielcke <fzielcke@z-51.de>
23750
23751 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
23752 strings.
23753
cefabfe1 237542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23755
23756 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
23757 variable.
23758 * Makefile.in: Likewise.
23759
ed96ab6d 237602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23761
23762 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
23763
0579b753 237642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23765
23766 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
23767
478df409 237682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23769
23770 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
23771
083d1679 237722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23773
23774 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
23775 from here ...
23776 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
23777
5947ae32 237782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23779
23780 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
23781 in $(MAKEINFO) invocation. This makes it clear in output that
23782 errors are being ignored.
23783
94180ff6 237842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23785
23786 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
23787 from here ...
23788 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23789 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
23790 * conf/i386-ieee1275.rmk: Likewise.
23791 * conf/i386-pc.rmk: Likewise.
23792 * conf/powerpc-ieee1275.rmk: Likewise.
23793 * conf/sparc64-ieee1275.rmk: Likewise.
23794 * conf/x86_64-efi.rmk: Likewise.
23795
9031b03a 237962009-10-26 Colin Watson <cjwatson@ubuntu.com>
23797
23798 * util/grub-editenv.c (main): If only a command is given, use
23799 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
23800 (usage): FILENAME is now optional and has a default.
23801
e4f6809b 238022009-10-26 Colin Watson <cjwatson@ubuntu.com>
23803
23804 Improve grub-mkconfig performance when there are several menu
23805 entries on a single filesystem.
23806
23807 * util/grub.d/10_linux.in (linux_entry): Cache the output of
23808 prepare_grub_to_access_device.
23809 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23810 * util/grub.d/30_os-prober.in: Likewise.
23811
67937d4d 238122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23813
23814 * util/grub.d/10_freebsd.in: Remove.
23815 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
23816 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
23817
ee3756cc 238182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23819
5c35048e 23820 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 23821
4dea1c6f 238222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23823
23824 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
23825 grub_util_error() call.
23826
042484d7 238272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23828
23829 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
23830 `reserved_first_sector' member.
23831 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
23832 `reserved_first_sector' to 1.
23833 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
23834 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
23835 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
23836 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
23837 filesystems which begin at first sector.
23838 (options): New option --skip-fs-probe.
23839 (main): Handle --skip-fs-probe and pass it to setup().
23840
d64448a7 238412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23842
23843 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
23844 (memset): Fix function prototype.
23845
508d42ec 238462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
238472009-10-25 Vasily Averin <vvs@parallels.com>
23848
23849 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
23850 `dirent.direntlen == 0'.
23851
b240e30c 238522009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23853
23854 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
23855 `cpio'.
23856 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
23857
346e7fbe 238582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23859
23860 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
23861 `__trampoline_setup' and `__ucmpdi2'.
23862 * include/grub/powerpc/libgcc.h: Only export symbols for functions
23863 that libgcc provides.
23864
cdb308b0 238652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23866
23867 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
23868 * include/grub/sparc64/libgcc.h (memset): Likewise.
23869 * include/grub/misc.h (memset, memcmp): New function prototypes.
23870
fb26abc2 238712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23872
23873 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
23874 `cpio'.
23875 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
23876
f6693890 238772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23878
23879 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
23880 * docs/grub.cfg: Compensate for recent change in multiboot
23881 loader (since 2009-08-14 it won't pass filename to payload).
23882 * util/grub.d/10_hurd.in: Likewise.
23883
0933cdc0 238842009-10-21 Felix Zielcke <fzielcke@z-51.de>
23885
23886 * config.guess: Update to latest version from config git
23887 repository.
23888 * config.sub: Likewise.
23889
3b2fe8c2 238902009-10-20 Robert Millan <rmh.grub@aybabtu.com>
23891
23892 Fix build on sparc64.
23893
23894 * configure.ac: Perform checks for libgcc symbols before
23895 adding `-nostdlib' to LDFLAGS.
23896
46695a62 238972009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23898
23899 Let user specify OpenBSD root device.
23900
23901 * loader/i386/bsd.c (openbsd_root): New variable.
23902 (openbsd_opts): New option 'root'.
23903 (OPENBSD_ROOT_ARG): New macro.
23904 (grub_openbsd_boot): Use 'openbsd_root'.
23905 (grub_cmd_openbsd): Fill 'openbsd_root'.
23906
d2b6b7fc 239072009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23908
23909 * NEWS: Misc adjustments.
23910
421bd7ac 239112009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23912
23913 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
23914
f1d29d87 239152009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23916
23917 * configure.ac: Bump version to 1.97.
23918
6f3cd880 239192009-10-16 Colin Watson <cjwatson@ubuntu.com>
23920
23921 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
23922 -mno-3dnow on x86 architectures. Some toolchains enable these
23923 features by default, but they rely on registers that aren't enabled
23924 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
23925
035f7122 239262009-10-15 Robert Millan <rmh.grub@aybabtu.com>
23927
23928 Make entry text a bit more readable.
23929
23930 * util/grub.d/10_linux.in: Add `with' before `Linux'.
23931
44998e58 239322009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23933
23934 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
23935
cd2851b3 239362009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23937
23938 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
23939 operations.
23940
c6f3b249 239412009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23942
23943 * configure.ac: Add missing dollar.
23944
6b5886ba 239452009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23946
23947 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
23948
23949 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
23950 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
23951 exports.
23952 * include/grub/sparc64/libgcc.h: Likewise. Use
23953 preprocessor conditionals.
23954
e9d66f6d 239552009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23956
23957 * conf/common.rmk (grub-dumpbios): Remove rule.
23958 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
23959 * util/grub-dumpbios.in: Remove file.
23960
9155bc17 239612009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23962
23963 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
23964 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
23965
23966 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
23967 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
23968 users.
23969
23970 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
23971 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
23972 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
23973 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
23974 users.
23975
bf7f7a18 239762009-10-12 Robert Millan <rmh.grub@aybabtu.com>
23977
23978 * term/tparm.c: Switch to GPLv3.
23979
86564c26 239802009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23981
23982 * include/grub/i386/cpuid.h: Add header protection.
23983
5c936493 239842009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23985
23986 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
23987
23988 * include/grub/i386/cpuid.h: New file.
23989 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
23990 (has_longmode): Rename to ...
23991 (grub_cpuid_has_longmode): ... this. Update all users. Remove
23992 `static' attribute.
23993 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
23994 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
23995 on a CPU that doesn't implement AMD64 instruction set.
23996
186e7cf2 239972009-10-06 Colin Watson <cjwatson@ubuntu.com>
23998
23999 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
24000 that version.texi is rebuilt on version number changes.
24001
83b65c4a 240022009-10-06 Colin Watson <cjwatson@ubuntu.com>
24003
24004 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
24005 Fixes bug #27602.
24006
d244281c 240072009-10-06 Colin Watson <cjwatson@ubuntu.com>
24008
24009 * util/i386/pc/grub-install.in: Source
24010 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
24011 that the --grub-probe option will work.
24012 * util/sparc64/ieee1275/grub-install.in: Likewise.
24013
da25306d 240142009-10-05 Robert Millan <rmh.grub@aybabtu.com>
24015
24016 * configure.ac: Bump version to 1.97~beta4.
24017
e8ee83c0 240182009-10-03 Robert Millan <rmh.grub@aybabtu.com>
24019
24020 Resync grub-mkdevicemap in x86_64-efi.
24021
24022 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
24023 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
24024 `util/devicemap.c'.
24025
50dcabcf 240262009-10-01 Colin Watson <cjwatson@ubuntu.com>
24027
24028 * util/grub-editenv.c (create_envblk_file): Write new block with a
24029 .new suffix and then rename it into place, to ensure atomic
24030 creation.
24031
0e51c3a7 240322009-09-28 Robert Millan <rmh.grub@aybabtu.com>
24033
24034 Do not automatically install headers.
24035
24036 * Makefile.in (include_DATA): Remove. Update all users.
24037
31299a95 240382009-09-26 Robert Millan <rmh.grub@aybabtu.com>
24039
24040 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
24041 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
24042
24043 * util/osdetect.lua: Remove.
24044 * script/lua/lauxlib.c: Likewise.
24045 * script/lua/ldebug.c: Likewise.
24046 * script/lua/grub_main.c: Likewise.
24047 * script/lua/lauxlib.h: Likewise.
24048 * script/lua/ldebug.h: Likewise.
24049 * script/lua/ltablib.c: Likewise.
24050 * script/lua/liolib.c: Likewise.
24051 * script/lua/lstrlib.c: Likewise.
24052 * script/lua/lualib.h: Likewise.
24053 * script/lua/ldo.c: Likewise.
24054 * script/lua/ldump.c: Likewise.
24055 * script/lua/ldo.h: Likewise.
24056 * script/lua/loslib.c: Likewise.
24057 * script/lua/lundump.c: Likewise.
24058 * script/lua/grub_lib.c: Likewise.
24059 * script/lua/ldblib.c: Likewise.
24060 * script/lua/lundump.h: Likewise.
24061 * script/lua/lmem.c: Likewise.
24062 * script/lua/grub_lib.h: Likewise.
24063 * script/lua/lmathlib.c: Likewise.
24064 * script/lua/lstate.c: Likewise.
24065 * script/lua/ltm.c: Likewise.
24066 * script/lua/lvm.c: Likewise.
24067 * script/lua/lmem.h: Likewise.
24068 * script/lua/lstate.h: Likewise.
24069 * script/lua/ltm.h: Likewise.
24070 * script/lua/ltable.c: Likewise.
24071 * script/lua/lvm.h: Likewise.
24072 * script/lua/llex.c: Likewise.
24073 * script/lua/lgc.c: Likewise.
24074 * script/lua/grub_lua.h: Likewise.
24075 * script/lua/loadlib.c: Likewise.
24076 * script/lua/lfunc.c: Likewise.
24077 * script/lua/lopcodes.c: Likewise.
24078 * script/lua/lparser.c: Likewise.
24079 * script/lua/ltable.h: Likewise.
24080 * script/lua/llex.h: Likewise.
24081 * script/lua/lgc.h: Likewise.
24082 * script/lua/lfunc.h: Likewise.
24083 * script/lua/lbaselib.c: Likewise.
24084 * script/lua/lopcodes.h: Likewise.
24085 * script/lua/lparser.h: Likewise.
24086 * script/lua/lzio.c: Likewise.
24087 * script/lua/linit.c: Likewise.
24088 * script/lua/lobject.c: Likewise.
24089 * script/lua/llimits.h: Likewise.
24090 * script/lua/lstring.c: Likewise.
24091 * script/lua/lzio.h: Likewise.
24092 * script/lua/lapi.c: Likewise.
24093 * script/lua/lcode.c: Likewise.
24094 * script/lua/lua.h: Likewise.
24095 * script/lua/lobject.h: Likewise.
24096 * script/lua/lstring.h: Likewise.
24097 * script/lua/lapi.h: Likewise.
24098 * script/lua/lcode.h: Likewise.
24099 * script/lua/luaconf.h: Likewise.
24100
cb8a2c38 241012009-09-26 Colin Watson <cjwatson@ubuntu.com>
24102
24103 * docs/grub.texi (Command-line and menu entry commands): Document
24104 date and echo commands.
24105
6b9b6276 241062009-09-24 Pavel Roskin <proski@gnu.org>
24107
24108 * include/grub/kernel.h (struct grub_module_header): Remove
24109 `grub_module_header_types'. Make `type' unsigned. Make `size'
24110 32-bit on all platforms.
24111 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24112 8-bit field. Use grub_host_to_target32() for `size'.
24113 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24114 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24115 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24116
4e5a02a7 241172009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24118
24119 Fix "lost keypress" bug in at_keyboard.
24120
24121 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24122 Checks for readyness of input buffer (without flushing it).
24123 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24124 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24125
c6dcedf6 241262009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24127
24128 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24129 size check within GRUB_MACHINE_PCBIOS section.
24130
74c958b1 241312009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24132
24133 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24134 return value.
24135 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24136 KEYBOARD_ISREADY check.
24137 (grub_at_keyboard_checkkey): Rename to ...
24138 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24139 Remove gratuitous cast.
24140
ff420223 241412009-09-23 Colin Watson <cjwatson@ubuntu.com>
24142
24143 * configure.ac: Call AC_PROG_MKDIR_P.
24144 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24145 version.texi in $(builddir) rather than $(srcdir).
24146 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24147 to makeinfo's @include search path.
24148
d96875df 241492009-09-23 Felix Zielcke <fzielcke@z-51.de>
24150
24151 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24152
9b3f8365 241532009-09-23 Felix Zielcke <fzielcke@z-51.de>
24154
24155 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24156 for `*.dpkg-new'.
24157
c44c90db 241582009-09-21 Colin Watson <cjwatson@ubuntu.com>
24159
24160 Build info documentation. Some code borrowed from Automake.
24161
24162 * configure.ac: Check for makeinfo.
24163 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24164 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24165 docs/version.texi.
24166 (MOSTLYCLEANFILES): Add vti.tmp.
24167 (docs/version.texi, docs/stamp-vti): Update automatically.
24168 (docs/grub.info): Build info documentation. Use --force and ignore
24169 errors for now.
24170 (all-local): Add $(INFOS).
24171 (install-local): Install info files.
24172 (uninstall): Uninstall info files.
24173 * docs/version.texi: Remove from revision control. This file is
24174 automatically generated on build now.
24175 * gendistlist.sh: Add `*.info'.
24176
e0b37bb5 241772009-09-21 Felix Zielcke <fzielcke@z-51.de>
24178
24179 * kern/term.c: Fix indentation.
24180
5a78865b 241812009-09-21 Felix Zielcke <fzielcke@z-51.de>
24182
24183 * util/hostdisk.c: Fix a comment.
24184
dace7e8a 241852009-09-20 Robert Millan <rmh.grub@aybabtu.com>
24186
24187 Fix regression introduced in r2539.
24188
24189 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
24190 to 0xA1.
24191
a83d079b 241922009-09-19 Colin Watson <cjwatson@ubuntu.com>
24193
24194 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 24195 os-prober. Under normal operation, it does not print anything to
24196 stderr; if it does, we need to debug it, and throwing away stderr
24197 makes that excessively difficult.
a83d079b 24198
be94a509 241992009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
24200
24201 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
24202
63f745e8 242032009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24204
24205 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
24206 AC_LANG_PROGRAM from autoconf.
24207 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
24208 prototypes (fixes warning).
24209
24210 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
24211 `--disable-werror' was used.
24212
bbb2a70f 242132009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24214
24215 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
24216 uninitialized `lastaddr'.
24217
77c24f1d 242182009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
24219
0f0b8c87 24220 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 24221
07197f23 242222009-09-14 Colin Watson <cjwatson@ubuntu.com>
24223
24224 * commands/test.c (get_fileinfo): Return immediately if
24225 grub_fs_probe fails.
24226
dabf1798 242272009-09-14 José Martínez <xosemp@gmail.com>
24228
24229 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
24230
d52109a7 242312009-09-14 Colin Watson <cjwatson@ubuntu.com>
24232
24233 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
24234 output.
24235
56532179 242362009-09-13 Robert Millan <rmh.grub@aybabtu.com>
24237
24238 * configure.ac: Remove --enable-grub-pe2elf. Only build
24239 grub-pe2elf when needed by the build system itself.
24240 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
24241
8ef070f5 242422009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24243
24244 * configure.ac: Bump version to 1.97~beta3.
24245 * docs/version.texi: Likewise.
24246
61229557 242472009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24248
24249 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
24250 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
24251 from here ...
24252 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
24253 (grub_linux_setup_video): ... to here (with some adjustments).
24254
5c9f8d84 242552009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24256
24257 Fix memory corruption issue (spotted by Colin Watson).
24258
24259 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
24260 causing returned size to be stored in an incorrect memory location.
24261 Fix use of uninitialized value when storing the returned size.
24262
e8f5d6e9 242632009-09-12 Yves Blusseau <blusseau@zetam.org>
24264
24265 Change clean rules to properly remove files
24266
24267 * genmk.rb: add new clean rules
24268 * Makefile.in (clean): add the new targets
24269 (mostlyclean): likewise
24270
cda2a409 242712009-09-11 Colin Watson <cjwatson@ubuntu.com>
24272
24273 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
24274 to grub_uint64_t.
24275 * fs/ntfs.c (init_file): Understand 64-bit sizes for
24276 non-resident files.
24277
86695375 242782009-09-11 Colin Watson <cjwatson@ubuntu.com>
24279
24280 * configure.ac: Don't look for help2man when cross-compiling. Fixes
24281 part of bug #27349.
24282
8aa1541a 242832009-09-10 Felix Zielcke <fzielcke@z-51.de>
24284
24285 * util/grub-mkconfig.in: Make the created config mode 400 and
24286 print a warning if it fails.
24287
48d9bb0a 242882009-09-10 Robert Millan <rmh.grub@aybabtu.com>
24289
24290 * util/grub.d/40_custom.in: Ask user to type custom entries below
24291 comment, rather than below 'exec tail' line.
24292
3b0521be 242932009-09-10 Colin Watson <cjwatson@ubuntu.com>
24294
24295 * util/grub.d/40_custom.in: Make sure that the explanatory text is
24296 visible in grub.cfg.
24297
50051d55 242982009-09-10 Colin Watson <cjwatson@ubuntu.com>
24299
24300 * util/grub.d/40_custom.in: Make it a little clearer how to use this
24301 file.
24302
c0d34387 243032009-09-10 Felix Zielcke <fzielcke@z-51.de>
24304
24305 * docs/grub.cfg: Add an example menu entry for memtest86+.
24306
80a608f3 243072009-09-09 Felix Zielcke <fzielcke@z-51.de>
24308
a2094832 24309 * config.guess: Update to latest version from config git.
80a608f3 24310 * config.sub: Likewise.
24311
99423078 243122009-09-08 Colin Watson <cjwatson@ubuntu.com>
24313
24314 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
24315 unknown-command case. Fixes bug #27320.
24316
44454e4c 243172009-09-08 Felix Zielcke <fzielcke@z-51.de>
24318
24319 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
24320 `help' if the command exists.
24321
e30d87ad 243222009-09-06 Robert Millan <rmh.grub@aybabtu.com>
24323
24324 * INSTALL: Require GCC 4.1.3 or later.
24325
9a86f1ec 243262009-09-06 Yves Blusseau <blusseau@zetam.org>
24327
24328 * Makefile.in (RMKFILES): add i386-qemu.rmk
24329 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
24330 $(srcdir)/stamp-h.in
24331
7f26d466 243322009-09-05 Robert Millan <rmh.grub@aybabtu.com>
24333
24334 * util/grub-probe.c (probe): Comment out buggy codepath, which
24335 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
24336 should be re-enabled after 1.97.
24337
3a613259 243382009-09-05 Felix Zielcke <fzielcke@z-51.de>
24339
24340 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
24341 find searches for.
24342
197f76c7 243432009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24344
24345 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
24346 unnecessary calls to grub_error.
24347
70ba68ce 243482009-09-04 Colin Watson <cjwatson@ubuntu.com>
24349
24350 * NEWS: Mention `keystatus' and Unicode fonts.
24351
4ff0d7a4 243522009-09-04 Robert Millan <rmh.grub@aybabtu.com>
24353
24354 * configure.ac: Bump version to 1.97~beta2.
24355 * docs/version.texi: Likewise.
24356
77c55a87 243572009-09-03 Colin Watson <cjwatson@ubuntu.com>
24358
24359 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
24360 containing unwind information in some cases where it previously did
24361 not. Use -fno-dwarf2-cfi-asm if available to restore the old
24362 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
24363 discussion.
24364
f79572cd 243652009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
24366
24367 Embedding loadenv module into grub-emu
24368
24369 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
24370 commands/loadenv.c
24371 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
24372 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
24373 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
24374 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
24375 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
24376 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
24377
93a81088 243782009-09-03 Magnus Granberg <zorry@ume.nu>
24379
24380 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
24381 include -fPIE in the default specs.
24382 * configure.ac: Check if pie_possible is yes and add -fno-PIE
24383 to TARGET_CFLAGS.
24384
160034b2 243852009-09-03 Felix Zielcke <fzielcke@z-51.de>
24386
24387 * INSTALL: Note that GNU Bison 2.3 or later is required.
24388
087c07c4 243892009-09-03 Colin Watson <cjwatson@ubuntu.com>
24390
24391 * kern/i386/pc/startup.S: Fix typo.
24392
cbf978c0 243932009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24394
24395 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
24396 according to GCS.
24397
243982009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 24399
24400 * docs/grub.texi (Naming convention): Describe one-based partition
24401 numbering.
24402 (Device syntax): Likewise.
24403 (File name syntax): Likewise.
24404 (Block list syntax): Likewise.
24405 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
24406 menu.lst.
24407 (File name syntax): Likewise.
24408 (Command-line and menu entry commands): Document acpi, blocklist,
24409 crc, export, insmod, keystatus, ls, set, and unset commands.
24410
f3e8cdfd 244112009-09-02 Colin Watson <cjwatson@ubuntu.com>
24412
24413 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
24414 to avoid implying that only one of --shift, --ctrl, or --alt may be
24415 used.
24416
c0bc232b 244172009-09-02 Colin Watson <cjwatson@ubuntu.com>
24418
24419 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
24420 rather than comparing against S_IFREG, which will almost never work.
24421
aa0f752d 244222009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24423
24424 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
24425 (write_blocklists): Likewise.
24426
ecb3166a 244272009-09-01 Colin Watson <cjwatson@ubuntu.com>
24428
24429 * script/lua/grub_lua.h (fputs): Supply a format string as the first
24430 argument to grub_printf.
24431
c403a125 244322009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 24433
24434 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 24435 non GNU test.
31aba781 24436
b5e7312c 244372009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24438
24439 * kern/file.c (grub_file_read): Spelling fix
24440
fe00f472 244412009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24442
24443 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
24444 loading of headers in some cases.
24445
cc55302e 244462009-08-30 Robert Millan <rmh.grub@aybabtu.com>
24447
24448 * configure.ac: Bump version to 1.97~beta1.
24449 * docs/version.texi: Likewise.
24450
5c90cdd2 244512009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 24452
24453 * include/grub/i386/xnu.h: Add license header.
24454 include grub/err.h explicitly.
24455
c90edae4 244562009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24457
24458 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
24459 to `ufs' in the vfs.root.mountfrom kernel parameter.
24460
d8888b5c 244612009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24462
24463 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
24464
24465 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
24466 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
24467
24468 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
24469 `ARRAY_SIZE' macro.
24470
6f07b921 244712009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24472
24473 * kern/file.c (grub_file_read): Check offset.
24474 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
24475 * fs/jfs.c (grub_jfs_read_file): Likewise.
24476 * fs/ntfs.c (grub_ntfs_read): Likewise.
24477 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
24478 * fs/minix.c (grub_minix_read_file): Correct offset check.
24479 * fs/ufs.c (grub_ufs_read_file): Likewise.
24480
b4f34077 244812009-08-28 Colin Watson <cjwatson@ubuntu.com>
24482
24483 * term/i386/pc/console.c (bios_data_area): Cast
24484 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
24485
e7c69859 244862009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24487
24488 1-bit optimised blitters.
24489
24490 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
24491 prototype.
24492 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24493 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24494 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24495 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24496 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24497 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24498 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
24499 function.
24500 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24501 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24502 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24503 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24504 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24505 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24506 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
24507 when possible.
24508 * video/video.c (grub_video_get_blit_format): Return
24509 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
24510
a57da43f 245112009-08-28 Colin Watson <cjwatson@ubuntu.com>
24512
24513 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
24514 the first argument to grub_printf.
24515
4cbe67e5 245162009-08-28 Colin Watson <cjwatson@ubuntu.com>
245172009-08-28 Robert Millan <rmh.grub@aybabtu.com>
24518
24519 Add `getkeystatus' terminal method. Add a new `keystatus' command
24520 to query it.
24521
24522 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
24523 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
24524 modifier key bitmasks.
24525 (struct grub_term_input): Add `getkeystatus' member.
24526 (grub_getkeystatus): Add prototype.
24527 * kern/term.c (grub_getkeystatus): New function.
24528
24529 * include/grub/i386/pc/memory.h
24530 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
24531 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
24532 Data Area layout.
24533 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
24534 (grub_console_term_input): Set `getkeystatus' member.
24535 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
24536 constants.
24537 (grub_usb_keyboard_getreport): Likewise.
24538 (grub_usb_keyboard_checkkey): Likewise.
24539 (grub_usb_keyboard_getkeystatus): New function.
24540 (grub_usb_keyboard_term): Set `getkeystatus' member.
24541
24542 * commands/keystatus.c: New file.
24543 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
24544 (keystatus_mod_SOURCES): New variable.
24545 (keystatus_mod_CFLAGS): Likewise.
24546 (keystatus_mod_LDFLAGS): Likewise.
24547 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
24548 commands/keystatus.c.
24549 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24550 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24551 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24552 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24553 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24554 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 24555
6e2a9085 245562009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24557
24558 Split befs.mod and afs.mod into *_be.mod and *.mod
24559
24560 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
24561 (grub_fstest_SOURCES): Likewise.
24562 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
24563 (afs_be_mod_SOURCES): New variable.
24564 (afs_be_mod_CFLAGS): Likewise.
24565 (afs_be_mod_LDFLAGS): Likewise.
24566 (befs_be_mod_SOURCES): Likewise.
24567 (befs_be_mod_CFLAGS): Likewise.
24568 (befs_be_mod_LDFLAGS): Likewise.
24569 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
24570 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24571 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24572 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24573 (grub_emu_SOURCES): Likewise.
24574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24575 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24576 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24577 * fs/afs_be.c: New file.
24578 * fs/befs_be.c: New file.
24579 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
24580 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
24581 (U16): Replaced with ...
24582 (grub_afs_to_cpu16): ...this. All users updated.
24583 (U32): Replaced with ...
24584 (grub_afs_to_cpu32): ...this. All users updated.
24585 (U64): Replaced with ...
24586 (grub_afs_to_cpu64): ...this. All users updated.
24587 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
24588 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 24589 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 24590 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24591 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24592 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24593 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24594 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24595 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24596 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24597 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24598
32a71655 245992009-08-26 Bean <bean123ch@gmail.com>
24600
24601 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
24602 64-bit number.
24603 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
24604 (grub_xfs_inode_block): Change return type to grub_uint64_t.
24605 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
24606
552bf6c5 246072009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24608
24609 NetBSD memory map support.
24610
24611 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
24612 (grub_netbsd_btinfo_mmap_header): New structure.
24613 (grub_netbsd_btinfo_mmap_entry): Likewise.
24614 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
24615
1ae2078c 246162009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24617
24618 Enable bsd.mod on coreboot.
24619
24620 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
24621 (bsd_mod_SOURCES): New variable.
24622 (bsd_mod_CFLAGS): Likewise.
24623 (bsd_mod_LDFLAGS): Likewise.
24624 (bsd_mod_ASFLAGS): Likewise.
24625 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
24626 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
24627
beefc598 246282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24629
24630 Cleanup NetBSD root support.
24631
24632 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
24633 grub_bsd_get_device.
24634 Fix typo.
24635
3b76e68b 246362009-08-25 Felix Zielcke <fzielcke@z-51.de>
24637
24638 * util/grub.d/00_header.in: Move check for the video backend of
24639 gfxterm from here ...
24640 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
24641 a suitable video backend.
24642
aea664ea 246432009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24644
24645 Fix breakage in grub-setup.
24646
24647 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
24648 "msdos_partition_map".
24649
ff747d50 246502009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24651
24652 Fix breakage in normal/auth.c.
24653
24654 * normal/auth.c (grub_iswordseparator): New function.
24655
e7e1f93f 246562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24657
24658 Authentication support.
24659
24660 * commands/password.c: New file.
24661 * conf/common.rmk (pkglib_MODULES): Add password.mod.
24662 (password_mod_SOURCES): New variable.
24663 (password_mod_CFLAGS): Likewise.
24664 (password_mod_LDFLAGS): Likewise.
24665 (normal_mod_SOURCES): Add normal/auth.c.
24666 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
24667 normal/auth.c.
24668 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24669 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24670 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24672 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24673 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24674 * include/grub/auth.h: New file.
24675 * include/grub/err.h (grub_err_t): New enum value
24676 GRUB_ERR_ACCESS_DENIED.
24677 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
24678 'users'.
24679 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
24680 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
24681 users updated.
24682 * normal/auth.c: New file.
24683 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
24684 (grub_cmdline_run): Don't allow to go to command line without
24685 authentication.
24686 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
24687 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
24688 menuentry without superuser rights.
24689 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
24690 user isn't a superuser.
24691
70f1161d 246922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24693
24694 Save space by inlining misc.c functions.
24695
24696 * kern/misc.c (grub_iswordseparator): Made static.
24697 * kern/misc.c (grub_strcat): Moved from here ...
24698 * include/grub/misc.h (grub_strcat): ... here. Inlined.
24699 * kern/misc.c (grub_strncat): Moved from here ...
24700 * include/grub/misc.h (grub_strncat): ... here. Inlined.
24701 * kern/misc.c (grub_strcasecmp): Moved from here ...
24702 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
24703 * kern/misc.c (grub_strncasecmp): Moved from here ...
24704 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
24705 * kern/misc.c (grub_isalpha): Moved from here ...
24706 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
24707 * kern/misc.c (grub_isdigit): Moved from here ...
24708 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
24709 * kern/misc.c (grub_isgraph): Moved from here ...
24710 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
24711 * kern/misc.c (grub_tolower): Moved from here ...
24712 * include/grub/misc.h (grub_tolower): ... here. Inlined.
24713
48e40bff 247142009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24715
24716 * script/sh/function.c (grub_script_function_find): Cut error message
24717 not to flood terminal.
24718 * script/sh/lexer.c (grub_script_yylex): Remove command line length
24719 limit.
24720 * script/sh/script.c (grub_script_arg_add): Duplicate string.
24721
c385bfc3 247222009-08-24 Colin Watson <cjwatson@ubuntu.com>
24723
24724 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
24725 `report' grub_uint8_t *.
24726 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
24727 Use a 50-millisecond timeout rather than just repeating
24728 grub_usb_keyboard_getreport 50 times.
24729 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
24730
2d21e3e8 247312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24732
24733 Rename *_partition_map to part_*
24734
24735 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
24736 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
24737 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
24738 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
24739 All users updated.
24740 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
24741 All users updated.
24742 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
24743 * util/grub-probe.c (probe_partmap): Don't transform partition name
24744 to get module name.
24745
dd103c4e 247462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24747
24748 Fix OpenBSD and NetBSD support.
24749
24750 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
24751 memory address conflict.
24752 (OPENBSD_MMAP_ACPI): New definition.
24753 (OPENBSD_MMAP_NVS): Likewise.
24754 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
24755 and OPENBSD_MMAP_NVS.
24756 Add memory map terminator
24757 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 24758 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 24759
16c84d74 247602009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24761
24762 Let user specify NetBSD root device.
24763
24764 * loader/i386/bsd.c (netbsd_root): New variable.
24765 (netbsd_opts): New option 'root'.
24766 (NETBSD_ROOT_ARG): New macro.
24767 (grub_netbsd_boot): Use 'netbsd_root'.
24768 (grub_bsd_unload): Free 'netbsd_root'.
24769 (grub_cmd_netbsd): Fill 'netbsd_root'.
24770
adb29902 247712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24772
24773 Support for 64-bit NetBSD.
24774
24775 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
24776 point when booting non-FreeBSD.
24777
f5ae9f74 247782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24779
24780 Support --no-smp and --no-acpi for NetBSD.
24781
24782 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
24783 (NETBSD_AB_NOACPI): Likewise.
24784 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
24785 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
24786
de74f136 247872009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24788
24789 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
24790 errors.
24791 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
24792 errors. Call grub_error when needed.
24793
e9a925da 247942009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24795
24796 * commands/search.c (search_fs): Try searching without autoload first.
24797 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
24798 filesystem module explicitly for faster booting.
24799
5174302b 248002009-08-23 Colin Watson <cjwatson@ubuntu.com>
24801
24802 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
24803
c8c80635 248042009-08-23 Colin Watson <cjwatson@ubuntu.com>
24805
24806 * util/grub.d/30_os-prober.in: Disable os-prober if
24807 `GRUB_DISABLE_OS_PROBER' was set to true.
24808
71acf5e5 248092009-08-23 Robert Millan <rmh.grub@aybabtu.com>
24810
24811 * partmap/pc.c: Rename to ...
24812 * partmap/msdos.c: ... this. Update all users.
24813 (grub_pc_partition_map): Rename to ...
24814 (grub_msdos_partition_map): ... this. Update all users.
24815
24816 * parttool/pcpart.c: Rename to ...
24817 * parttool/msdospart.c: ... this. Update all users.
24818
24819 * include/grub/pc_partition.h: Rename to ...
24820 * include/grub/msdos_partition.h: ... this. Update all users.
24821 (grub_pc_partition_bsd_entry): Rename to ...
24822 (grub_msdos_partition_bsd_entry): ... this. Update all users.
24823 (grub_pc_partition_disk_label): Rename to ...
24824 (grub_msdos_partition_disk_label): ... this. Update all users.
24825 (grub_pc_partition_entry): Rename to ...
24826 (grub_msdos_partition_entry): ... this. Update all users.
24827 (grub_pc_partition_mbr): Rename to ...
24828 (grub_msdos_partition_mbr): ... this. Update all users.
24829 (grub_pc_partition): Rename to ...
24830 (grub_msdos_partition): ... this. Update all users.
24831 (grub_pc_partition_is_empty): Rename to ...
24832 (grub_msdos_partition_is_empty): ... this. Update all users.
24833 (grub_pc_partition_is_extended): Rename to ...
24834 (grub_msdos_partition_is_extended): ... this. Update all users.
24835 (grub_pc_partition_is_bsd): Rename to ...
24836 (grub_msdos_partition_is_bsd): ... this. Update all users.
24837
24838 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
24839 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
24840 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
24841 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
24842 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
24843 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
24844 (gpt_mod_LDFLAGS): Rename to ...
24845 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
24846 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
24847 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
24848 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
24849 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
24850 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
24851 (part_gpt_mod_LDFLAGS): ... this.
24852 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
24853 `pcpart.mod' to `msdospart.mod'.
24854 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
24855 to ...
24856 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
24857 (msdospart_mod_LDFLAGS): ... this.
24858
c11fded5 248592009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24860
24861 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
24862 (openbsd_opts): Likewise.
24863 (netbsd_opts): Likewise.
24864 (freebsd_flags): Added 0 terminator.
24865 (openbsd_flags): Likewise.
24866 (netbsd_flags): Likewise.
24867 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
24868 (grub_cmd_freebsd): Transformed into extended command.
24869 (grub_cmd_openbsd): Likewise.
24870 (grub_cmd_netbsd): Likewise.
24871 (cmd_freebsd): Changed type to grub_extcmd_t.
24872 (cmd_openbsd): Likewise.
24873 (cmd_netbsd): Likewise.
24874 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
24875 grub_cmd_openbsd as extended commands.
24876 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
24877 cmd_netbsd and cmd_openbsd
24878
11d1c769 248792009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24880
24881 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
24882
7a9094e5 248832009-08-21 Pavel Roskin <proski@gnu.org>
24884
5496c37e 24885 * Makefile.in (install-local): When checking if a file is in the
24886 build directory, use "test -e" to detect symlinks.
24887
7a9094e5 24888 * Makefile.in (install-local): Remove all files in
24889 $(DESTDIR)$(pkglibdir) before installing new files there.
24890
e53cea11 248912009-08-18 Felix Zielcke <fzielcke@z-51.de>
24892
24893 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
24894 grub-mkelfimage.
24895
9aced544 248962009-08-18 Felix Zielcke <fzielcke@z-51.de>
24897
24898 * util/grub-mkconfig.in: Don't use gfxterm by default if not
24899 explicitly specified by the user.
24900
b7da6bab 249012009-08-18 Pavel Roskin <proski@gnu.org>
24902
24903 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
24904 grub_uint8_t pointer for data.
24905 * include/grub/fbutil.h (struct grub_video_fbblit_info):
24906 Likewise.
24907 * video/fb/fbutil.c: Remove unnecessary casts.
24908
19f1b335 249092009-08-17 Michal Suchanek <hramrach@centrum.cz>
24910
24911 VBE cleanup.
24912
24913 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
24914 (grub_vbe_set_video_mode): Save active mode info
24915 only after setting the mode.
24916 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
24917 second argument.
24918
2f467aa9 249192009-08-17 Michal Suchanek <hramrach@centrum.cz>
24920
24921 Rename variables for clarity.
24922
24923 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
24924 (active_vbe_mode_info): ... this. All users updated.
24925 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
24926 All users updated.
24927 (initial_mode): Rename to ...
24928 (initial_vbe_mode): ... this. All users updated.
24929 (mode_in_use): Rename to ..
24930 (vbe_mode_in_use): ... this. All users updated.
24931 (mode_list): Rename to ..
24932 (vbe_mode_list): ... this. All users updated.
24933 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
24934 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
24935 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
24936 'mode_list_size' to 'vbe_mode_list_size'.
24937 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
24938 'best_mode_info' to 'best_vbe_mode_info' and
24939 'best_mode' to 'best_vbe_mode'
24940
6025fcd7 249412009-08-17 Michal Suchanek <hramrach@centrum.cz>
24942
24943 Remove duplicate grub_video_fb_get_video_ptr.
24944
24945 * include/grub/fbutil.h (get_data_ptr): Rename to ...
24946 (grub_video_fb_get_video_ptr): ... this.
24947 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
24948 * video/fb/fbutil.c: Add comment about addressing.
24949 (get_data_ptr): Rename to ...
24950 (grub_video_fb_get_video_ptr): ... this. All users updated.
24951 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
24952
cc8c6faf 249532009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24954
24955 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
24956 grub_dprintf() that was just added.
24957
08aa61f0 249582009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24959
24960 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
24961 (DEFAULT_VIDEO_MODE): Remove macros.
24962 (grub_linux_boot): Remove assumption that Linux has FB support,
24963 and use "text" as default video mode.
24964
7cef4f75 249652009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
24966
24967 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
24968 grub_dprintf.
24969 * fs/fat.c (grub_fat_read_data): Likewise.
24970
e1f39873 249712009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24972
24973 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
24974 payload.
24975 (grub_module): Likewise.
24976
c166d79e 249772009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24978
24979 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
24980 mbi->cmdline but free playground.
24981
c60cee8e 249822009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24983
24984 Handle group offset on UFS1.
24985
24986 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
24987 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
24988
c0d8b5d4 249892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24990
24991 Split ufs.mod into ufs1.mod and ufs2.mod.
24992
24993 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
24994 (grub_fstest_SOURCES): Likewise.
24995 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
24996 (ufs_mod_SOURCES): Remove.
24997 (ufs_mod_CFLAGS): Likewise.
24998 (ufs_mod_LDFLAGS): Likewise.
24999 (ufs1_mod_SOURCES): New variable.
25000 (ufs1_mod_CFLAGS): Likewise.
25001 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 25002 (ufs2_mod_SOURCES): New variable.
25003 (ufs2_mod_CFLAGS): Likewise.
25004 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 25005 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
25006 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25007 Likewise.
25008 (grub_emu_SOURCES): Likewise.
25009 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25010 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25011 (grub_setup_SOURCES): Likewise.
25012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25013 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
25014 (grub_setup_SOURCES): Likewise.
25015 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25016 Likewise.
25017 * fs/ufs2.c: New file.
25018 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
25019
d3539132 250202009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25021
25022 Framebuffer split.
25023
25024 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
25025 subsystem at the end.
25026 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
25027 (video_fb_mod_SOURCES): New variable.
25028 (video_fb_mod_CFLAGS): Likewise.
25029 (video_fb_mod_LDFLAGS): Likewise.
25030 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
25031 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
25032 * video/i386/pc/vbeblit.c: Moved from here ...
25033 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
25034 * video/i386/pc/vbefill.c: Moved from here ...
25035 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
25036 * video/i386/pc/vbeutil.c: Moved from here ...
25037 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
25038 * include/grub/i386/pc/vbeblit.h: Moved from here ...
25039 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
25040 * include/grub/i386/pc/vbefill.h: Moved from here ...
25041 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
25042 * include/grub/i386/pc/vbeutil.h: Moved from here ...
25043 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
25044 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
25045 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
25046 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
25047 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
25048 (grub_video_adapter): Added 'get_info_and_fini'.
25049 (grub_video_get_info_and_fini): New prototype.
25050 (grub_video_set_mode): make modestring const char *.
25051 * loader/i386/linux.c (grub_linux_setup_video): Use
25052 grub_video_get_info_and_fini.
25053 (grub_linux_boot): Move modesetting just before booting.
25054 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
25055 grub_video_get_info_and_fini.
25056 * video/i386/pc/vbe.c: Moved framebuffer part ...
25057 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
25058 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
25059 grub_video_fbstd_colors and grub_video_fb_set_palette.
25060 (grub_video_vbe_init): Clear 'framebuffer' variable and use
25061 grub_video_fb_init.
25062 (grub_video_vbe_fini): Use grub_video_fb_fini.
25063 (grub_video_vbe_setup): Use framebuffer.render_target instead of
25064 render_target and use grub_video_fb_set_active_render_target and
25065 grub_video_fb_set_palette.
25066 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
25067 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
25068 (grub_video_vbe_adapter): Use framebuffer.
25069 * video/video.c (grub_video_get_info_and_fini): New function.
25070 (grub_video_set_mode): Make modestring const char *.
25071 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
25072 values are already initialised.
25073
d404ee56 250742009-08-14 Pavel Roskin <proski@gnu.org>
25075
25076 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
25077 ABS and APPLE_CC.
25078 * boot/i386/pc/diskboot.S: Likewise.
25079 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
25080 sectors allow compilation on MacOSX.
25081 * conf/i386-pc.rmk: Enable unconditional compilation of
25082 lnxboot.img.
25083
9a10df16 250842009-08-13 Colin Watson <cjwatson@ubuntu.com>
25085
25086 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
25087 * util/grub.d/00_header.in: Enter interruptible sleep if
25088 GRUB_HIDDEN_TIMEOUT is set.
25089
be3c9ca7 250902009-08-13 Yves Blusseau <blusseau@zetam.org>
25091
25092 * include/grub/symbol.h: Add the LOCAL macro.
25093 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
25094 starting with "L_".
25095
1f9e557e 250962009-08-13 Pavel Roskin <proski@gnu.org>
25097
9ca62843 25098 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
25099 any modern compilers we support.
25100
1f9e557e 25101 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
25102 Use local labels starting with "L_" so that Apple assembler
25103 knows they are local.
25104
81623db6 251052009-08-10 Robert Millan <rmh.grub@aybabtu.com>
25106
25107 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
25108 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
25109 (bsd_kernel_types): ... this enum.
25110
25111 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25112 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25113 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25114
25115 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25116 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25117 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25118 messages.
25119
f5d35e7a 251202009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25121
25122 * util/grub-dumpdevtree: Moved from here ...
25123 * util/i386/efi/grub-dumpdevtree: ... to here.
25124 (hexify): New function. Converts a string to its hex version.
25125 Generate hex versions of "efi" and "device-properties" by calling
25126 hexify() on the ASCII strings rather than by hardcoding numbers.
25127
d1e1d527 251282009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25129
25130 * fs/jfs.c: Update copyright year.
25131
1ebbe064 251322009-08-08 Felix Zielcke <fzielcke@z-51.de>
25133
25134 * util/grub.d/00_header.in: Fix a comment.
25135 * util/grub.d/10_linux.in: Likewise.
25136 * util/grub.d/10_windows.in: Likewise.
25137 * util/grub.d/10_hurd.in: Likewise.
25138
a78c8d24 251392009-08-08 Felix Zielcke <fzielcke@z-51.de>
25140
25141 * util/grub-mkconfig.in: Allow the user to specify the used font
25142 with GRUB_FONT.
25143
29a6b9e8 251442009-08-08 Pavel Roskin <proski@gnu.org>
25145
b5f16cc4 25146 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25147 available, xfs.mod needs it now.
25148
2f5cb827 25149 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25150 the "g" modifier in sed when the intention is to strip something
25151 once. This fixes comparison of kernels with multiple dashes.
25152
29a6b9e8 25153 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25154 on it. Add missing space before closing bracket. Fix
25155 misleading formatting.
25156
892a3d98 251572009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25158
25159 * docs/grub.texi: Major overhaul. Remove all sections that are
25160 specific to GRUB Legacy, or mostly composed of Legacy-specific
25161 information.
25162
ed94253f 251632009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25164
25165 * docs/version.texi: New file. Provides version information for
25166 grub.texi.
25167
126d6628 251682009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25169
25170 * docs/grub.texi: Update CVS information to SVN.
25171 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25172
998b5aa9 251732009-08-07 Felix Zielcke <fzielcke@z-51.de>
25174
25175 * util/grub-mkconfig.in: Remove a wrong `fi'.
25176
818e094a 251772009-08-07 Felix Zielcke <fzielcke@z-51.de>
25178
25179 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
25180 (grub_jfs_uuid): New function.
25181 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
25182
b969c52f 251832009-08-07 Felix Zielcke <fzielcke@z-51.de>
25184
25185 * util/grub-mkconfig_lib.in (font_path): Move the functionality
25186 of it to ...
25187 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
25188 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
25189
7a4894cc 251902009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25191
25192 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
25193 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
25194 Update all users.
25195
25196 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
25197 not just "vmlinu[zx]".
25198 Moved from here ...
25199 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
25200 all users.
25201
25202 * util/grub.d/10_linux.in (find_latest): Moved from here ...
25203 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
25204 all users.
25205
4e2171f8 252062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25207
25208 * util/grub.d/10_freebsd.in: Use an absolute device path for
25209 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
25210
6dcfcb32 252112009-08-06 Felix Zielcke <fzielcke@z-51.de>
25212
25213 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
25214 handling of multiple abstraction modules.
25215
f56a8756 252162009-08-04 Robert Millan <rmh.grub@aybabtu.com>
25217
25218 Fix a bug resulting in black screen when loading Linux using a
25219 packed video mode.
25220
25221 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
25222 function.
25223
25224 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
25225 (grub_vbe_bios_getset_dac_palette_width): New function.
25226 (grub_vbe_bios_get_dac_palette_width)
25227 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
25228 grub_vbe_bios_getset_dac_palette_width()).
25229
25230 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
25231 check for return status.
25232 (grub_vbe_get_video_mode_info): When getting information for a packed
25233 mode (<= 8 bpp), obtain DAC palette width using
25234 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
25235 {red,green,blue}_mark_size.
25236
222671b2 252372009-08-04 Felix Zielcke <fzielcke@z-51.de>
25238
ecb1a6d9 25239 * commands/search.c (options): Fix help output to match actual code.
222671b2 25240
f84114f5 252412009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
25242
25243 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
25244 of homegrown code.
25245
bd288a20 252462009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 25247
25248 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
25249 on XFS or ReiserFS.
25250
8aab5e25 252512009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25252
25253 Support Apple partition map with sector size different from 512 bytes.
25254
25255 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
25256 (apple_partition_map_iterate): Respect 'aheader.blocksize'
25257 and 'apart.partmap_size'.
25258
6ad6258a 252592009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
252602009-08-01 Robert Millan <rmh.grub@aybabtu.com>
25261
25262 Fix cpuid command.
25263
25264 * commands/i386/cpuid.c (options): New variable.
25265 (grub_cmd_cpuid): Return real error.
25266 (GRUB_MOD_INIT(cpuid)): Declare options.
25267
67459bc6 252682009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
25269
25270 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
25271 valid.
25272
fbc6ab54 252732009-07-31 Bean <bean123ch@gmail.com>
25274
25275 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
25276 log2_inode.
25277 (grub_fshelp_node): Move inode field to the end.
25278 (grub_xfs_data): Remove inode field.
25279 (grub_xfs_inode_block): Calculate inode size using sblock.
25280 (grub_xfs_inode_offset): Likewise.
25281 (grub_xfs_read_inode): Calculate inode size using sblock.
25282 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
25283 (grub_xfs_iterate_dir): Calculate inode size using sblock.
25284 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
25285 to match inode size.
25286 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
25287 not accessible when data is null.
25288 (grub_xfs_open): Likewise.
25289
f45d6cfc 252902009-07-31 Bean <bean123ch@gmail.com>
25291
25292 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
25293 Don't change pv->disk if it's already set.
25294
25295 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
25296 (grub_raid_register): ... here.
25297 (grub_raid_rescan): Removed.
25298
25299 * include/grub/raid.h (grub_raid_rescan): Removed.
25300
25301 * util/grub-fstest.c: Remove include file <grub/raid.h>.
25302 (fstest): Replace grub_raid_rescan with module fini function followed
25303 by init function.
25304
25305 * util/grub-probe.c: Add include file <grub/raid.h>.
25306 (probe_raid_level): New function.
25307 (probe): Detect abstraction by walking the disk device, support two
25308 level of abstraction (LVM on RAID) when detecting partition map.
25309
24443b5a 253102009-07-31 Pavel Roskin <proski@gnu.org>
25311
25312 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
25313 to grub_zalloc(), it was erroneous.
25314 Reported by Bean <bean123ch@gmail.com>
25315
a275d9e7 253162009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
25317
25318 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 25319 embedding zone, not only the first one.
a275d9e7 25320
56c5a47f 253212009-07-29 Joe Auricchio <jauricchio@gmail.com>
25322
25323 * term/gfxterm.c (clear_char): New function.
25324 (grub_virtual_screen_setup): Use clear_char.
25325 (scroll_up): Likewise.
25326 (grub_virtual_screen_cls): Likewise.
25327
67bb323a 253282009-07-29 Felix Zielcke <fzielcke@z-51.de>
25329
25330 * util/deviceiter.c (get_acceleraid_disk_name): New static
25331 function.
25332 (grub_util_iterate_devices): Handle Accelraid devices.
25333 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
25334
388a7c75 253352009-07-28 Robert Millan <rmh.grub@aybabtu.com>
25336
25337 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
25338 separator for the suggested gfxpayload string (';' collides with the
25339 parser and needs escaping).
25340
3bb7abcf 253412009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25342
25343 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
25344 Clear direction flag before jumping to OS.
25345 (grub_multiboot2_real_boot): Likewise.
25346
2ddd36d7 253472009-07-28 Felix Zielcke <fzielcke@z-51.de>
25348
25349 * util/i386/pc/grub-install: Fix parsing of --disk-module
25350 option.
25351
c521b62b 253522009-07-28 Felix Zielcke <fzielcke@z-51.de>
25353
25354 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
25355 when embedding.
25356
880e0a0c 253572009-07-26 Felix Zielcke <fzielcke@z-51.de>
25358
25359 * util/grub-mkconfig.in (package_version): New variable.
25360 Use it do display the version.
25361
2366e356 253622009-07-25 Felix Zielcke <fzielcke@z-51.de>
25363
25364 * kern/file.c (grub_file_open): Revert to previous check with
25365 grub_errno.
25366
7ad8c80e 253672009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25368
25369 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
25370 from help line. It's out of sync with code.
25371
72b9658b 253722009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25373
25374 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
25375 entries on failed boot.
25376
77435277 253772009-07-25 Felix Zielcke <fzielcke@z-51.de>
25378
25379 * kern/file.c (grub_file_open): Fix an error check.
25380
fcaa8b21 253812009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
25382
35d16c74 25383 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
25384 partition map couldn't be identified.
fcaa8b21 25385
48904cd1 253862009-07-23 Pavel Roskin <proski@gnu.org>
25387
ef3c317f 25388 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
25389 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
25390 case of little endian words becomes just an optimization.
25391 Respect const modifier.
ad8ea1f4 25392 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 25393
48904cd1 25394 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
25395 to avoid loss of upper bits if align is unsigned and shorter
25396 than addr.
25397
260c9a89 253982009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25399
25400 UUID support for UFS
25401
25402 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
25403 (grub_ufs_uuid): New function.
25404 (grub_ufs_fs): add .uuid
25405
f76ce889 254062009-07-21 Pavel Roskin <proski@gnu.org>
25407
25408 * kern/dl.c (grub_dl_check_header): Make static.
25409
6a6cbcaf 254102009-07-21 Felix Zielcke <fzielcke@z-51.de>
25411
25412 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
25413 add drivemap for Vista. It breaks Windows 7.
25414
cffcddb2 254152009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25416
25417 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
25418 128 bytes
25419
1ef44b80 254202009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25421
25422 Add BFS support
25423
25424 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
25425 (grub_fstest_SOURCES): Likewise.
25426 (pkglib_MODULES): Add befs.mod.
25427 (befs_mod_SOURCES): New variable.
25428 (befs_mod_CFLAGS): Likewise.
25429 (befs_mod_LDFLAGS): Likewise.
25430 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25431 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25432 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25433 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25434 (grub_setup_SOURCES): Likewise.
25435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25436 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25437 (grub_setup_SOURCES): Likewise.
25438 * fs/befs.c: New file.
25439 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
25440 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
25441 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
25442 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
25443 (B_KEY_INDEX_ALIGN): New declaration.
25444 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
25445 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
25446 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
25447 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
25448 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
25449 (grub_afs_mount) [MODE_BFS]: Likewise.
25450 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
25451 (grub_afs_fs): Use GRUB_AFS_FSNAME
25452 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
25453 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
25454 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
25455 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
25456
4f253044 254572009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
25458
25459 * util/getroot.c (find_root_device): Add support for MacOSX.
25460 * util/hostdisk.c: Likewise.
25461
57a55913 254622009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25463
25464 * font/font.c (find_glyph): Check whether a font is present to avoid
25465 segmentation fault.
75421ca9 25466
254672009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 25468
25469 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
25470
e98cd0c2 254712009-07-20 Pavel Roskin <proski@gnu.org>
25472
25473 * configure.ac: Trim excessively wordy excuses.
25474
1d2d169a 254752009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25476
25477 Add symlink, mtime and label support to AtheFS.
25478
25479 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
25480 (grub_afs_iterate_dir): Handle symlinks.
25481 (grub_afs_open): Use grub_afs_read_symlink.
25482 (grub_afs_dir): Likewise.
25483 Pass mtime.
25484 (grub_afs_label): New function.
25485 (grub_afs_fs): Add grub_afs_label.
25486 (grub_afs_read_symlink): New function.
25487
186f3189 254882009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25489
25490 Fix AtheFS support.
25491
25492 * fs/afs.c: Fix comments style.
25493 (grub_afs_blockrun): Declare as packed.
25494 (grub_afs_datastream): Likewise.
25495 (grub_afs_bnode): Likewise.
25496 (grub_afs_btree): Likewise.
25497 (grub_afs_sblock): Likewise.
25498 Declare `name' as char.
25499 (grub_afs_inode): Declare as packed.
25500 Change void *vnode to grub_uint32_t unused.
25501 (grub_afs_iterate_dir): Check that key_size is positive.
25502 (grub_afs_mount): Don't read superblock twice.
75421ca9 25503 (grub_afs_dir): Don't free node in case of error,
186f3189 25504 grub_fshelp_find_file already handles this.
25505 (grub_afs_open): Likewise.
25506
5680109e 255072009-07-19 Pavel Roskin <proski@gnu.org>
25508
25509 * Makefile.in: Remove LIBLZO and enable_lzo.
25510 * conf/i386-pc.rmk: Remove lzo support.
25511 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
25512 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
25513 support.
25514 * kern/i386/pc/lzo1x.S: Remove.
25515 * kern/i386/pc/startup.S: Remove lzo support.
25516 * util/i386/pc/grub-mkimage.c: Likewise.
25517
ac70fa32 255182009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
25519
25520 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
25521 * fs/xfs.c (grub_xfs_dir): Likewise.
25522 * fs/afs.c (grub_afs_dir): Likewise.
25523 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
25524 (grub_iso9660_open): Likewise.
25525 * fs/jfs.c (grub_jfs_open): Likewise.
25526 * fs/ext2.c (grub_ext2_dir): Likewise.
25527 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
25528 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 25529
eab58da2 255302009-07-16 Pavel Roskin <proski@gnu.org>
25531
d2838156 25532 * configure.ac: Never add "-c" to CFLAGS.
25533
55c70904 25534 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
25535
43e6200c 25536 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
25537 grub_cv_cc_efiemu should be used.
25538
ce7a733d 25539 * configure.ac: Typo fixes.
25540
eab58da2 25541 * kern/mm.c (grub_zalloc): New function.
25542 (grub_debug_zalloc): Likewise.
25543 * include/grub/mm.h: Declare grub_zalloc() and
25544 grub_debug_zalloc().
25545 * util/misc.c (grub_zalloc): New function.
25546 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
25547 instead of grub_malloc(), remove unneeded initializations.
25548 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
25549 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
25550 * commands/parttool.c (grub_cmd_parttool): Likewise.
25551 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25552 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
25553 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
25554 * disk/usbms.c (grub_usbms_finddevs): Likewise.
25555 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
25556 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
25557 (grub_cmd_efiemu_pnvram): Likewise.
25558 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
25559 * fs/iso9660.c (grub_iso9660_mount): Likewise.
25560 (grub_iso9660_iterate_dir): Likewise.
25561 * fs/jfs.c (grub_jfs_opendir): Likewise.
25562 * fs/ntfs.c (list_file): Likewise.
25563 (grub_ntfs_mount): Likewise.
25564 * kern/disk.c (grub_disk_open): Likewise.
25565 * kern/dl.c (grub_dl_load_core): Likewise.
25566 * kern/elf.c (grub_elf_file): Likewise.
25567 * kern/env.c (grub_env_context_open): Likewise.
25568 (grub_env_set): Likewise.
25569 (grub_env_set_data_slot): Likewise.
25570 * kern/file.c (grub_file_open): Likewise.
25571 * kern/fs.c (grub_fs_blocklist_open): Likewise.
25572 * loader/i386/multiboot.c (grub_module): Likewise.
25573 * loader/xnu.c (grub_xnu_create_key): Likewise.
25574 (grub_xnu_create_value): Likewise.
25575 * normal/main.c (grub_normal_add_menu_entry): Likewise.
25576 (read_config_file): Likewise.
25577 * normal/menu_entry.c (make_screen): Likewise.
25578 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25579 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
25580 * script/sh/script.c (grub_script_parse): Likewise.
25581 * video/bitmap.c (grub_video_bitmap_create): Likewise.
25582 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
25583 * video/readers/png.c (grub_png_output_byte): Likewise.
25584 (grub_video_reader_png): Likewise.
25585
830afef7 255862009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 25587
25588 Enable all targets that can be built by default
25589
830afef7 25590 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 25591 grub-mkfont and grub-fstest if they can be built
25592
ee293aee 255932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25594
25595 Fix hang and segmentation fault in grub-emu-usb
25596
25597 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
25598 * util/usb.c (grub_libusb_devices): likewise
25599 (grub_libusb_init): rename to ...
25600 (GRUB_MOD_INIT (libusb)):...this
25601 (grub_libusb_fini): rename to ..
25602 (GRUB_MOD_FINI (libusb)):...this
25603 * disk/usbms.c (grub_usbms_transfer): fix retry logic
25604 * include/grub/disk.h (grub_raid_init): removed, it's useless
25605 (grub_raid_fini): likewise
25606 (grub_lvm_init): likewise
25607 (grub_lvm_fini): likewise
25608 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
25609 by grub_init_all
25610
94414221 256112009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25612
25613 Fix libusb
25614
25615 * Makefile.in (LIBUSB): new macro
25616 * genmk.rb (Utility/print_tail): new method
25617 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
25618 (top level): call util.print_tail at the end.
25619
59ade63d 256202009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25621
25622 Make FreeBSD accept zpool.cache
25623
25624 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
25625 type is /boot/zfs/zpool.cache
25626
a58da8c7 256272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25628
25629 Fix 64-bit efiemu
25630
25631 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
25632 correct wrong typedef
25633 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
25634
20591577 256352009-07-15 Pavel Roskin <proski@gnu.org>
25636
560ca572 25637 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
25638 * kern/disk.c (struct grub_disk_cache): Likewise.
25639
e8e8e4fd 25640 * commands/probe.c (options): Typo fix.
25641
fde24e10 25642 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
25643 Increase to 0x5a to accommodate FAT32. Adjust other offsets
25644 accordingly.
25645 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
25646
379c54c1 25647 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
25648 the end of "Error" to make the message more readable.
25649
7bd8f5bf 25650 * boot/i386/pc/boot.S (kernel_segment): Remove.
25651 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
25652 for destination.
25653
40b132c5 25654 * boot/i386/pc/boot.S (boot_version): Remove.
25655 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
25656 Remove.
25657
20591577 25658 * include/grub/i386/pc/boot.h: Sort all offsets.
25659 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
25660 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
25661 * boot/i386/pc/boot.S: Assert location of every offset listed in
25662 include/grub/i386/pc/boot.h.
25663
2df32b2c 256642009-07-13 Pavel Roskin <proski@gnu.org>
25665
44b5d879 25666 * include/grub/i386/coreboot/machine.h: Rename
25667 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
25668 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
25669 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
25670
17dc3751 25671 * kern/dl.c: Force native word size to suppress warnings when
25672 compiling grub-emu.
25673
2df32b2c 25674 * kern/device.c (grub_device_iterate): Change struct part_ent to
25675 hold the name, not a pointer to it. Use one grub_malloc() per
25676 partition, not two. Free partition_name if grub_malloc() fails.
25677 Set ents to NULL only before grub_partition_iterate() is called.
25678
75c59f59 256792009-07-11 Bean <bean123ch@gmail.com>
25680
25681 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
25682 childname.
25683
0ae1bf88 256842009-07-10 Bean <bean123ch@gmail.com>
256852009-07-10 Robert Millan <rmh.grub@aybabtu.com>
25686
25687 * kern/ieee1275/openfw.c (grub_children_iterate)
25688 (grub_devalias_iterate): Fix size evaluation for property or path
25689 strings, which was broken since r2132.
25690
8279cade 256912009-07-07 Pavel Roskin <proski@gnu.org>
25692
7d8a52d3 25693 * commands/search.c (search_file): Merge into ...
25694 (search_fs): ... this. Accept search type as argument.
25695 (grub_cmd_search): Pass search type to search_fs().
25696
25f9a05a 25697 * include/grub/util/console.h: New file.
25698 * util/console.c: Use it instead of grub/machine/console.h.
25699 * util/grub-emu.c: Likewise.
25700
8279cade 25701 * lib/arg.c (find_long_option): Remove.
25702 (find_long): Add `len' argument, make `s' const char *.
25703 (grub_arg_parse): Parse long options in place, not in a
25704 temporary buffer.
25705
4a11b60f 257062009-07-06 Pavel Roskin <proski@gnu.org>
25707
99f68041 25708 * commands/search.c (search_fs): Fix potential NULL pointer
25709 dereference.
25710
4a11b60f 25711 * commands/search.c (search_fs): Replace QUID macro with quid_fn
25712 function pointer.
25713
e110f4de 257142009-07-06 Daniel Mierswa <impulze@impulze.org>
25715
25716 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
25717 comparison.
25718
46eeb6a2 257192009-07-05 Pavel Roskin <proski@gnu.org>
25720
bab74958 25721 * include/grub/i386/linux.h (struct linux_kernel_params):
25722 Restore padding3, it's still needed.
25723
46eeb6a2 25724 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
25725 FreeBSD.
25726 * util/osdetect.lua: Likewise.
25727
b4a1dc79 257282009-07-05 Bean <bean123ch@gmail.com>
25729
25730 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
25731
25732 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
25733 (grub_lua_getenv): Likewise.
25734 (grub_lua_setenv): Likewise.
25735 (save_errno): New function.
25736 (push_result): Likewise.
25737 (grub_lua_enum_device): Likewise.
25738 (grub_lua_enum_file): Likewise.
25739 (grub_lua_file_open): Likewise.
25740 (grub_lua_file_close): Likewise.
25741 (grub_lua_file_seek): Likewise.
25742 (grub_lua_file_read): Likewise.
25743 (grub_lua_file_getline): Likewise.
25744 (grub_lua_file_getsize): Likewise.
25745 (grub_lua_file_getpos): Likewise.
25746 (grub_lua_file_eof): Likewise.
25747 (grub_lua_file_exist): Likewise.
25748 (grub_lua_add_menu): Likewise.
25749
25750 * script/lua/grub_lua.h (isupper): New inline function.
25751 (islower): Likewise.
25752 (ispunct): Likewise.
25753 (isxdigit): Likewise.
25754 (strcspn): Change to normal function.
25755 (strpbkr): New function declaration.
25756 (memchr): Likewise.
25757
25758 * script/lua/grub_main.c (scan_str): New function.
25759 (strcspn): Likewise.
25760 (strpbrk): Likewise.
25761 (memchr): Likewise.
25762
25763 * script/lua/linit.c (lualibs): Enable the string library.
25764
25765 * util/osdetect.lua: New file.
25766
2da92295 257672009-07-04 Robert Millan <rmh.grub@aybabtu.com>
25768
25769 * include/grub/i386/linux.h (struct linux_kernel_params): Add
25770 `capabilities' member.
25771
b2582ec9 257722009-07-02 Pavel Roskin <proski@gnu.org>
25773
25774 * genparttoollist.sh: Add missing newline at the end.
25775
32622956 257762009-07-01 Pavel Roskin <proski@gnu.org>
25777
87a7339e 25778 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
25779
d23af54e 25780 * util/hostdisk.c (open_device): Remove `const' from
25781 `sysctl_size', as sysctlbyname() can change it (in this case it
25782 doesn't actually happen).
25783
c94b18a9 25784 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
25785 using signed long int constants.
25786
c6cd3ef0 25787 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
25788 constant to avoid a warning on FreeBSD.
25789
0df63420 25790 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
25791 where it's needed.
25792
999577f1 25793 * Makefile.in: Install include/grub/machine symlink.
25794
6f41557f 25795 * Makefile.in: When installing symlinks, use "cp -fR", which
25796 works on FreeBSD and MacOSX.
25797 From Yves Blusseau <cl7m42e02@sneakemail.com>
25798
c8d22988 25799 * kern/dl.c (grub_dl_resolve_symbol): Make static.
25800 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
25801
1b96e952 25802 * util/misc.c: Move grub_reboot() and grub_halt() ...
25803 * util/grub-emu.c: ... here. Make main_env static.
25804 * include/grub/util/misc.h: Remove main_env.
25805
2ef0084d 25806 * kern/mm.c: Use correct format to print size_t.
25807
32622956 25808 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
25809 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
25810 * kern/powerpc/dl.c: Likewise.
25811 * kern/sparc64/dl.c: Likewise.
25812 * kern/x86_64/dl.c: Likewise.
25813
3f7f0cd0 258142009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25815
25816 Fix grub-emu build on sparc64-ieee1275.
25817
75421ca9 25818 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 25819 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
25820
211d06b5 258212009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25822
25823 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
25824 (grub_reboot, grub_halt): New functions.
25825
25826 * util/i386/pc/misc.c: Delete. Update all users.
25827 * util/sparc64/ieee1275/misc.c: Likewise.
25828 * util/powerpc/ieee1275/misc.c: Likewise.
25829
aaf53e3c 258302009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25831
25832 * conf/i386.rmk (setjmp_mod_SOURCES)
25833 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
25834 * conf/common.rmk (setjmp_mod_SOURCES)
25835 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
25836 to use $(target_cpu).
25837 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
25838 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
25839 * conf/powerpc-ieee1275.rmk: Likewise.
25840 * conf/sparc64-ieee1275.rmk: Likewise.
25841
25842 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
25843 $(target_cpu) for kern/$(target_cpu)/dl.c.
25844 * conf/i386-efi.rmk: Likewise.
25845 * conf/i386-ieee1275.rmk: Likewise.
25846 * conf/x86_64-efi.rmk: Likewise.
25847 * conf/i386-coreboot.rmk: Likewise.
25848 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
25849 $(target_cpu) for kern/$(target_cpu)/dl.c and for
25850 kern/$(target_cpu)/cache.S.
25851 * conf/sparc64-ieee1275.rmk: Likewise.
25852
a337130b 258532009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25854
25855 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
25856 type to `grub_uint8_t', and adjust `padding9' accordingly.
25857
c6fe4d53 258582009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25859
b09db61d 25860 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
25861
c6fe4d53 25862 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
25863 assembly in final jump, using register constraints.
25864
b09db61d 25865 (grub_linux_boot): For text mode, initialize `have_vga' using
25866 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
25867
25868 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
25869 right before the final jump.
25870
25871 Set `video_mode' to 0x3.
25872
25873 Document initialization of `video_page', `video_mode' and
25874 `video_ega_bx'.
25875
28333ad0 258762009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25877
25878 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
25879 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 25880 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 25881
02164e1b 258822009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25883
25884 Fix build on Debian / sparc.
25885
25886 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
25887
18b6c557 258882009-06-28 Pavel Roskin <proski@gnu.org>
25889
85f2aab6 25890 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
25891 fix a warning.
25892
18b6c557 25893 * util/grub.d/10_linux.in: Match SUSE style initrd names.
25894
ad760f81 258952009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25896
25897 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
25898 `err'.
25899
87a4623b 259002009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25901
25902 Revert r2338.
25903
25904 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
25905 file can't be opened. grub_file_open() is already supposed to set
75421ca9 25906 grub_errno / grub_errmsg appropriately.
87a4623b 25907 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25908
8231fb77 259092009-06-27 Pavel Roskin <proski@gnu.org>
259102009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25911
25912 * include/grub/dl.h: Include grub/elf.h.
25913 (struct grub_dl): Add symtab field.
25914 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
25915 GRUB_MODULES_MACHINE_READONLY.
25916 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
25917 of the header for read-only modules.
25918 (grub_dl_unload): Free mod->symtab for read-only modules.
25919 * kern/i386/dl.c: Use mod->symtab.
25920 * kern/powerpc/dl.c: Likewise.
25921 * kern/sparc64/dl.c: Likewise.
25922 * kern/x86_64/dl.c: Likewise.
25923
25924 * conf/i386-qemu.rmk: New file.
25925 * kern/i386/qemu/startup.S: Likewise.
25926 * kern/i386/qemu/mmap.c: Likewise.
25927 * boot/i386/qemu/boot.S: Likewise.
25928 * include/grub/i386/qemu/time.h: Likewise.
25929 * include/grub/i386/qemu/serial.h: Likewise.
25930 * include/grub/i386/qemu/kernel.h: Likewise.
25931 * include/grub/i386/qemu/console.h: Likewise.
25932 * include/grub/i386/qemu/boot.h: Likewise.
25933 * include/grub/i386/qemu/init.h: Likewise.
25934 * include/grub/i386/qemu/machine.h: Likewise.
25935 * include/grub/i386/qemu/loader.h: Likewise.
25936 * include/grub/i386/qemu/memory.h: Likewise.
25937
25938 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
25939 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
25940 [qemu] (pkglib_IMAGES): Add `boot.img'.
25941 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
25942 [qemu] (boot_img_FORMAT): New variables.
25943 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
25944 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
25945 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
25946 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25947 [qemu] (kernel_img_FORMAT): New variables.
25948
25949 * configure.ac: Recognise `i386-qemu'.
25950
25951 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
25952 (for no compression).
25953 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
25954 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
25955 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
25956 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
25957 ifdefs).
25958
97fe384e 259592009-06-27 Pavel Roskin <proski@gnu.org>
25960
25961 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
25962 read.
25963 * efiemu/prepare32.c: Likewise.
25964 * efiemu/prepare64.c: Likewise.
25965
c402ab17 259662009-06-26 Pavel Roskin <proski@gnu.org>
25967
25968 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
25969 * include/grub/elf.h: Define symbols without "32" or "64" based
25970 on GRUB_TARGET_WORDSIZE.
25971 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
25972 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
25973 ELF definitions.
25974 * efiemu/loadcore64.c: Likewise.
25975 * loader/i386/bsd32.c: Likewise.
25976 * loader/i386/bsd64.c: Likewise.
25977 * kern/dl.c: Remove own ELF definitions.
25978 * util/i386/efi/grub-mkimage.c: Likewise.
25979
9bbdfd4d 259802009-06-23 Robert Millan <rmh.grub@aybabtu.com>
25981
25982 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
25983 segment 0x0 unconditionally, because the reference generated by
25984 GAS is an absolute address.
25985
a42ce6e9 259862009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25987
25988 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
25989 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
25990
c952cf92 259912009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25992
25993 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
25994 indexes. Check for -f explicitly.
cc3752ad 25995 (search_file): Improve error message.
25996 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 25997
132a0a59 259982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25999
26000 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
26001 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
26002
387a140c 260032009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26004
26005 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
26006 * conf/i386-ieee1275.rmk: Likewise.
26007 * conf/i386-coreboot.rmk: Likewise.
26008
26009 * kern/i386/pc/startup.S (grub_stop): Remove function.
26010 * kern/i386/ieee1275/startup.S: Likewise.
26011 * kern/i386/coreboot/startup.S: Likewise.
26012 * kern/i386/misc.S (grub_stop): New function.
26013
41da9665 260142009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26015
26016 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
26017 * kern/i386/realmode.S (real_to_prot): ... to here.
26018
bf337234 260192009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26020
26021 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
26022 with `kernel.img'.
26023 (kernel_elf_SOURCES): Rename to ...
26024 (kernel_img_SOURCES): ... this.
26025 (kernel_elf_HEADERS): Rename to ...
26026 (kernel_img_HEADERS): ... this. Update all users.
26027 (kernel_elf_ASFLAGS): Rename to ...
26028 (kernel_img_ASFLAGS): ... this.
26029 (kernel_elf_CFLAGS): Rename to ...
26030 (kernel_img_CFLAGS): ... this.
26031 (kernel_elf_LDFLAGS): Rename to ...
26032 (kernel_img_LDFLAGS): ... this.
26033 * conf/i386-coreboot.rmk: Likewise.
26034 * conf/powerpc-ieee1275.rmk: Likewise.
26035
26036 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
26037 with "kernel.img".
26038
f52196ff 260392009-06-21 Pavel Roskin <proski@gnu.org>
26040
c3cee413 26041 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
26042 to match nested functions.
26043 * loader/sparc64/ieee1275/linux.c: Likewise.
26044
f52196ff 26045 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
26046
58750afc 260472009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26048
26049 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
26050 all i386 platforms.
26051
15355c7d 260522009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26053
26054 Fix asm file handling on ELF, and remove workarounds.
26055
26056 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 26057 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 26058 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
26059 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
26060
3f3ec72b 260612009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
26062
26063 Load BSD ELF modules
26064
26065 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
26066 and loader/i386/bsd64.c
26067 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
26068 (FREEBSD_MODTYPE_ELF_MODULE): New definition
26069 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
26070 (grub_freebsd_load_elfmodule32): New declaration
26071 (grub_freebsd_load_elfmoduleobj64): Likewise
26072 (grub_freebsd_load_elf_meta32): Likewise
26073 (grub_freebsd_load_elf_meta64): Likewise
26074 (grub_freebsd_add_meta): Likewise
26075 (grub_freebsd_add_meta_module): Likewise
26076 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
26077 (grub_freebsd_add_meta_module): Likewise and move module-specific
26078 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
26079 (grub_cmd_freebsd): Add elf-kernel specific parts
26080 based on grub_freebsd_add_meta_module
26081 (grub_cmd_freebsd_module): Add type parsing moved from
26082 grub_freebsd_add_meta_module
26083 (grub_cmd_freebsd_module_elf): New function
26084 (cmd_freebsd_module_elf): New variable
26085 (GRUB_MOD_INIT): Register freebsd_module_elf
26086 * loader/i386/bsd32.c: New file
26087 * loader/i386/bsd64.c: Likewise
26088 * loader/i386/bsdXX.c: Likewise
26089 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
26090 (grub_elf64_load): Likewise
26091 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
26092 All users updated
26093 (grub_elf64_load_hook_t): Likewise
26094
0db15301 260952009-06-21 Colin Watson <cjwatson@ubuntu.com>
26096
26097 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
26098 variable.
26099 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
26100 don't write a menu entry for recovery mode.
26101
546796c1 261022009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26103
26104 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
26105 after it's no longer needed.
26106
cd7310d5 261072009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26108
26109 * include/grub/i386/loader.h (grub_linux_prot_size)
26110 (grub_linux_tmp_addr, grub_linux_real_addr)
26111 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26112 GRUB_MACHINE_PCBIOS.
26113 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26114 common grub_util_info() call to ...
26115 (generate_image): ... here.
26116 Fix use of uninitialized memory, comparison of signed with
26117 unsigned integers and memory leak.
26118 Remove bogus module address message.
26119
ab32d3b5 261202009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26121
26122 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26123 grub_raid_register
26124 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26125
024ef597 261262009-06-19 Pavel Roskin <proski@gnu.org>
26127
26128 * configure.ac: Remove stray AC_MSG_CHECKING.
26129
3ac72b51 261302009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26131
26132 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 26133
e14cd814 261342009-06-18 Pavel Roskin <proski@gnu.org>
26135
26136 * conf/common.rmk: Add fs_file.mod.
26137 * disk/fs_file.c: New file.
26138 * include/grub/disk.h (enum grub_disk_dev_id): Add
26139 GRUB_DISK_DEVICE_FILE_ID.
26140
26586d98 261412009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26142
26143 Fix build with Apple's toolchain. Part 2
26144
26145 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26146 a fake start
26147
26de2bcd 261482009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26149
26150 Fix build with Apple's toolchain. Part 1
26151
26152 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26153 for long calls
26154 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 26155 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 26156 Apple's toolchain
26157
09b3490b 261582009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26159
26160 Fix warnings
26161
26162 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26163 (decomp_block): initialize ch
26164 use grub_memcpy instead of memcpy
26165
c22a006a 261662009-06-17 Pavel Roskin <proski@gnu.org>
26167
d3638678 26168 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26169 version, use declarations needed to use vga_text as the startup
26170 console.
26171
c22a006a 26172 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26173 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
26174 the kernel.
26175 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
26176 and grub_at_keyboard_fini(), it's done on module load and
26177 unload.
26178
05b129e0 261792009-06-17 Felix Zielcke <fzielcke@z-51.de>
26180
26181 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
26182 file can't be found.
26183 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26184
cf24ed9e 261852009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26186
26187 Fix newline handling
26188
26189 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 26190 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 26191 (grub_script_yylex): don't segfault on unterminated script
26192 newline terminates command and variable
26193
74aa8e4b 261942009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26195
26196 avoid double grub_adjust_range call. Bug reported by David Simner
26197
26198 * kern/disk.c (grub_disk_write): change to raw disk access before
26199 calling disk_read
26200
1bd265f3 262012009-06-17 Colin Watson <cjwatson@ubuntu.com>
26202
26203 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
26204 spaces, for the benefit of help2man.
26205 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26206
a2d08c06 262072009-06-16 Pavel Roskin <proski@gnu.org>
26208
26209 * kern/i386/halt.c: Include grub/machine/init.h.
26210 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
26211
b97bcb19 262122009-06-16 Felix Zielcke <fzielcke@z-51.de>
26213
26214 * util/grub.d/30_os-prober.in: Use ${root} in the generated
26215 drivemap menuentry.
26216
0644f96c 262172009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
26218
26219 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
26220 `echo' command.
26221
3ef17a2e 262222009-06-16 Pavel Roskin <proski@gnu.org>
26223
26224 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
26225 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
26226 save %dx, we only need %dl and we never change it.
26227 * boot/i386/pc/cdboot.S: Don't set the root drive.
26228 * boot/i386/pc/pxeboot.S: Likewise.
26229 * include/grub/i386/pc/boot.h: Remove
26230 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
26231 GRUB_BOOT_MACHINE_DRIVE_CHECK.
26232 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
26233 * kern/i386/pc/init.c (make_install_device): Remove references
26234 to grub_root_drive.
26235 * kern/i386/pc/startup.S: Likewise.
26236 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
26237
693fe637 262382009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26239
26240 xnu_uuid command
26241
26242 * commands/xnu_uuid.c: new file
26243 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
26244 (xnu_uuid_mod_SOURCES): new variable
26245 (xnu_uuid_mod_CFLAGS): likewise
26246 (xnu_uuid_mod_LDFLAGS): likewise
26247 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26248 * conf/i386-ieee1275.rmk: likewise
26249 * conf/i386-pc.rmk: likewise
26250 * conf/powerpc-ieee1275.rmk: likewise
26251 * conf/sparc64-ieee1275.rmk: likewise
26252 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
26253
c9da87d0 262542009-06-16 Pavel Roskin <proski@gnu.org>
26255
26256 * configure.ac: Avoid '==' in test command, it's not portable.
26257
9c6f4596 262582009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26259
26260 Probe command
26261
26262 * commands/probe.c: new file
26263 * conf/common.rmk (pkglib_MODULES): add probe.mod
26264 (probe_mod_SOURCES): new variable
26265 (probe_mod_CFLAGS): likewise
26266 (probe_mod_LDFLAGS): likewise
26267 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26268 * conf/i386-ieee1275.rmk: likewise
26269 * conf/i386-pc.rmk: likewise
26270 * conf/powerpc-ieee1275.rmk: likewise
26271 * conf/sparc64-ieee1275.rmk: likewise
26272
70b7f9fd 262732009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
26274
26275 Fix handling of string like \"hello\" and "a
26276 b"
26277
26278 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
26279 (grub_script_yylex): fix parsing of quoting, escaping and newline
26280
71c79a6b 262812009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
26282
dd74360c 26283 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 26284 handling
dd74360c 26285
0644f96c 262862009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 26287
26288 * util/grub-mkconfig.in: Fix parsing of --output option.
26289
e40893c3 262902009-06-12 Pavel Roskin <proski@gnu.org>
26291
26292 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
26293 genmk.rb don't need to be generated or installed.
26294
3a1acfe2 262952009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26296
26297 * commands/i386/pc/drivemap_int13h.S: add more comments
26298
3a4575d4 262992009-06-11 Pavel Roskin <proski@gnu.org>
26300
0658e928 26301 * Makefile.in (uninstall): Uninstall manuals.
26302
ca0388f0 26303 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
26304 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
26305 and update-grub_lib in two places.
26306 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
26307
e3b27c39 26308 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
26309 a compiler warning.
26310
3a4575d4 26311 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
26312 `entry_lo' to fix variable shadowing.
26313
af1f4f55 263142009-06-11 Christian Franke <franke@computer.org>
26315
26316 * kern/misc.c (__enable_execute_stack): Add missing return type
26317 to prevent gcc warning.
26318
5225e649 263192009-06-11 Felix Zielcke <fzielcke@z-51.de>
26320
26321 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
26322
7d83bd47 263232009-06-11 Pavel Roskin <proski@gnu.org>
26324
c1cb63ba 26325 * Makefile.in: Don't rely on any scripts being executable.
26326 Always use $(SHELL) to run shell scripts.
26327
7d83bd47 26328 * configure.ac: Always define ___main if using -nostdlib. This
26329 fixes tests on Cygwin.
26330
948f48e7 263312009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
26332
26333 UDF fix
26334
7d83bd47 26335 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 26336 is in bytes and not in blocks
7d83bd47 26337
8ada9bc1 263382009-06-11 Pavel Roskin <proski@gnu.org>
26339
26340 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
26341 warning.
26342
25ad2323 263432009-06-11 Felix Zielcke <fzielcke@z-51.de>
26344
26345 * util/grub.d/30_os-prober.in: Fix a comment. Source
26346 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
26347 to set the root device. Place drivemap command in the generated
26348 chain entry.
26349
e65acb0c 263502009-06-11 Pavel Roskin <proski@gnu.org>
26351
26352 * configure.ac: Remove host_m32. Issues with 64-bit utilities
26353 have long been resolved.
26354
f285fe2d 263552009-06-11 Colin Watson <cjwatson@ubuntu.com>
26356
bd47b0b5 26357 * util/grub.d/10_linux.in: Capitalise "Linux".
26358
f285fe2d 26359 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
26360
a0c62e4e 263612009-06-11 Pavel Roskin <proski@gnu.org>
26362
b6783cb2 26363 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
26364 fix a gcc warning and ensure that the function won't ever exit.
26365
dde032e8 26366 * kern/i386/ieee1275/init.c: Add missing prototype for
26367 grub_stop_floppy().
26368
22cd079d 26369 * loader/ieee1275/multiboot2.c [__i386__]: Include
26370 grub/cpu/multiboot.h.
26371
a0c62e4e 26372 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
26373 casts to short - they are not portable and cause warnings. Fix
26374 use of uninitialized values in input_buf. Use ARRAY_SIZE.
26375
63963d17 263762009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
26377
26378 Drivemap fixes
26379
26380 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
26381 new function
26382 (grub_get_root_biosnumber_saved): new variable
26383 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
26384 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 26385 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 26386 %dx after the call if necessary
26387 * conf/common.rmk (pkglib_MODULES): remove boot.mod
26388 (boot_mod_SOURCES): remove
26389 (boot_mod_CFLAGS): remove
26390 (boot_mod_LDFLAGS): remove
26391 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
26392 (boot_mod_SOURCES): new variable
26393 (boot_mod_CFLAGS): likewise
26394 (boot_mod_LDFLAGS): likewise
26395 * conf/i386-efi.rmk: likewise
26396 * conf/i386-ieee1275.rmk: likewise
26397 * conf/i386-pc.rmk: likewise
26398 * conf/powerpc-ieee1275.rmk: likewise
26399 * conf/sparc64-ieee1275.rmk: likewise
26400 * conf/x86_64-efi.rmk: likewise
26401 * include/grub/i386/pc/biosnum.h: new file
26402 * lib/i386/pc/biosnum.c: likewise
26403 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
26404 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
26405 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 26406
33abf7ae 264072009-06-10 Pavel Roskin <proski@gnu.org>
26408
5ac35b35 26409 * io/gzio.c (test_header): Don't reuse one buffer for all data.
26410 Use separate variables. Read only the file size at the end, but
26411 not the checksum that we don't use.
26412
5c5215d5 26413 * kern/file.c (grub_file_read): Use void pointer for the buffer.
26414 Adjust all callers.
26415
27d5fef7 26416 * kern/ieee1275/openfw.c: Remove libc includes.
26417 * kern/ieee1275/cmain.c: Likewise.
26418 * include/grub/ieee1275/ieee1275.h: Likewise.
26419
33abf7ae 26420 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
26421 compiler warnings.
26422
19d50c2b 264232009-06-10 Felix Zielcke <fzielcke@z-51.de>
26424
26425 * Makefile.in: Remove all trailing whitespace.
26426 * conf/i386-pc.rmk: Likewise.
26427 * conf/powerpc-ieee1275.rmk: Likewise.
26428 * conf/sparc64-ieee1275.rmk: Likewise.
26429 * docs/grub.texi: Likewise.
26430 * docs/texinfo.tex: Likewise.
26431 * disk/fs_uuid.c: Likewise.
26432 * disk/lvm.c: Likewise.
26433 * disk/scsi.c: Likewise.
26434 * disk/ata.c: Likewise.
26435 * disk/ieee1275/ofdisk.c: Likewise.
26436 * disk/i386/pc/biosdisk.c: Likewise.
26437 * disk/host.c: Likewise.
26438 * disk/raid.c: Likewise.
26439 * disk/efi/efidisk.c: Likewise.
26440 * disk/usbms.c: Likewise.
26441 * disk/memdisk.c: Likewise.
26442 * disk/loopback.c: Likewise.
26443 * kern/powerpc/dl.c: Likewise.
26444 * kern/device.c: Likewise.
26445 * kern/dl.c: Likewise.
26446 * kern/sparc64/dl.c: Likewise.
26447 * kern/ieee1275/ieee1275.c: Likewise.
26448 * kern/term.c: Likewise.
26449 * kern/fs.c: Likewise.
26450 * kern/i386/dl.c: Likewise.
26451 * kern/i386/pc/startup.S: Likewise.
26452 * kern/i386/pc/init.c: Likewise.
26453 * kern/i386/pc/mmap.c: Likewise.
26454 * kern/i386/pc/lzo1x.S: Likewise.
26455 * kern/i386/ieee1275/init.c: Likewise.
26456 * kern/i386/realmode.S: Likewise.
26457 * kern/i386/tsc.c: Likewise.
26458 * kern/partition.c: Likewise.
26459 * kern/corecmd.c: Likewise.
26460 * kern/file.c: Likewise.
26461 * kern/efi/efi.c: Likewise.
26462 * kern/efi/init.c: Likewise.
26463 * kern/efi/mm.c: Likewise.
26464 * kern/main.c: Likewise.
26465 * kern/err.c: Likewise.
26466 * kern/env.c: Likewise.
26467 * kern/disk.c: Likewise.
26468 * kern/generic/millisleep.c: Likewise.
26469 * kern/generic/rtc_get_time_ms.c: Likewise.
26470 * kern/misc.c: Likewise.
26471 * kern/parser.c: Likewise.
26472 * genmk.rb: Likewise.
26473 * configure.ac: Likewise.
26474 * boot/i386/pc/diskboot.S: Likewise.
26475 * boot/i386/pc/pxeboot.S: Likewise.
26476 * boot/i386/pc/boot.S: Likewise.
26477 * boot/i386/pc/lnxboot.S: Likewise.
26478 * boot/i386/pc/cdboot.S: Likewise.
26479 * parttool/pcpart.c: Likewise.
26480 * video/readers/tga.c: Likewise.
26481 * video/video.c: Likewise.
26482 * video/bitmap.c: Likewise.
26483 * lib/envblk.c: Likewise.
26484 * lib/i386/setjmp.S: Likewise.
26485 * fs/xfs.c: Likewise.
26486 * fs/afs.c: Likewise.
26487 * fs/fat.c: Likewise.
26488 * fs/ntfs.c: Likewise.
26489 * fs/udf.c: Likewise.
26490 * fs/affs.c: Likewise.
26491 * fs/iso9660.c: Likewise.
26492 * fs/hfs.c: Likewise.
26493 * fs/fshelp.c: Likewise.
26494 * fs/ext2.c: Likewise.
26495 * fs/jfs.c: Likewise.
26496 * fs/reiserfs.c: Likewise.
26497 * fs/hfsplus.c: Likewise.
26498 * fs/minix.c: Likewise.
26499 * fs/cpio.c: Likewise.
26500 * fs/sfs.c: Likewise.
26501 * fs/ufs.c: Likewise.
26502 * efiemu/prepare.c: Likewise.
26503 * efiemu/loadcore_common.c: Likewise.
26504 * efiemu/runtime/efiemu.sh: Likewise.
26505 * efiemu/runtime/efiemu.S: Likewise.
26506 * efiemu/runtime/efiemu.c: Likewise.
26507 * efiemu/pnvram.c: Likewise.
26508 * efiemu/main.c: Likewise.
26509 * efiemu/i386/pc/cfgtables.c: Likewise.
26510 * efiemu/i386/loadcore64.c: Likewise.
26511 * efiemu/i386/loadcore32.c: Likewise.
26512 * efiemu/loadcore.c: Likewise.
26513 * efiemu/symbols.c: Likewise.
26514 * efiemu/mm.c: Likewise.
26515 * include/grub/autoefi.h: Likewise.
26516 * include/grub/datetime.h: Likewise.
26517 * include/grub/term.h: Likewise.
26518 * include/grub/hfs.h: Likewise.
26519 * include/grub/lvm.h: Likewise.
26520 * include/grub/i386/tsc.h: Likewise.
26521 * include/grub/i386/linux.h: Likewise.
26522 * include/grub/i386/xnu.h: Likewise.
26523 * include/grub/i386/efiemu.h: Likewise.
26524 * include/grub/i386/pc/biosdisk.h: Likewise.
26525 * include/grub/i386/pc/memory.h: Likewise.
26526 * include/grub/i386/pc/vbe.h: Likewise.
26527 * include/grub/parttool.h: Likewise.
26528 * include/grub/video.h: Likewise.
26529 * include/grub/memory.h: Likewise.
26530 * include/grub/fs.h: Likewise.
26531 * include/grub/partition.h: Likewise.
26532 * include/grub/xnu.h: Likewise.
26533 * include/grub/efi/api.h: Likewise.
26534 * include/grub/efi/pe32.h: Likewise.
26535 * include/grub/efi/memory.h: Likewise.
26536 * include/grub/multiboot.h: Likewise.
26537 * include/grub/usbdesc.h: Likewise.
26538 * include/grub/multiboot2.h: Likewise.
26539 * include/grub/acpi.h: Likewise.
26540 * include/grub/efiemu/efiemu.h: Likewise.
26541 * include/grub/disk.h: Likewise.
26542 * include/grub/ieee1275/ieee1275.h: Likewise.
26543 * include/grub/net.h: Likewise.
26544 * include/grub/machoload.h: Likewise.
26545 * include/grub/macho.h: Likewise.
26546 * include/multiboot.h: Likewise.
26547 * genmoddep.awk: Likewise.
26548 * normal/main.c: Likewise.
26549 * normal/menu_entry.c: Likewise.
26550 * normal/menu_viewer.c: Likewise.
26551 * normal/completion.c: Likewise.
26552 * normal/cmdline.c: Likewise.
26553 * normal/misc.c: Likewise.
26554 * normal/datetime.c: Likewise.
26555 * bus/usb/usbtrans.c: Likewise.
26556 * bus/usb/ohci.c: Likewise.
26557 * bus/usb/uhci.c: Likewise.
26558 * bus/usb/usb.c: Likewise.
26559 * mmap/efi/mmap.c: Likewise.
26560 * mmap/i386/pc/mmap_helper.S: Likewise.
26561 * mmap/i386/pc/mmap.c: Likewise.
26562 * mmap/i386/mmap.c: Likewise.
26563 * mmap/i386/uppermem.c: Likewise.
26564 * mmap/mmap.c: Likewise.
26565 * commands/acpi.c: Likewise.
26566 * commands/echo.c: Likewise.
26567 * commands/blocklist.c: Likewise.
26568 * commands/loadenv.c: Likewise.
26569 * commands/usbtest.c: Likewise.
26570 * commands/boot.c: Likewise.
26571 * commands/parttool.c: Likewise.
26572 * commands/search.c: Likewise.
26573 * commands/cat.c: Likewise.
26574 * commands/i386/pc/play.c: Likewise.
26575 * commands/i386/pc/drivemap.c: Likewise.
26576 * commands/i386/pc/vbeinfo.c: Likewise.
26577 * commands/i386/pc/acpi.c: Likewise.
26578 * commands/i386/pc/vbetest.c: Likewise.
26579 * commands/ls.c: Likewise.
26580 * commands/cmp.c: Likewise.
26581 * commands/test.c: Likewise.
26582 * commands/efi/acpi.c: Likewise.
26583 * commands/gptsync.c: Likewise.
26584 * commands/help.c: Likewise.
26585 * partmap/amiga.c: Likewise.
26586 * partmap/apple.c: Likewise.
26587 * partmap/acorn.c: Likewise.
26588 * partmap/pc.c: Likewise.
26589 * partmap/sun.c: Likewise.
26590 * partmap/gpt.c: Likewise.
26591 * script/sh/lexer.c: Likewise.
26592 * script/sh/function.c: Likewise.
26593 * font/font.c: Likewise.
26594 * font/font_cmd.c: Likewise.
26595 * loader/powerpc/ieee1275/linux.c: Likewise.
26596 * loader/efi/chainloader.c: Likewise.
26597 * loader/multiboot_loader.c: Likewise.
26598 * loader/macho.c: Likewise.
26599 * loader/i386/multiboot.c: Likewise.
26600 * loader/i386/linux.c: Likewise.
26601 * loader/i386/pc/linux.c: Likewise.
26602 * loader/i386/pc/multiboot2.c: Likewise.
26603 * loader/i386/pc/chainloader.c: Likewise.
26604 * loader/i386/pc/xnu.c: Likewise.
26605 * loader/i386/bsd_trampoline.S: Likewise.
26606 * loader/i386/efi/linux.c: Likewise.
26607 * loader/i386/multiboot_elfxx.c: Likewise.
26608 * loader/i386/bsd_helper.S: Likewise.
26609 * loader/i386/bsd.c: Likewise.
26610 * loader/i386/linux_trampoline.S: Likewise.
26611 * loader/i386/xnu_helper.S: Likewise.
26612 * loader/i386/xnu.c: Likewise.
26613 * loader/i386/bsd_pagetable.c: Likewise.
26614 * loader/i386/multiboot_helper.S: Likewise.
26615 * loader/xnu.c: Likewise.
26616 * loader/xnu_resume.c: Likewise.
26617 * io/gzio.c: Likewise.
26618 * term/efi/console.c: Likewise.
26619 * term/terminfo.c: Likewise.
26620 * term/ieee1275/ofconsole.c: Likewise.
26621 * term/i386/pc/serial.c: Likewise.
26622 * term/i386/pc/vesafb.c: Likewise.
26623 * term/i386/pc/vga.c: Likewise.
26624 * term/usb_keyboard.c: Likewise.
26625 * term/gfxterm.c: Likewise.
26626 * aclocal.m4: Likewise.
26627 * util/lvm.c: Likewise.
26628 * util/grub.d/30_os-prober.in: Likewise.
26629 * util/grub.d/10_hurd.in: Likewise.
26630 * util/console.c: Likewise.
26631 * util/grub-macho2img.c: Likewise.
26632 * util/grub-probe.c: Likewise.
26633 * util/hostfs.c: Likewise.
26634 * util/i386/pc/grub-mkimage.c: Likewise.
26635 * util/i386/pc/grub-setup.c: Likewise.
26636 * util/i386/efi/grub-mkimage.c: Likewise.
26637 * util/grub-mkconfig.in: Likewise.
26638 * util/raid.c: Likewise.
26639 * util/resolve.c: Likewise.
26640 * util/grub-mkdevicemap.c: Likewise.
26641 * util/grub-emu.c: Likewise.
26642 * util/getroot.c: Likewise.
26643 * util/hostdisk.c: Likewise.
26644 * util/usb.c: Likewise.
26645 * util/grub-editenv.c: Likewise.
26646 * util/misc.c: Likewise.
26647
d2d49665 266482009-06-10 Felix Zielcke <fzielcke@z-51.de>
26649
26650 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
26651 `genparttoollist.sh'.
26652 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
26653 Add `*.sh' to the list find searches for and change `mdate.sh'
26654 to `mdate-sh'.
26655
fe052e37 266562009-06-10 Pavel Roskin <proski@gnu.org>
26657
2763ac18 26658 * include/grub/multiboot2.h: Provide compatibility defines for
26659 multiboot2.h.
26660 * include/multiboot2.h: Include stdint.h only if needed, using
26661 angle brackets.
26662 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
26663 grub/multiboot2.h.
26664 * loader/ieee1275/multiboot2.c: Likewise.
26665 * loader/multiboot2.c: Likewise.
26666 * loader/multiboot_loader.c: Likewise.
26667
437e6adc 26668 * configure.ac: Use -nostdlib when probing for the target. It
26669 should not be required to have libc for the target.
26670
06a6836c 26671 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
26672 they fail without libc headers for the target.
26673 * include/grub/powerpc/libgcc.h: Use weak attribute for all
26674 exports.
26675 * include/grub/sparc64/libgcc.h: Likewise. Don't use
26676 preprocessor conditionals.
26677
fe052e37 26678 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
26679 build system doesn't need to be aware of the tar.c internals.
26680
afd22553 266812009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 26682
afd22553 26683 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 26684
6b787c4f 266852009-06-09 Robert Millan <rmh.grub@aybabtu.com>
26686
26687 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
26688 disk limit to 26 for IDE, Virtio, Xen and SCSI.
26689
266902009-06-09 Felix Zielcke <fzielcke@z-51.de>
26691
26692 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 26693 aren't available if ata.mod gets used.
6b787c4f 26694
473d1e45 266952009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 26696
473d1e45 26697 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 26698 initialising controller.
473d1e45 26699 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 26700
255a27d4 267012009-06-08 Felix Zielcke <fzielcke@z-51.de>
26702
26703 * util/i386/pc/grub-install.in: Add a parameter --disk-module
26704 to choose between ata and biosdisk module on i386-pc.
26705
473d1e45 267062009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 26707
d55842d8 26708 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
26709 Subclass and Programming Interface fields in terms of the 3 byte
26710 Class Code register.
26711 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26712
fa5db0b1 26713 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
26714 interface is OHCI. Add grub_dprintf for symmetry with
26715 bus/usb/uhci.c.
26716 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
26717 interface is UHCI. Add interf variable for programming
26718 interface. Print interface with class/subclass.
26719
c0947beb 26720 * bus/usb/ohci.c: Set interf with correct field.
26721
69da8877 26722 * bus/usb/uhci.c: Remove unneeded doubled lines.
26723 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
26724 Remove whitespace inside comment.
26725
9e172e30 267262009-06-08 Robert Millan <rmh.grub@aybabtu.com>
26727
26728 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
26729 as fallback an equivalent option without depth.
26730
de65ee2b 267312009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26732
26733 Not fail if unable to retrieve C/H/S on LBA disks
26734
473d1e45 26735 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 26736 if unable to retrieve C/H/S on LBA disks
26737
b57ea2c9 267382009-06-08 Pavel Roskin <proski@gnu.org>
26739
26740 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
26741 about aliasing.
26742
af361263 267432009-06-08 Felix Zielcke <fzielcke@z-51.de>
26744
26745 * Makefile.in (uninstall): Remove all $lib_DATA files.
26746
4c9ec6b3 267472009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26748
26749 Bugfix: install on partitionless device
26750
26751 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
26752 is a whole disk
26753
e76fc924 267542009-06-08 Felix Zielcke <fzielcke@z-51.de>
26755
26756 * Makefile.in (uninstall): Remove all $include_DATA files.
26757
ba5a0d05 267582009-06-08 Felix Zielcke <fzielcke@z-51.de>
26759
26760 * commands/true.c: New file. Implement the true and false commands.
26761 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
26762 (true_mod_SOURCES): New variable.
26763 (true_mod_CFLAGS): Likewise.
26764 (true_mod_LDFLAGS): Likewise.
26765
c8048e32 267662009-06-05 Colin D Bennett <colin@gibibit.com>
26767
26768 Optimized font character lookup using binary search instead of linear
26769 search. Fonts now are required to have the character index ordered by
26770 code point.
26771
26772 * font/font.c (load_font_index): Verify that fonts have ordered
26773 character indices.
26774 (find_glyph): Use binary search instead of linear search to find a
26775 character in a font.
26776
408305be 267772009-06-05 Michael Scherer <misc@mandriva.org>
26778
26779 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
26780 uses case sensitive btree.
26781 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
26782 only for case insensitive filesystems.
26783
8ee1e0d9 267842009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
26785
26786 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
26787 * conf/common.rmk (search_mod_CFLAGS): likewise
26788
a9966eb1 267892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26790
473d1e45 26791 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 26792 compensate a compiler bug
26793
9e7100fb 267942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26795
473d1e45 26796 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 26797 instead of '\b'
473d1e45 26798
ede21d71 267992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26800
26801 Definitions for creating asm symbols with Apple's CC
26802
26803 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
26804 [APPLE_CC] (VARIABLE): likewise
26805
9dbf7653 268062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26807
26808 Disable lnxboot.img when compiled
26809 with Apple's CC
26810
26811 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
26812 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
26813 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
26814 [! APPLE_CC] (CODE_LENG): skip
26815 [! APPLE_CC] (setup_sects): likewise
26816 [! APPLE_CC]: skip filling
473d1e45 26817
e93cdc3d 268182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26819
26820 Address in trampolines based on 32-bit registers when compiled
26821 with Apple's CC
26822
473d1e45 26823 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 26824 for addresses
26825 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
26826
6c688477 268272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26828
26829 Avoid aliases when compiling with Apple's CC for PCBIOS machine
26830
26831 * kern/misc.c [APPLE_CC] (memcpy): new function
26832 [APPLE_CC] (memmove): likewise
26833 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 26834 (memcpy): define alias conditionally on !APPLE_CC
6c688477 26835 (memset): likewise
26836 (abort): likewise
26837 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
26838 APPLE_CC are defined
26839 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
26840 (grub_assert_fail): make prototype conditional
26841
e37ffc5c 268422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26843
26844 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
26845
473d1e45 26846 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
26847 grub-macho2img
e37ffc5c 26848 (CLEANFILES): add grub-macho2img
26849 (grub_macho2img_SOURCES): new variable
26850 * kern/i386/pc/startup.S (bss_start): new variable
26851 (bss_end): likewise
26852 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
26853 * util/grub-macho2img.c: new file
26854
cf00df31 268552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26856
26857 Use objconv when compiling with Apple's CC
26858
26859 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
26860 (efiemu64.o): likewise
26861 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
26862 when compiling with Apple's CC
26863 (efiemu64_s.o): likewise
26864 * configure.ac: check for objconv when compiling with Apple's CC
26865 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 26866
d119a20c 268672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26868
26869 Define segment as well as section when compiling with
26870 Apple's CC
26871
26872 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
26873 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
26874 (efiemu_convert_pointer): likewise
26875 (efiemu_set_virtual_address_map): likewise
26876 (efiemu_convert_pointer): likewise
26877 (efiemu_getcrc32): likewise
26878 (init_crc32_table): likewise
26879 (reflect): likewise
26880 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
26881 (GRUB_MOD_DEP): likewise
473d1e45 26882
c8600122 268832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26884
26885 Allow a compilation without -mcmodel=large
26886
26887 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
26888 when compiled without -mcmodel=large
473d1e45 26889 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 26890 without -mcmodel=large
473d1e45 26891 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 26892 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 26893
e8df1d4e 268942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26895
26896 Remove nested functions in efiemu core
26897
26898 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 26899
cc6c3ac1 269002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26901
26902 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
26903
26904 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
26905 temporary storage
473d1e45 26906 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
26907 using Apple's CC
cc6c3ac1 26908 (grub_cpu_is_tsc_supported): likewise
26909 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 26910
3e325901 269112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26912
26913 Absolute addressing through constant with Apple's cc
26914
26915 * kern/i386/pc/startup.S: Define necessary constants
26916 and address through it when using ABS with Apple's CC
26917 * boot/i386/pc/diskboot.S: likewise
26918 * boot/i386/pc/boot.S: likewise
26919 * boot/i386/pc/lnxboot.S: likewise
26920 * boot/i386/pc/cdboot.S: likewise
26921 * mmap/i386/pc/mmap_helper.S: likewise
26922 * commands/i386/pc/drivemap_int13h.S: likewise
26923
2b167a72 269242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26925
26926 Check if compiler is apple cc
26927
26928 * Makefile.in (ASFLAGS): new variable
26929 (TARGET_ASFLAGS): likewise
26930 (TARGET_MODULE_FORMAT): likewise
26931 (TARGET_APPLE_CC): likewise
26932 (OBJCONV): likewise
26933 (TARGET_IMG_CFLAGS): likewise
26934 (TARGET_CPPFLAGS): add includedir
26935 * configure.ac: call grub_apple_cc and grub_apple_target_cc
26936 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
26937 Check for linker script only if compiler isn't Apple's CC
26938 (TARGET_MODULE_FORMAT): set
26939 (TARGET_APPLE_CC): likewise
26940 (TARGET_ASFLAGS): likewise
26941 (ASFLAGS): likewise
26942 Check for objcopy only if compiler isn't Apple's CC
26943 Check for BSS symbol only if compiler isn't Apple's CC
26944 * genmk.rb: adapt nm options if we use Apple's utils
26945 * aclocal.m4 (grub_apple_cc): new test
26946 (grub_apple_target_cc): likewise
473d1e45 26947
fb14123e 269482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26949
26950 Simplify sed expressions and improve awk
26951
26952 * Makefile.in (install-local): simplify sed expression
26953 * gencmdlist.sh: likewise
26954 * genmoddep.awk: avoid adding module as a dependency of itself
26955
5b889789 269562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26957
26958 Add missing start symbols
26959
26960 * boot/i386/pc/boot.S: add start
fb14123e 26961 * boot/i386/pc/pxeboot.S: likewise
473d1e45 26962
fd2bf2e3 269632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26964
26965 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 26966
26967 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 26968 (relocate_addresses): consider both r_addend and value at offset
26969 (make_mods_section): zerofill modinfo and header
26970 (convert_elf): write prefix here
473d1e45 26971
5389763d 269722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26973
26974 Use .asciz instead of .string
26975
26976 * i386/pc/diskboot.S: use .asciz instead of .string
26977 * i386/pc/boot.S: likewise
26978 * include/grub/dl.h (GRUB_MOD_DEP): likewise
26979 (GRUB_MOD_NAME): likewise
473d1e45 26980
3eb5ed4e 269812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26982
26983 gfxpayload support
26984
26985 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
26986 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
26987 (grub_video_setup): remove
26988 (grub_video_set_mode): new prototype
26989 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
26990 (vid_mode): remove
26991 (linux_vesafb_res): compile only on PCBIOS
26992 (grub_linux_boot): support gfxpayload
26993 * loader/i386/pc/xnu.c (video_hook): new function
26994 (grub_xnu_set_video): support gfxpayload
26995 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
26996 (DEFAULT_VIDEO_HEIGHT): likewise
26997 (DEFAULT_VIDEO_FLAGS): likewise
26998 (DEFAULT_VIDEO_MODE): new definition
26999 (video_hook): new function
27000 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 27001 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 27002 loading xnu
27003 * video/video.c (grub_video_setup): removed
473d1e45 27004 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 27005 grub_video_setup
27006
4b0e1143 270072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27008
27009 Avoid calling biosdisk in drivemap
27010
27011 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
27012 (revparse_biosdisk): likewise
27013 (list_mappings): derive name from id directly
27014 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 27015
fda6cb98 270162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27017
27018 Script fixes
27019
27020 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
27021 (grub_lexer_param): add tokenonhold
27022 (grub_script_create_cmdline): remove cmdline. All callers updated
27023 (grub_script_function_create): make functionname
27024 grub_script_arg. All callers updated
27025 (grub_script_execute_argument_to_string): new prototype
27026 * kern/parser.c (state_transitions): reorder
27027 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 27028 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 27029 make global
27030 (grub_script_execute_cmdline): use new format
27031 * script/sh/function.c (grub_script_function_create): make functionname
27032 grub_script_arg. All callers updated
473d1e45 27033 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 27034 (grub_script_yylex): remove
27035 (grub_script_yylex2): renamed to ...
27036 (grub_script_yylex): ...renamed
27037 parse the expressions like a${b}c
27038 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
27039 (GRUB_PARSER_TOKEN_VAR): remove
27040 (GRUB_PARSER_TOKEN_NAME): likewise
27041 ("if"): declare as typeless
27042 ("while"): likewise
27043 ("function"): likewise
27044 ("else"): likewise
27045 ("then"): likewise
27046 ("fi"): likewise
27047 (text): remove
27048 (argument): likewise
27049 (script): accept empty scripts and make exit on error
27050 (arguments): use GRUB_PARSER_TOKEN_ARG
27051 (function): likewise
27052 (command): move error handling to script
27053 (menuentry): move grub_script_lexer_ref before
473d1e45 27054 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 27055 argument. All callers updated
27056
f4448a07 270572009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27058
27059 Prevent GRUB from probing floppies during boot.
27060
27061 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
27062 * commands/search.c (options): Add --no-floppy.
27063 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
27064 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
27065 --no-floppy when searching for UUIDs.
27066
2bf5885a 270672009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27068
27069 Simplify the code duplication in commands/search.c.
27070
27071 * commands/search.c (search_label, search_fs_uuid): Merge into ...
27072 (search_fs): ... this. Update all users.
27073
f6fd460a 270742009-06-03 Felix Zielcke <fzielcke@z-51.de>
27075
27076 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
27077
cbb3c83e 270782009-05-28 Pavel Roskin <proski@gnu.org>
27079
57788cfd 27080 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
27081 Remove the original symlink explicitly.
27082
cbb3c83e 27083 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
27084 just one slash. That's how grub_fshelp_find_file() does it.
27085
cd0d5e30 270862009-05-26 Pavel Roskin <proski@gnu.org>
27087
f0f8bbe2 27088 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
27089 to `str'.
27090
cd0d5e30 27091 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
27092 possibly unused.
27093
8c2cab51 270942009-05-25 Christian Franke <franke@computer.org>
27095
27096 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
27097 register.
27098 (grub_atapi_identify): Add wait after drive select.
27099 (grub_ata_identify): Do more strict status register check before
27100 calling grub_atapi_identify (). Suppress error message if status
27101 register is 0x00 after command failure. Add status register
27102 check after PIO read to avoid bogus identify due to stuck DRQ.
27103 Thanks to Pavel Roskin for testing.
27104 (grub_device_initialize): Remove unsafe status register check.
27105 Thanks to 'phcoder' for problem report and patch.
27106 Prevent sign extension in debug message.
27107
230c0ad6 271082009-05-23 Colin D Bennett <colin@gibibit.com>
27109
27110 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27111 definition file, and functions defined in `normal/menu.c' have had
27112 their prototypes moved to `include/grub/menu.h' for consistency.
27113
27114 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27115 from normal.h.
27116 (grub_menu_get_entry): Likewise.
27117 (grub_menu_get_timeout): Likewise.
27118 (grub_menu_set_timeout): Likewise.
27119 (grub_menu_execute_entry): Likewise.
27120 (grub_menu_execute_with_fallback): Likewise.
27121 (grub_menu_entry_run): Likewise.
27122
27123 * include/grub/normal.h: Re-ordered and grouped function
27124 prototypes by file that the function is defined in.
27125 (grub_menu_execute_callback): Removed; moved to menu.h.
27126 (grub_menu_get_entry): Likewise.
27127 (grub_menu_get_timeout): Likewise.
27128 (grub_menu_set_timeout): Likewise.
27129 (grub_menu_execute_entry): Likewise.
27130 (grub_menu_execute_with_fallback): Likewise.
27131 (grub_menu_entry_run): Likewise.
27132 (grub_menu_addentry): Renamed from this ...
27133 (grub_normal_add_menu_entry): ... to this.
27134
27135 * normal/main.c (grub_menu_addentry): Renamed from this ...
27136 (grub_normal_add_menu_entry): ... to this.
27137
27138 * script/sh/execute.c (grub_script_execute_menuentry): Update
27139 reference to renamed grub_menu_addentry function.
27140
861f03a5 271412009-05-23 Felix Zielcke <fzielcke@z-51.de>
27142
27143 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27144
96b1619a 271452009-05-22 Pavel Roskin <proski@gnu.org>
27146
bf6a5fb2 27147 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27148 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27149 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27150 compiling for the i386 targets, but not for the utilities.
27151
96b1619a 27152 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27153 to grub_uint8_t.
27154 (grub_root_drive): Likewise.
27155 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27156 remove alignment.
27157 (grub_root_drive): Change size to byte.
27158 (grub_start_addr): Remove.
27159 (grub_end_addr): Likewise.
27160 (grub_apm_bios_info): Likewise.
27161
b729776b 271622009-05-21 Felix Zielcke <fzielcke@z-51.de>
27163
27164 * normal/i386: Remove.
27165 * normal/powerpc: Likewise.
27166 * normal/sparc64: Likewise.
27167 * normal/x86_64: Likewise.
27168
0a15ce80 271692009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27170
27171 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 27172 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 27173 * loader/i386/xnu_helper.S: Likewise
d6da58e6 27174
33db9015 271752009-05-18 Colin D Bennett <colin@gibibit.com>
27176
d6da58e6 27177 Display error messages when parsing a Lua statement fails.
27178 Previously, executing a syntactically invalid statement like
27179 ")foo" or "bar;" would silently fail.
33db9015 27180
27181 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 27182 (grub_lua_parse_line): Improved reporting of Lua parser and
27183 execution errors.
33db9015 27184
46422c89 271852009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27186
27187 Remove -Werror which causes build to fail on some systems
27188
27189 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
27190 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
27191 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 27192
22f53a96 271932009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27194
27195 trampoline for linux on 64-bit platform
27196
18f547ad 27197 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
27198 loader/i386/efi/linux_trampoline.S
27199 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 27200 declaration
d6da58e6 27201 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
27202 here
22f53a96 27203 * loader/i386/linux_trampoline.S: moved here
d6da58e6 27204 * loader/i386/efi/linux.c (allocate_pages): reserve space for
27205 trampoline
22f53a96 27206 (jumpvector): removed
27207 (grub_linux_trampoline_start): new declaration
27208 (grub_linux_trampoline_end): likewise
27209 (grub_linux_boot): use trampoline when on 64-bit platform
27210 * loader/i386/linux.c: likewise
27211
cb5a0f40 272122009-05-16 Pavel Roskin <proski@gnu.org>
27213
27214 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
27215 const to avoid a warning.
27216 (grub_lua_setenv): Likewise.
27217 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
27218 lmsg to fix a warning.
27219
334f2c28 272202009-05-16 Felix Zielcke <fzielcke@z-51.de>
27221
27222 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 27223 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27224 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
27225 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27226 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27227 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27228 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27229 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 27230
59e5d3ec 272312009-05-16 Felix Zielcke <fzielcke@z-51.de>
27232
27233 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
27234
9d87a1ba 272352009-05-16 Bean <bean123ch@gmail.com>
27236
27237 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
27238 (lua_mod_SOURCES): New variable.
27239 (lua_mod_CFLAGS): Likewise.
27240 (lua_mod_LDFLAGS): Likewise.
27241
27242 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
27243 (setjmp_mod_SOURCES): New variable.
27244 (setjmp_mod_CFLAGS): Likewise.
27245 (setjmp_LDFLAGS): Likewise.
27246
27247 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
27248 (setjmp_mod_SOURCES): New variable.
27249 (setjmp_mod_CFLAGS): Likewise.
27250 (setjmp_LDFLAGS): Likewise.
27251
27252 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27253 (setjmp_mod_SOURCES): New variable.
27254 (setjmp_mod_CFLAGS): Likewise.
27255 (setjmp_LDFLAGS): Likewise.
27256
27257 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27258 (setjmp_mod_SOURCES): New variable.
27259 (setjmp_mod_CFLAGS): Likewise.
27260 (setjmp_LDFLAGS): Likewise.
27261
27262 * normal/i386/setjmp.S: Moved from here ...
27263 * lib/i386/setjmp.S: ... Moved here
27264 * normal/x86_64/setjmp.S: Moved from here ...
27265 * lib/x86_64/setjmp.S: ... Moved here
27266 * normal/powerpc/setjmp.S: Moved from here ...
27267 * lib/powerpc/setjmp.S: ... Moved here
27268 * normal/sparc64/setjmp.S: Moved from here ...
27269 * lib/sparc64/setjmp.S: ... Moved here
27270
27271 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
27272 returns_twice in mingw.
27273
27274 * script/lua/grub_lib.c: New file.
27275 * script/lua/grub_lib.h: Likewise.
27276 * script/lua/grub_lua.h: Likewise.
27277 * script/lua/grub_main.c: Likewise.
27278 * script/lua/lapi.c: Likewise.
27279 * script/lua/lapi.h: Likewise.
27280 * script/lua/lauxlib.c: Likewise.
27281 * script/lua/lauxlib.h: Likewise.
27282 * script/lua/lbaselib.c: Likewise.
27283 * script/lua/lcode.c: Likewise.
27284 * script/lua/lcode.h: Likewise.
27285 * script/lua/ldblib.c: Likewise.
27286 * script/lua/ldebug.c: Likewise.
27287 * script/lua/ldebug.h: Likewise.
27288 * script/lua/ldo.c: Likewise.
27289 * script/lua/ldo.h: Likewise.
27290 * script/lua/ldump.c: Likewise.
27291 * script/lua/lfunc.c: Likewise.
27292 * script/lua/lfunc.h: Likewise.
27293 * script/lua/lgc.c: Likewise.
27294 * script/lua/lgc.h: Likewise.
27295 * script/lua/linit.c: Likewise.
27296 * script/lua/liolib.c: Likewise.
27297 * script/lua/llex.c: Likewise.
27298 * script/lua/llex.h: Likewise.
27299 * script/lua/llimits.h: Likewise.
27300 * script/lua/lmathlib.c: Likewise.
27301 * script/lua/lmem.c: Likewise.
27302 * script/lua/lmem.h: Likewise.
27303 * script/lua/loadlib.c: Likewise.
27304 * script/lua/lobject.c: Likewise.
27305 * script/lua/lobject.h: Likewise.
27306 * script/lua/lopcodes.c: Likewise.
27307 * script/lua/lopcodes.h: Likewise.
27308 * script/lua/loslib.c: Likewise.
27309 * script/lua/lparser.c: Likewise.
27310 * script/lua/lparser.h: Likewise.
27311 * script/lua/lstate.c: Likewise.
27312 * script/lua/lstate.h: Likewise.
27313 * script/lua/lstring.c: Likewise.
27314 * script/lua/lstring.h: Likewise.
27315 * script/lua/lstrlib.c: Likewise.
27316 * script/lua/ltable.c: Likewise.
27317 * script/lua/ltable.h: Likewise.
27318 * script/lua/ltablib.c: Likewise.
27319 * script/lua/ltm.c: Likewise.
27320 * script/lua/ltm.h: Likewise.
27321 * script/lua/lua.h: Likewise.
27322 * script/lua/luaconf.h: Likewise.
27323 * script/lua/lualib.h: Likewise.
27324 * script/lua/lundump.c: Likewise.
27325 * script/lua/lundump.h: Likewise.
27326 * script/lua/lvm.c: Likewise.
27327 * script/lua/lvm.h: Likewise.
27328 * script/lua/lzio.c: Likewise.
27329 * script/lua/lzio.h: Likewise.
27330
5e898c9d 273312009-05-16 Bean <bean123ch@gmail.com>
27332
27333 * include/grub/kernel.h (grub_module_header_types): Add type
27334 OBJ_TYPE_CONFIG.
27335
27336 * kern/main.c (grub_load_config): New function.
27337 (grub_main): Call grub_load_config to read boot config.
27338
27339 * grub-mkimage (generate_image): New parameter config_path.
27340 (options): New option --config.
27341 (main): Parse --config option, and pass it to generate_image.
27342
cf353a47 273432009-05-14 Christian Franke <franke@computer.org>
27344
27345 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
27346 This fixes build on Cygwin.
27347
3834887f 273482009-05-14 Pavel Roskin <proski@gnu.org>
27349
27350 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
27351 jump. This saves two bytes, so the typical case of 2 swapped
27352 drives would fit 32 bytes.
27353
8090fc01 273542009-05-13 Pavel Roskin <proski@gnu.org>
27355
ac963883 27356 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
27357 grub_uint32_t to avoid a warning.
27358
8090fc01 27359 * loader/i386/linux.c (allocate_pages): When assigning
27360 real_mode_mem, cast through grub_size_t to fix a warning. The
27361 code already makes sure that the value would fit a pointer.
27362 (grub_linux_setup_video): Cast render_target->data to
27363 grub_size_t to fix a warning.
27364
18f547ad 273652009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 27366
27367 * commands/i386/pc/drivemap.c: New file - implement drivemap
27368 command.
27369 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
27370 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
27371
6f6a8b28 273722009-05-13 Pavel Roskin <proski@gnu.org>
27373
27374 * util/i386/pc/grub-setup.c (setup): Remove unused variable
27375 embedding_area_exists.
27376
15fbf4c4 273772009-05-13 Robert Millan <rmh.grub@aybabtu.com>
27378
27379 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
27380 it easier to understand / work with.
59978c8a 27381 Improve warning messages for cases where there's no embedding area,
27382 or when it is too small (or core.img too large).
15fbf4c4 27383
238e871f 273842009-05-13 Pavel Roskin <proski@gnu.org>
27385
0ab3a9a4 27386 * loader/i386/pc/multiboot2.c: Add necessary includes for
27387 grub_multiboot2_real_boot().
27388
a2c8c5f8 27389 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
27390 PX record is always little-endian. We only need the lower 2
27391 bytes of the mode.
27392
faec96af 27393 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
27394 facilitate code reuse.
27395 (grub_cpio_mount): Use "struct head", not a char buffer. This
27396 fixes a warning reported by gcc 4.4.
27397
238e871f 27398 * kernel/disk.c (grub_disk_read): Use void pointer for the
27399 buffer.
27400 (grub_disk_write): Use const void pointer for the buffer.
27401 Adjust all callers. Remove unnecessary casts.
27402
901d2f0c 274032009-05-10 Robert Millan <rmh.grub@aybabtu.com>
27404
27405 * util/i386/pc/grub-install.in: Update copyright year.
27406
18f547ad 274072009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 27408
27409 gptsync
27410
27411 * commands/gptsync.c: new file
27412 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
27413 (gptsync_mod_SOURCES): new variable
27414 (gptsync_mod_CFLAGS): likewise
27415 (gptsync_mod_LDFLAGS): likewise
18f547ad 27416 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 27417 new definition
27418 (GRUB_PC_PARTITION_TYPE_HFS): likewise
27419 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
27420 * conf/i386-ieee1275.rmk: likewise
27421 * conf/i386-pc.rmk: likewise
27422 * conf/powerpc-ieee1275.rmk: likewise
27423
b4ba690a 274242009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27425
27426 Fixed grub-emu
27427
27428 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
27429 (grub_dl_ref): likewise
27430
317e1a44 274312009-05-08 Robert Millan <rmh.grub@aybabtu.com>
27432
27433 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
27434 split in two functions (one for msdos and one for gpt).
27435
041b8094 274362009-05-08 Pavel Roskin <proski@gnu.org>
27437
752473c2 27438 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
27439 not modified.
27440
041b8094 27441 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
27442 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
27443 Initialize them with -1. Add sanity check for bad1. Eliminate
27444 nerr variable.
27445
172800ce 274462009-05-08 David S. Miller <davem@davemloft.net>
27447
27448 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
27449
29aa5e81 274502009-05-06 Robert Millan <rmh.grub@aybabtu.com>
27451
27452 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 27453 existence.
29aa5e81 27454
96613b62 274552009-05-05 Felix Zielcke <fzielcke@z-51.de>
27456
27457 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 27458 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 27459
eef73c8a 274602009-05-05 David S. Miller <davem@davemloft.net>
27461
27462 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
27463
119494b5 274642009-05-05 Pavel Roskin <proski@gnu.org>
27465
27466 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
27467 of grub_dl_ref() and grub_dl_unref().
27468 * commands/parttool.c: Remove preprocessor conditionals around
27469 grub_dl_ref() and grub_dl_unref().
27470 * fs/affs.c: Likewise.
27471 * fs/afs.c: Likewise.
27472 * fs/cpio.c: Likewise.
27473 * fs/ext2.c: Likewise.
27474 * fs/fat.c: Likewise.
27475 * fs/hfs.c: Likewise.
27476 * fs/hfsplus.c: Likewise.
27477 * fs/iso9660.c: Likewise.
27478 * fs/jfs.c: Likewise.
27479 * fs/minix.c: Likewise.
27480 * fs/ntfs.c: Likewise.
27481 * fs/reiserfs.c: Likewise.
27482 * fs/sfs.c: Likewise.
27483 * fs/udf.c: Likewise.
27484 * fs/ufs.c: Likewise.
27485 * fs/xfs.c: Likewise.
27486 * include/grub/dl.h: Likewise.
27487 * loader/xnu.c: Likewise.
27488
de5fd76e 274892009-05-04 Pavel Roskin <proski@gnu.org>
27490
27491 * commands/acpi.c: Remove unused variable my_mod.
27492 * partmap/amiga.c: Likewise.
27493 * partmap/apple.c: Likewise.
27494 * partmap/gpt.c: Likewise.
27495 * partmap/pc.c: Likewise.
27496 * partmap/sun.c: Likewise.
27497 * term/gfxterm.c: Likewise.
27498 * term/i386/pc/vesafb.c: Likewise.
27499 * term/i386/pc/vga.c: Likewise.
27500
983598ad 275012009-05-04 David S. Miller <davem@davemloft.net>
27502
27503 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
27504 pointer args to grub_ieee1275_get_property().
27505
8aadec43 27506 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
27507
9554b15e 27508 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
27509 devices, and do not traverse down under controller nodes.
27510
67e23c90 27511 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
27512 (grub_ofdisk_open): Use it to un-escape "," characters.
27513 * kern/disk.c (find_part_sep): New.
27514 (grub_disk_open): Use it to find the first non-escaped ','
27515 character in the disk name.
27516 * util/ieee1275/devicemap.c (escape_of_path): New.
27517 (grub_util_emit_devicemap_entry): Use it.
27518 * util/sparc64/ieee1275/grub-install.in: Update script to
27519 strip partition specifiers properly by not triggering on
27520 '\' escaped ',' characters.
27521
74bfdd2f 275222009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27523
27524 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
27525 to 0x300.
27526 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
27527 resolutions.
27528 (linux_vesafb_modes): Add a lot of additional modes to the list (based
27529 on documentation from Wikipedia).
27530
4241d2b1 275312009-05-04 Pavel Roskin <proski@gnu.org>
27532
27533 * disk/ata.c: Spelling fixes.
27534 * disk/raid.c: Likewise.
27535 * disk/usbms.c: Likewise.
27536 * disk/dmraid_nvidia.c: Likewise.
27537 * kern/ieee1275/openfw.c: Likewise.
27538 * kern/ieee1275/init.c: Likewise.
27539 * kern/ieee1275/cmain.c: Likewise.
27540 * boot/i386/pc/cdboot.S: Likewise.
27541 * video/readers/png.c: Likewise.
27542 * video/i386/pc/vbe.c: Likewise.
27543 * fs/udf.c: Likewise.
27544 * fs/hfs.c: Likewise.
27545 * fs/reiserfs.c: Likewise.
27546 * efiemu/runtime/efiemu.c: Likewise.
27547 * efiemu/main.c: Likewise.
27548 * efiemu/mm.c: Likewise.
27549 * include/grub/elf.h: Likewise.
27550 * include/grub/xnu.h: Likewise.
27551 * include/grub/usbdesc.h: Likewise.
27552 * include/grub/usb.h: Likewise.
27553 * include/grub/script_sh.h: Likewise.
27554 * include/grub/lib/LzmaEnc.h: Likewise.
27555 * include/grub/efiemu/efiemu.h: Likewise.
27556 * include/grub/command.h: Likewise.
27557 * normal/menu.c: Likewise.
27558 * normal/main.c: Likewise.
27559 * normal/datetime.c: Likewise.
27560 * bus/usb/uhci.c: Likewise.
27561 * mmap/i386/uppermem.c: Likewise.
27562 * mmap/mmap.c: Likewise.
27563 * commands/acpi.c: Likewise.
27564 * commands/test.c: Likewise.
27565 * partmap/apple.c: Likewise.
27566 * font/font.c: Likewise.
27567 * loader/sparc64/ieee1275/linux.c: Likewise.
27568 * loader/macho.c: Likewise.
27569 * loader/i386/bsd_trampoline.S: Likewise.
27570 * loader/i386/bsd.c: Likewise.
27571 * loader/xnu.c: Likewise.
27572 * term/i386/pc/vesafb.c: Likewise.
27573 * term/usb_keyboard.c: Likewise.
27574 * util/resolve.c: Likewise.
27575 * util/getroot.c: Likewise.
27576
0cfc0083 275772009-05-04 Felix Zielcke <fzielcke@z-51.de>
27578
27579 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
27580
7c1d00cd 275812009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27582
27583 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
27584 build error.
27585
b01f0548 275862009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27587
27588 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
27589 parameter only available on BIOS.
27590
ecc3eb22 275912009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27592
27593 Removed wrong semicolon in declaration
27594
27595 * grub/misc.h (grub_dprintf): remove semicolon
27596
112972a9 275972009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27598
27599 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
27600 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
27601 is done by grub_cmd_linux() now).
27602 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
27603 restore video to text mode.
27604 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
27605 indicates lack of "vga=" parameter. "vga=0" is mapped to
27606 `GRUB_LINUX_VID_MODE_NORMAL'.
27607
afd5c115 276082009-05-04 Felix Zielcke <fzielcke@z-51.de>
27609
27610 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
27611 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
27612 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 27613 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 27614 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
27615 `grub_script.tab.c'.
27616
27617 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27618 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27619 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27620 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27621 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27622
faa517ce 27623 * Makefile.in: Remove duplicated 2008 in Copyright line.
27624
ae0c0bdc 276252009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27626
473d1e45 27627 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 27628 unconditionally.
27629 * include/grub/util/misc.h (grub_util_warn): New declaration.
27630
27631 * util/i386/pc/grub-install.in: Understand --force and pass it down
27632 to grub-setup.
27633
27634 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
27635 down to setup().
27636 (setup): Improve error messages and add warnings when requested to
27637 install in odd layouts. Refuse to install using blocklists unless
27638 --force was set.
27639
18f547ad 276402009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 27641
27642 * disk/raid.c (grub_raid_scan_device): Improve debug message.
27643
6d260daa 276442009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27645
27646 Updated copyright year
27647
27648 * fs/hfsplus.c: updated copyright year
18f547ad 27649
69f853f8 276502009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27651
27652 HFS+ UUID
27653
18f547ad 27654 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 27655 in the space previously used by unused3
27656 (grub_hfsplus_uuid): new function
27657 (grub_hfsplus_fs): added uuid field
27658
4c402e73 276592009-05-03 Pavel Roskin <proski@gnu.org>
27660
27661 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
27662 suppress warnings. It's no longer needed.
27663 * disk/host.c: Likewise.
27664 * disk/ata_pthru.c: Likewise.
27665 * disk/loopback.c: Likewise.
27666 * hook/datehook.c: Likewise.
27667 * parttool/pcpart.c: Likewise.
27668 * fs/i386/pc/pxe.c: Likewise.
27669 * fs/ntfscomp.c: Likewise.
27670 * efiemu/main.c: Likewise.
27671 * mmap/mmap.c: Likewise.
27672 * commands/crc.c: Likewise.
27673 * commands/hexdump.c: Likewise.
27674 * commands/hdparm.c: Likewise.
27675 * commands/acpi.c: Likewise.
27676 * commands/echo.c: Likewise.
27677 * commands/minicmd.c: Likewise.
27678 * commands/blocklist.c: Likewise.
27679 * commands/memrw.c: Likewise.
27680 * commands/loadenv.c: Likewise.
27681 * commands/usbtest.c: Likewise.
27682 * commands/lsmmap.c: Likewise.
27683 * commands/boot.c: Likewise.
27684 * commands/parttool.c: Likewise.
27685 * commands/configfile.c: Likewise.
27686 * commands/search.c: Likewise.
27687 * commands/ieee1275/suspend.c: Likewise.
27688 * commands/cat.c: Likewise.
27689 * commands/i386/pc/pxecmd.c: Likewise.
27690 * commands/i386/pc/play.c: Likewise.
27691 * commands/i386/pc/halt.c: Likewise.
27692 * commands/i386/pc/vbeinfo.c: Likewise.
27693 * commands/i386/pc/vbetest.c: Likewise.
27694 * commands/lspci.c: Likewise.
27695 * commands/date.c: Likewise.
27696 * commands/handler.c: Likewise.
27697 * commands/ls.c: Likewise.
27698 * commands/test.c: Likewise.
27699 * commands/cmp.c: Likewise.
27700 * commands/efi/loadbios.c: Likewise.
27701 * commands/efi/fixvideo.c: Likewise.
27702 * commands/halt.c: Likewise.
27703 * commands/help.c: Likewise.
27704 * commands/reboot.c: Likewise.
27705 * hello/hello.c: Likewise.
27706 * script/sh/main.c: Likewise.
27707 * loader/xnu.c: Likewise.
27708 * term/terminfo.c: Likewise.
27709 * term/i386/pc/serial.c: Likewise.
27710 * term/usb_keyboard.c: Likewise.
27711
515b5079 277122009-05-03 David S. Miller <davem@davemloft.net>
27713
27714 * normal/menu.c: Include grub/parser.h
27715
dfc31a22 277162009-05-03 Pavel Roskin <proski@gnu.org>
27717
2fee74f1 27718 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
27719 not char*.
27720 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
27721 Suggested by Javier Martín <lordhabbit@gmail.com>
27722
dfc31a22 27723 * util/i386/pc/grub-mkrescue.in: Allow for the case when
27724 efiemu??.o doesn't exist.
27725 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
27726 copying.
27727
18f547ad 277282009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 27729
27730 FreeBSD 64-bit support
27731
18f547ad 27732 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 27733 and loader/i386/bsd_trampoline.S
27734 (bsd_mod_ASFLAGS): new variable
27735 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
27736 (FREEBSD_MODTYPE_KERNEL64): likewise
27737 (grub_bsd64_trampoline_start): likewise
27738 (grub_bsd64_trampoline_end): likewise
27739 (grub_bsd64_trampoline_selfjump): likewise
27740 (grub_bsd64_trampoline_gdt): likewise
27741 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
27742 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
27743 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
27744 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 27745 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 27746 of "attrib" member
27747 * loader/i386/bsd_pagetable.c: new file
27748 * loader/i386/bsd_trampoline.S: likewise
27749 * loader/i386/bsd.c (ALIGN_QWORD): new macro
27750 (ALIGN_VAR): likewise
27751 (entry_hi): new variable
27752 (kern_end_mdofs): likewise
27753 (is_64bit): likewise
27754 (grub_freebsd_add_meta): use ALIGN_VAR
27755 (grub_e820_mmap): new declaration
27756 (grub_freebsd_add_mmap): new function
27757 (grub_freebsd_add_meta_module): support 64 bit kernels
27758 (grub_freebsd_list_modules): use ALIGN_VAR
27759 (gdt_descriptor): new declaration
27760 (grub_freebsd_boot): support 64 bit kernels
27761 (grub_bsd_elf64_hook): new function
27762 (grub_bsd_load_elf): support elf64
27763
038c5720 277642009-05-03 Bean <bean123ch@gmail.com>
27765
27766 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
27767 after we get the result of if statement.
27768
fc45fb58 277692009-05-03 Bean <bean123ch@gmail.com>
27770
27771 * Makefile.in (enable_efiemu): New variable.
27772
27773 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
27774 set.
27775 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
27776 path.
27777 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
27778 path, add -mno-red-zone option.
27779 (efiemu64_s.o): Likewise.
27780 (efiemu64.o): Use macro $^ for source file.
27781
27782 * configure.ac (--enable-efiemu): New option.
27783
bbee0f2b 277842009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27785
27786 xnu support
27787
27788 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
27789 (pkglib_MODULES): add xnu.mod
27790 (xnu_mod_SOURCES): new variable
27791 (xnu_mod_CFLAGS): likewise
27792 (xnu_mod_LDFLAGS): likewise
27793 (xnu_mod_ASFLAGS): likewise
27794 * conf/i386-pc.rmk: likewise
27795 * conf/x86_64-efi.rmk: likewise
7dd4a573 27796 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 27797 new declaration
27798 * include/grub/i386/macho.h: new file
27799 * include/grub/i386/xnu.h: likewise
27800 * include/grub/macho.h: likewise
27801 * include/grub/machoload.h: likewise
27802 * include/grub/x86_64/macho.h: likewise
27803 * include/grub/x86_64/xnu.h: likewise
27804 * include/grub/xnu.h: likewise
27805 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
27806 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
27807 * loader/i386/efi/xnu.c: new file
27808 * loader/i386/pc/xnu.c: likewise
27809 * loader/i386/xnu.c: likewise
27810 * loader/i386/xnu_helper.S: likewise
27811 * loader/macho.c: likewise
27812 * loader/xnu.c: likewise
27813 * loader/xnu_resume.c: likewise
27814 * util/grub-dumpdevtree: likewise
27815 * include/grub/i386/pit.h: include grub/err.h
27816 (grub_pit_wait): export
27817 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 27818
5caf964d 278192009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27820
27821 Efiemu
7dd4a573 27822
5caf964d 27823 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 27824 _linux_efi, linux_efi.
27825 new files in grub-emu
5caf964d 27826 new targets efiemu32.o and efiemu64.o
27827 * loader/linux_normal_efiemu.c: likewise
27828 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 27829 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 27830 files to copy
27831 * include/grub/autoefi.h: new file
7dd4a573 27832 * include/grub/i386/efiemu.h: likewise
5caf964d 27833 * include/grub/i386/pc/efiemu.h: likewise
27834 * include/grub/efi/api.h: add LL suffix when necessary
27835 new definitions relating to tables
27836 * include/grub/efiemu/efiemu.h: new file
27837 * include/grub/efiemu/runtime.h: likewise
27838 * efiemu/prepare.c: likewise
27839 * efiemu/loadcore_common.c: likewise
27840 * efiemu/loadcore64.c: likewise
27841 * efiemu/runtime/efiemu.sh: likewise
27842 * efiemu/runtime/efiemu.S: likewise
27843 * efiemu/runtime/efiemu.c: likewise
27844 * efiemu/runtime/config.h: likewise
27845 * efiemu/prepare32.c: likewise
27846 * efiemu/main.c: likewise
27847 * efiemu/modules/pnvram.c: likewise
27848 * efiemu/modules/i386: likewise
27849 * efiemu/modules/i386/pc: likewise
27850 * efiemu/modules/acpi.c: likewise
27851 * efiemu/i386/pc/cfgtables.c: likewise
27852 * efiemu/i386/loadcore64.c: likewise
27853 * efiemu/i386/loadcore32.c: likewise
27854 * efiemu/prepare64.c: likewise
27855 * efiemu/loadcore.c: likewise
27856 * efiemu/symbols.c: likewise
27857 * efiemu/mm.c: likewise
27858 * efiemu/loadcore32.c: likewise
7dd4a573 27859
278602009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 27861
27862 ACPI spoofing
27863
27864 * commands/acpi.c: new file
27865 * commands/i386/pc/acpi.c: likewise
27866 * commands/efi/acpi.c: likewise
27867 * include/grub/acpi.h: likewise
27868 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
27869 (acpi_mod_SOURCES): new variable
27870 (acpi_mod_CFLAGS): likewise
27871 (acpi_mod_LDFLAGS): likewise
27872 * conf/i386-efi.rmk: likewise
27873 * conf/x86_64-efi.rmk: likewise
27874
7dd4a573 278752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 27876
27877 Missing part from mmap patch
27878
27879 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
27880 (grub_mmap_unregister)
27881 (grub_mmap_free_and_unregister): use grub_mmap_register
27882
7dd4a573 278832009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 27884
27885 Mmap services
27886
27887 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
27888 * loader/i386/linux.c (find_mmap_size): likewise
27889 (allocate_pages): likewise
27890 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
27891 (grub_fill_multiboot_mmap): likewise
27892 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
27893 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
27894 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
27895 (OPENBSD_MMAP_RESERVED): likewise
27896 * include/grub/i386/pc/memory.h: include grub/memory.h
27897 (grub_lower_mem): removed
27898 (grub_upper_mem): likewise
27899 (GRUB_MACHINE_MEMORY_ACPI): new definition
27900 (GRUB_MACHINE_MEMORY_NVS): likewise
27901 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
27902 (GRUB_MACHINE_MEMORY_HOLE): likewise
27903 (grub_machine_mmap_register): likewise
27904 (grub_machine_mmap_unregister): likewise
27905 (grub_machine_get_upper): likewise
27906 (grub_machine_get_lower): likewise
27907 (grub_machine_get_post64): likewise
27908 * include/grub/i386/efi/memory.h: new file
27909 * include/grub/x86_64/efi/memory.h: likewise
27910 * include/grub/efi/memory.h: likewise
27911 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
27912 (mmap_mod_SOURCES): new variable
27913 (mmap_mod_LDFLAGS): likewise
27914 (mmap_mod_ASFLAGS): likewise
27915 * conf/i386-coreboot.rmk: likewise
27916 * conf/i386-ieee1275.rmk: likewise
27917 * conf/i386-efi.rmk: likewise
27918 * conf/x86_64-efi.rmk: likewise
27919 * include/grub/types.h (UINT_TO_PTR): new macro
27920 (PTR_TO_UINT32): likewise
27921 (PTR_TO_UINT64): likewise
27922 * include/grub/memory.h: new file
27923 * mmap/i386/pc/mmap.c: likewise
27924 * mmap/i386/pc/mmap_helper.S: likewise
27925 * mmap/i386/uppermem.c: likewise
27926 * mmap/mmap.c: likewise
27927 * mmap/efi/mmap.c: likewise
7dd4a573 27928 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 27929 grub_upper_mem
27930 * kern/i386/pc/init.c (grub_lower_mem): removed variable
27931 (grub_upper_mem): likewise
27932 (grub_machine_init): don't use grub_upper_mem,
27933 make grub_lower_mem local
27934 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
27935 grub_mmap_iterate and grub_mmap_get_upper
27936 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
27937
d558e6b5 279382009-05-02 Bean <bean123ch@gmail.com>
27939
27940 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
27941 script/sh/parser.y.
27942 (pkglib_MODULES): Add normal.mod and sh.mod.
27943 (normal_SOURCES): New variable.
27944 (normal_mod_CFLAGS): Likewise.
27945 (normal_mod_LDFLAGS): Likewise.
27946 (sh_mod_SOURCES): Likewise.
27947 (sh_mod_CFLAGS): Likewise.
27948 (sh_mod_LDFLAGS): Likewise.
27949
27950 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
27951 script/sh/lexer.c_DEPENDENCIES.
27952 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
27953 kern/rescue_reader.c and kern/rescue_parser.c.
27954 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
27955 (grub_emu_SOURCES): Change source files.
27956 (pkglib_MODULES): Remove normal.mod.
27957 (normal_SOURCES): Removed.
27958 (normal_mod_CFLAGS): Likewise.
27959 (normal_mod_LDFLAGS): Likewise.
27960 * conf/i386-coreboot.rmk: Likewise.
27961 * conf/i386-efi.rmk: Likewise.
27962 * conf/i386-ieee1276.rmk: Likewise.
27963 * conf/powerpc-ieee1275.rmk: Likewise.
27964 * conf/sparc64-ieee1275.rmk: Likewise.
27965 * conf/x86_64-efi.rmk: Likewise.
27966
27967 * include/grub/command.h (grub_command_execute): New inline function.
27968
27969 * include/grub/menu.h (grub_menu_entry): Removed commands field.
27970
27971 * include/grub/normal.h: Remove <grub/setjmp.h>.
27972 (grub_fs_module_list): Moved to normal/autofs.c.
27973 (grub_exit_env): Removed.
27974 (grub_command_execute): Likewise.
27975 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
27976 parameter script.
27977 (read_command_list): New function declaration.
27978 (read_fs_list): Likewise.
27979
27980 * include/parser.h: Include <grub/reader.h>.
27981 (grub_parser_split_cmdline): Change type of getline parameter.
27982 (grub_parser): New structure.
27983 (grub_parser_class): New variable.
27984 (grub_parser_execute): New function declaration.
27985 (grub_register_rescue_parser): Likewise.
27986 (grub_parser_register): New inline function.
27987 (grub_parser_unregister): Likewise.
27988 (grub_parser_get_current): Likewise.
27989 (grub_parser_set_current): Likewise.
27990
27991 * include/grub/reader.h: New file.
27992 * kern/reader.c: Likewise.
27993 * kern/rescue_parser.c: Likewise.
27994 * kern/rescue_reader.c: Likewise.
27995 * normal/autofs.c: Likewise.
27996 * normal/dyncmd.c: Likewise.
27997
27998 * include/grub/rescue.h: Removed.
27999 * normal/command.h: Likewise.
28000
28001 * include/grub/script.h: Moved to ...
28002 * include/grub/script_sh.h: ... Moved here.
28003 * normal/execute.c: Moved to ...
28004 * script/sh/execute.c: ... Moved here.
28005 * normal/function.c: Moved to ...
28006 * script/sh/function.c: ... Moved here.
28007 * normal/lexer.c: Moved to ...
28008 * script/sh/lexer.c: ... Moved here.
28009 * normal/parser.y: Moved to ...
28010 * script/sh/parser.y: ... Moved here.
28011 * normal/script.c: Moved to ...
28012 * script/sh/script.c: ... Moved here.
28013
28014 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
28015 <grub/reader.h>.
28016 (grub_exit_env): Removed.
28017 (fs_module_list): Moved to normal/autofs.c.
28018 (grub_file_getline): Don't handle comment here.
28019 (free_menu): Skip removed field entry->commands.
28020 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
28021 script parameter.
28022 (read_config_file): Removed nested parameter, change getline function.
28023 (grub_enter_normal_mode): Removed.
28024 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
28025 (read_command_list): Likewise.
28026 (autoload_fs_module): Moved to normal/autofs.c.
28027 (read_fs_list): Likewise.
28028 (reader_nested): New variable.
28029 (grub_normal_execute): Run parser.sh to switch to sh parser.
28030 (grub_cmd_rescue): Removed.
28031 (cmd_normal): Removed.
28032 (grub_cmd_normal): Unregister itself at the beginning. Don't register
28033 rescue command.
28034 (grub_cmdline_run): New function.
28035 (grub_normal_reader_init): Likewise.
28036 (grub_normal_read_line): Likewise.
28037 (grub_env_write_pager): Likewise.
28038 (cmdline): New variable.
28039 (grub_normal_reader): Likewise.
28040 (GRUB_MOD_INIT): Register normal reader and set as current, register
28041 pager hook, register normal command with grub_register_command_prio,
28042 so that it won't show up in command.lst.
28043 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
28044 grub_fs_autoload_hook.
28045
28046 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
28047 (grub_menu_execute_entry): Replace grub_script_execute with
28048 grub_parser_execute, change parameter to grub_command_execute.
28049
28050 * normal/menu_text.c: Remove <grub/script.h>.
28051
28052 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
28053 and <grub/parser.h>.
28054 (run): Change editor_getline to use new parser interface. Change
28055 parameter to grub_command_execute.
28056
28057 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
28058 <grub/reader.h> and <grub/parser.h>.
28059 (grub_load_normal_mode): Execute normal command.
28060 (grub_main): Call grub_register_core_commands,
28061 grub_register_rescue_parser and grub_register_rescue_reader, use
28062 grub_reader_loop to enter input loop.
28063
7dd4a573 28064 * kern/parser.c (grub_parser_split_cmdline): Change type of
28065 getline parameter.
d558e6b5 28066 (grub_parser_class): New variable.
28067 (grub_parser_execute): New function.
28068
28069 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
28070 * loader/multiboot2.c: Likewise.
28071 * loader/sparc64/ieee1275/linux.c: Likewise.
28072
28073 * util/grub-emu.c (read_command_list): New dummy function.
28074
18db813d 280752009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28076
28077 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
28078 count to 16 for CCISS and IDA.
28079
6c67de15 280802009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28081
28082 * normal/menu_text.c (grub_wait_after_message): Print a newline
28083 after waiting for user input.
28084
28085 * loader/i386/linux.c: Include `<grub/normal.h>'.
28086 (grub_cmd_linux): Improve the error message about `ask' mode, by
28087 waiting for user input so it's not missed (we can do this, since
28088 user requested interaction).
28089
d9dc87b0 280902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28091
28092 Added missing lst to grub-mkrescue
28093
28094 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
28095 and ${input_dir}/parttool.lst
28096
ac8a2baa 280972009-04-30 David S. Miller <davem@davemloft.net>
28098
ad22a610 28099 * util/hostdisk.c (device_is_wholedisk): New function.
28100 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
28101 zero only if device_is_wholedisk() returns true.
28102
6966215d 28103 * util/hostdisk.c (convert_system_partition_to_system_disk):
28104 Handle virtual disk devices named /dev/vdiskX as found on sparc
28105 and powerpc.
28106
ac8a2baa 28107 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
28108 lettered partition specifier is found, convert to numbered.
28109
979b4fb4 281102009-04-29 David S. Miller <davem@davemloft.net>
28111
e2bf39b2 28112 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28113 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28114
3c64e104 28115 * normal/command.c: Add missing newline at end of file.
28116
979b4fb4 28117 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28118 warnings.
28119 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28120 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28121 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28122 ihandles have a 32-bit type but need to be stored in a "void *".
28123
136d9f82 281242009-04-28 Pavel Roskin <proski@gnu.org>
28125
9459c306 28126 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28127 not disk. Adjust all dependencies.
2e08a26a 28128 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 28129 grub_disk_close().
28130
136d9f82 28131 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28132 parent's partition, don't copy it by reference, as it gets freed
28133 on close.
28134
7dd4a573 281352009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 28136
28137 Preboot hooks support
28138
28139 * commands/boot.c (struct grub_preboot_t): new declaration
28140 (preboots_head): new variable
28141 (preboots_tail): likewise
28142 (grub_loader_register_preboot_hook): new function
28143 (grub_loader_unregister_preboot_hook): likewise
28144 (grub_loader_set): launch preboot hooks
28145 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28146 (grub_loader_register_preboot_hook): new declaration
28147 (grub_loader_unregister_preboot_hook): likewise
28148
5af922b5 281492009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28150
28151 Warning fix
28152
7dd4a573 28153 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 28154 calling grub_dprintf
28155
a5562c30 281562009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28157
28158 Bug and warning fixes
28159
7dd4a573 28160 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 28161 declaration
28162 * commands/test.c (test_parse): fixed bug with file tests and corrected
28163 declaration of find_file
28164
4006f85c 281652009-04-26 Pavel Roskin <proski@gnu.org>
28166
28167 * Makefile.in: Don't install empty manual pages if help2man is
28168 missing. Use help2man option for output, not shell redirection.
28169
5c77c3de 281702009-04-26 David S. Miller <davem@davemloft.net>
28171
28172 * util/grub-mkdevicemap.c (make_device_map): Add missing
28173 NESTED_FUNC_ATTR to process_device().
28174
033b10a8 281752009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28176
28177 Test command
28178
28179 * commands/test.c: rewritten to use bash-like test
28180
e4343593 281812009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28182
28183 Parttool autoloading and improvements
28184
7dd4a573 28185 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 28186 (parttool.lst): new target
28187 * genmk.rb: generate parttool-*
28188 (CLEANFILES): add #{parttool}
28189 (PARTTOOLFILES): new variable
28190 * genparttoollist.sh: new file
7dd4a573 28191 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 28192 (grub_pcpart_type): likewise
28193 * commands/parttool.c (helpmsg): new variable
28194 (grub_cmd_parttool): output help if not enough arguments are supplied
28195 autoload modules
28196 (GRUB_MOD_INIT(parttool)): use helpmsg
28197
0d312500 281982009-04-24 David S. Miller <davem@davemloft.net>
28199
7dd4a573 28200 Avoiding opening same device multiple times in device iterator.
0d312500 28201
28202 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 28203 and use it to build a list of partitions in iterate_disk() and
0d312500 28204 iterate_partition().
28205
ac20caff 28206 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
28207 on disk->data.
28208
0dcf7495 28209 * disk/ieee1275/nand.c (grub_nand_iterate): Return
28210 grub_devalias_iterate() result instead of unconditional 0.
28211 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
28212 Also, capture hook return value, either directly or via
28213 grub_children_iterate(), and propagate to caller.
28214 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
28215 grub_children_iterate): Return value is now 'int' instead of
28216 'grub_err_t'.
28217 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
28218 like a proper iterator, stopping when hooks return non-zero.
28219 (grub_devalias_iterate): Likewise.
28220
c8c08833 282212009-04-23 David S. Miller <davem@davemloft.net>
28222
28223 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
28224
f01005a8 282252009-04-22 David S. Miller <davem@davemloft.net>
28226
28227 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
28228 is larger than address_cells, use that value for address_cells too.
28229
4e8269da 28230 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
28231 IEEE1275_MAX_PATH_LEN): Define.
28232 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
28233 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
28234 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
28235 'devtype'. Explicitly NULL terminate devalias expansion.
28236
a1447506 28237 * util/sparc64/ieee1275/misc.c: New file.
28238 * util/sparc64/ieee1275/grub-setup.c: New file.
28239 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
28240 * util/sparc64/ieee1275/grub-mkimage.c: New file.
28241 * util/sparc64/ieee1275/grub-install.in: New file.
28242 * util/ieee1275/ofpath.c: New file.
28243 * util/ieee1275/devicemap.c: New file.
28244 * util/devicemap.c: New file.
28245 * util/deviceiter.c: New file.
28246 * kern/sparc64/ieee1275/init.c: New file.
28247 * include/grub/util/ofpath.h: New file.
28248 * include/grub/util/deviceiter.h: New file.
28249 * util/grub-mkdevicemap.c: Include deviceiter.h.
28250 Implement using grub_util_emit_devicemap_entry and
28251 grub_util_iterate_devices.
28252 * conf/i386-corebook.rmk: Build util/deviceiter.c and
28253 util/devicemap.c into grub-mkdevicemap
28254 * conf/i386-efi.rmk: Likewise.
28255 * conf/i386-ieee1275.rmk: Likewise.
28256 * conf/i386-pc.rmk: Likewise.
28257 * conf/powerpc-ieee1275.rmk: Likewise.
28258 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
28259 images and installation utilities. Build kernel as image
28260 instead of as elf binary. Use common rules as much as possible.
28261
7dd4a573 282622009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 28263
28264 Correct GPT definition
28265
7dd4a573 28266 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 28267 of "attrib" member
28268
c6c5219f 282692009-04-19 Felix Zielcke <fzielcke@z-51.de>
28270
28271 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
28272
0552ff9f 282732009-04-19 David S. Miller <davem@davemloft.net>
28274
28275 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
28276 (grub_rescue_cmd_linux): Rename to...
28277 (grub_cmd_linux): and fix prototype.
28278 (grub_rescue_cmd_initrd): Rename to...
28279 (grub_cmd_initrd): and fix prototype.
28280 (cmd_linux, cmd_initrd): New.
28281 (GRUB_MOD_INIT(linux)): Use grub_register_command().
28282 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
28283
d1a282fc 282842009-04-17 Pavel Roskin <proski@gnu.org>
28285
07c5039f 28286 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
28287 format.
28288 (grub_ohci_transfer): Likewise.
28289
b012002d 28290 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
28291
1bc09c35 28292 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
28293 return without a value. Fix inconsistent indentation.
28294
e0ff9126 28295 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
28296 match struct grub_fs.
28297
d1a282fc 28298 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
28299 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
28300 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28301 * commands/lspci.c (grub_lspci_iter): Likewise.
28302
a96df3f2 283032009-04-16 Bean <bean123ch@gmail.com>
28304
28305 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
28306 value.
28307
41bb0fe9 283082009-04-15 Pavel Roskin <proski@gnu.org>
28309
28310 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
28311 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
28312 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
28313 definitions.
28314
596c6970 283152009-04-15 Felix Zielcke <fzielcke@z-51.de>
28316
28317 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 28318 that no multiple data or metadata areas are supported and `Unknown
596c6970 28319 metadata header'.
28320
7dd4a573 283212009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 28322
28323 Move loader out of the kernel
28324
28325 * kern/loader.c: moved to ...
28326 * commands/boot.c: ... moved here
28327 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
28328 * commands/boot.c (grub_cmd_boot): moved here. All users updated
28329 * include/grub/kernel.h (grub_machine_fini): export
28330 * include/grub/loader.h (grub_loader_is_loaded): update declaration
28331 (grub_loader_set): likewise
28332 (grub_loader_unset): likewise
28333 (grub_loader_boot): likewise
28334 * conf/common.rmk: new module boot.mod
28335 (pkglib_MODULES): add boot.mod
28336 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
28337 (grub_emu_SOURCES): likewise
28338 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
28339 (grub_emu_SOURCES): likewise
28340 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
28341 (grub_emu_SOURCES): likewise
28342 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
28343 (grub_emu_SOURCES): likewise
28344 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
28345 (grub_emu_SOURCES): likewise
7dd4a573 28346 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
28347 (grub_emu_SOURCES): likewise
0d5d5653 28348 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 28349 (grub_emu_SOURCES): likewise
0d5d5653 28350
7dd4a573 283512009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 28352
28353 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 28354
5999d619 28355 * kern/misc.c (grub_itoa): Removed function
28356 (grub_ltoa): likewise
28357 (grub_vsprintf): use grub_lltoa
28358
7dd4a573 283592009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 28360
28361 Restore grub-emu
28362
28363 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
28364 * conf/i386-coreboot.rmk: likewise
28365 * conf/i386-ieee1275.rmk: likewise
28366 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28367
20318222 283682009-04-15 Felix Zielcke <fzielcke@z-51.de>
28369
28370 * INSTALL: Add that `./autogen.sh' needs to be run before
28371 `./configure.'.
28372
d05f0df3 283732009-04-14 Bean <bean123ch@gmail.com>
28374
28375 * Makefile.in (pkglib_DATA): Add handler.lst.
28376 (handler.lst): New rule.
28377
28378 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
28379 * conf/i386-coreboot.rmk: Likewise.
28380 * conf/i386-ieee1275.rmk: Likewise.
28381 * conf/i386-efi.rmk: Likewise.
28382 * conf/x86_64-efi.rmk: Likewise.
28383 * conf/powerpc-ieee1275.rmk: Likewise.
28384 * conf/sparc64-ieee1275.rmk: Likewise.
28385
28386 * genhandlerlist.sh: New file.
28387
28388 * genmk.rb: Add rules to generate handler.lst.
28389
28390 * include/grub/normal.h (grub_file_getline): New function definition.
28391 (read_handler_list): Likewise.
28392 (free_handler_list): Likewise.
28393
28394 * include/grub/term.h (grub_term_register_input): Add name parameter
28395 for auto generation of handler.lst.
28396 (grub_term_register_output): Likewise.
28397
28398 * normal/handler.c: New file.
28399
28400 * normal/main.c (get_line): Renamed to grub_file_getline.
28401 (read_config_file): Use the newly renamed grub_file_getline.
28402 (read_command_list): Likewise.
28403 (read_fs_list): Likewise.
28404 (grub_normal_execute): Call read_handler_list to parse handler.lst.
28405 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
28406
28407 * term/efi/console.c (grub_console_init): Add name parameter for auto
28408 generation of handler.lst.
28409 * term/gfxterm.c: Likewise.
28410 * term/i386/pc/at_keyboard.c: Likewise.
28411 * term/i386/pc/console.c: Likewise.
28412 * term/i386/pc/serial.c: Likewise.
28413 * term/i386/pc/vesafb.c: Likewise.
28414 * term/i386/pc/vga.c: Likewise.
28415 * term/i386/pc/vga_text.c: Likewise.
28416 * term/ieee1275/ofconsole.c: Likewise.
28417 * term/usb_keyboard.c: Likewise.
28418
33c846be 284192009-04-14 Bean <bean123ch@gmail.com>
28420
28421 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
28422 properly with null character.
28423
4484e01e 284242009-04-14 Felix Zielcke <fzielcke@z-51.de>
28425
28426 * configure: Remove.
28427 * config.h.in: Likewise.
f93d668e 28428 * stamp-h.in: Likewise.
4484e01e 28429 * DISTLIST: Likewise.
28430 * conf/common.mk: Likewise.
28431 * conf/i386-coreboot.mk: Likewise.
28432 * conf/i386-efi.mk: Likewise.
28433 * conf/i386-ieee1275.mk: Likewise.
28434 * conf/i386.mk: Likewise.
28435 * conf/i386-pc.mk: Likewise.
28436 * conf/powerpc-ieee1275.mk: Likewise.
28437 * conf/sparc64-ieee1275.mk: Likewise.
28438 * conf/x86_64-efi.mk: Likewise.
28439
28440 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
28441 develop on GRUB.
28442
7dd4a573 284432009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 28444 David S. Miller <davem@davemloft.net>
28445
28446 * util/hostdisk.c (make_device_name): Fix buffer length
28447 calculations.
28448
e25b5a8c 284492009-04-14 Felix Zielcke <fzielcke@z-51.de>
28450
28451 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
28452 <sys/param.h> and <sys/sysctl.h>.
28453 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
28454 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
28455 opening the device and reset them afterwards.
28456
1f1f580c 284572009-04-13 Pavel Roskin <proski@gnu.org>
28458
28459 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
28460 Reported by John Stanley <jpsinthemix@verizon.net>
28461
7ebc2d6b 284622009-04-13 Robert Millan <rmh@aybabtu.com>
28463
28464 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 28465 that name for menuentries when appropriate.
7ebc2d6b 28466
d8ba3667 284672009-04-13 Felix Zielcke <fzielcke@z-51.de>
28468
28469 * util/grub.d/10_freebsd.in: Add a missing `fi'.
28470
cba416eb 284712009-04-13 Robert Millan <rmh@aybabtu.com>
28472
28473 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
28474 to Linux, simply abort telling the user it's no longer supported.
28475
a547a745 284762009-04-13 Felix Zielcke <fzielcke@z-51.de>
28477
28478 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 28479 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 28480 `freebsd_loadenv' only when devices.hints exist.
28481
232a769c 284822009-04-13 Pavel Roskin <proski@gnu.org>
28483
28484 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
28485
c3012039 284862009-04-13 Felix Zielcke <fzielcke@z-51.de>
28487
28488 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
28489 partition number.
28490 (grub_drive): Likewise.
28491
234022fe 284922009-04-13 David S. Miller <davem@davemloft.net>
28493
28494 * kern/sparc64/ieee1275/ieee1275.c: New file.
28495 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
28496 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
28497 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
28498 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
28499 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
28500 grub_ieee1275_alloc_physmem): Declare new exported functions.
28501
d8e1836c 28502 * include/grub/sparc64/ieee1275/loader.h: New file.
28503 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28504 * include/grub/sparc64/kernel.h: Likewise.
28505 * loader/sparc64/ieee1275/linux.c: Likewise.
28506
96bd81ec 28507 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
28508 (grub_fstest_SOURCES): Likewise.
28509
6a4737e5 28510 * util/hostdisk.c (make_device_name): Do not make any assumptions
28511 about the length of drive names.
28512
1d7a72fd 28513 * kern/dl.c (grub_dl_load_file): Close file immediately when
28514 we are done using it.
28515
56bc2471 285162009-04-12 David S. Miller <davem@davemloft.net>
28517
28518 * kern/misc.c (grub_ltoa): Fix cast when handling negative
28519 values. Noticed by Pavel Roskin.
28520
df38d0bb 28521 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
28522 target compiler.
7dd4a573 28523
e382e93a 28524 * genmk.rb: Add more flexible image type specification, also
28525 pass --strip-unneeded to objcopy.
28526 * conf/i386-pc.rmk: Use *_FORMAT.
28527 * conf/i386-pc.mk: Rebuilt.
28528
f5dbbca9 28529 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
28530 (OFDISK_HASH_SZ): Define.
28531 (ofdisk_hash): New hash table.
28532 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
28533 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
28534 instead of device phandle which is not unique.
28535
91c88b12 28536 * kern/sparc64/ieee1275/init.c: Delete, replace with...
28537 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
28538 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
28539 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
28540 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
28541 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
28542 GRUB_KERNEL_MACHINE_DATA_END): Define.
28543 (grub_kernel_image_size, grub_total_module_size): Declare.
28544
5b5d4aa5 285452009-04-12 Pavel Roskin <proski@gnu.org>
28546
7dd4a573 28547 * configure.ac: Change the logic when we check for target tools.
28548 Do it when the target is specified and it's different from the
28549 specified value of the host.
5b5d4aa5 28550
c91e1793 285512009-04-11 Felix Zielcke <fzielcke@z-51.de>
28552
28553 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
28554 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
28555 GNU/kFreeBSD. Check if a device is a character device. Use
28556 DIOCGMEDIASIZE to get the size.
28557 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
28558 support for GNU/kFreeBSD.
28559 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
28560 is a character device instead of a block device. Add support for
28561 FreeBSD device names.
28562
28563 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
28564 is a character device instead of a block device.
28565
28566 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
28567 is a character device instead of a block device.
28568
b1ac8644 285692009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
28570
28571 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
28572 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
28573 FreeBSD. Check if a device is a character device. Use
28574 DIOCGMEDIASIZE to get the size.
28575 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
28576 support for FreeBSD.
28577 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
28578 is a character device instead of a block device. Add support for
28579 FreeBSD device names.
28580
28581 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
28582 a character device instead of a block device.
28583 (grub_util_check_char_device): New function.
28584
28585 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
28586 a character device instead of a block device.
28587
28588 * include/grub/util/getroot.h (grub_util_check_char_device): New
28589 prototype.
28590
a3f7515a 285912009-04-11 David S. Miller <davem@davemloft.net>
28592
28593 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
28594 static libgcc.
28595 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
28596 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
28597 function, if present.
28598 (__bswapdi2): Likewise.
28599
0d44993d 28600 * include/grub/sparc64/ieee1275/boot.h: New file.
28601 * boot/sparc64/ieee1275/boot.S: Likewise.
28602 * boot/sparc64/ieee1275/diskboot.S: Likewise.
28603
ed3d2bc2 28604 * kern/misc.c (grub_ltoa): New function.
28605 (grub_vsprintf): Use it to format 'long' integers.
28606
d3bfb59c 286072009-04-10 David S. Miller <davem@davemloft.net>
28608
28609 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
28610 slots are of type grub_ieee1275_cell_t.
28611 (grub_nand_read): Likewise.
28612 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
28613 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
28614 macros are used to compare values in arg/ret block of the call.
28615 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28616 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
28617 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
28618 grub_ieee1275_instance_to_path, grub_ieee1275_write,
28619 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
28620 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
28621 grub_ieee1275_close, grub_ieee1275_set_property,
28622 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
28623 grub_ieee1275_cell_t.
28624 * kern/ieee1275/openfw.c (grub_map): Likewise.
28625 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
28626 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
28627
450e2238 28628 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
28629 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
28630 (grub_devalias_iterate): Likewise.
28631
7dd4a573 286322009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 28633
28634 UFS improvements
28635
28636 * fs/ufs.c (INODE_NBLOCKS): new definition
28637 (struct grub_ufs_dirent): added fields for non-BSD dirents
28638 (grub_ufs_get_file_block): fixed double indirect handling
28639 (grub_ufs_lookup_symlink): use more robust way to determine whether
28640 symlink is inline
28641 (grub_ufs_find_file): support for non-BSD dirents
28642 (grub_ufs_dir): support for non-BSD dirents
28643
e7e6862a 286442009-04-10 Bean <bean123ch@gnail.com>
28645
28646 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
28647 attribute, otherwise the size would be wrong for i386 platform.
28648
28649 * include/grub/pci.h (grub_pci_read_word): New inline function.
28650 (grub_pci_read_byte): Likewise.
28651 (grub_pci_write): Likewise.
28652 (grub_pci_write_word): Likewise.
28653 (grub_pci_write_byte): Likewise.
28654
28655 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
28656
28657 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
28658 (find_framebuf): Scan pci to locate the frame buffer address.
28659
28660 * commands/efi/fixvideo.c: New file.
28661
28662 * commands/efi/loadbios.c: Likewise.
28663
28664 * commands/memrw.c: Likewise.
28665
28666 * util/grub-dumpbios.in: Likewise.
28667
28668 * conf/common.rmk (grub-dumpbios): New utility.
28669 (pkglib_MODULES): New module memrw.mod.
28670 (memrw_mod_SOURCE): New macro.
28671 (memrw_mod_CFLAGS): Likewise.
28672 (memrw_mod_LDFLAGS): Likewise.
28673
7dd4a573 28674 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28675 fixvideo.mod.
28676 (loadbios_mod_SOURCE): New macro.
28677 (loadbios_mod_CFLAGS): Likewise.
28678 (loadbios_mod_LDFLAGS): Likewise.
28679 (fixvideo_mod_SOURCE): Likewise.
28680 (fixvideo_mod_CFLAGS): Likewise.
28681 (fixvideo_mod_LDFLAGS): Likewise.
28682
7dd4a573 28683 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28684 fixvideo.mod.
28685 (loadbios_mod_SOURCE): New macro.
28686 (loadbios_mod_CFLAGS): Likewise.
28687 (loadbios_mod_LDFLAGS): Likewise.
28688 (fixvideo_mod_SOURCE): Likewise.
28689 (fixvideo_mod_CFLAGS): Likewise.
28690 (fixvideo_mod_LDFLAGS): Likewise.
28691
af63ada2 286922009-04-08 Felix Zielcke <fzielcke@z-51.de>
28693
28694 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
28695
c2cdde70 286962009-04-07 David S. Miller <davem@davemloft.net>
28697
28698 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
28699 support for R_SPARC_OLO10 relocations. Fix compile warning for
28700 R_SPARC_WDISP30 case.
ea3f72cf 28701 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 28702
761319cf 287032009-04-06 Pavel Roskin <proski@gnu.org>
28704
1007d1f5 28705 * include/grub/misc.h (ARRAY_SIZE): New macro.
28706 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
28707 New macro.
28708 * loader/i386/linux.c (allocate_pages): Use free_pages().
28709 (grub_linux_unload): Don't use free_pages().
28710 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
28711 wrong index. Treat all other modes as text modes.
28712 (grub_cmd_linux): Initialize vid_mode unconditionally to
28713 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
28714
761319cf 28715 * commands/help.c (print_command_help): Use cmd->prio, not
28716 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
28717
ea761d40 287182009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 28719
ea761d40 28720 Parttool
28721
28722 * parttool/pcpart.c: new file
28723 * commands/parttool.c: likewise
28724 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
28725 (parttool_mod_SOURCES): new variable
28726 (parttool_mod_CFLAGS): likewise
28727 (parttool_mod_LDFLAGS): likewise
28728 (pcpart_mod_SOURCES): likewise
28729 (pcpart_mod_CFLAGS): likewise
28730 (pcpart_mod_LDFLAGS): likewise
7dd4a573 28731 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 28732 and parttool/pcpart.c
28733 * conf/i386-efi.rmk: likewise
28734 * conf/i386-ieee1275.rmk: likewise
28735 * conf/i386-pc.rmk: likewise
28736 * conf/powerpc-ieee1275.rmk: likewise
28737 * conf/sparc64-ieee1275.rmk: likewise
28738 * conf/x86_64-ieee1275.rmk: likewise
28739
05aaebfb 287402009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28741
28742 Support for mtime and further expandability of dir command
28743
28744 * include/grub/lib/datetime.h: moved to ...
7dd4a573 28745 * include/grub/datetime.h: ... moved here and added
05aaebfb 28746 declaration of grub_unixtime2datetime. All users updated
7dd4a573 28747 * include/grub/fs.h: new syntax for dir and mtime functions in
28748 struct grub_fs
05aaebfb 28749 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
28750 and GRUB_FSHELP_FLAGS_MASK
28751 * commands/ls.c (grub_ls_list_files): Write mtime in long format
28752 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
28753 (grub_ext2_mtime): new function
28754 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
28755 (grub_hfsplus_mtime): new function
28756 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
28757 (GRUB_UFS_ATTR_FILE): likewise
28758 (GRUB_UFS_ATTR_LNK): likewise
28759 (struct grub_ufs_sblock): new fields mtime
28760 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
28761 all users updated
28762 (grub_ufs_dir): mtime support
28763 (grub_ufs_mtime): new function
28764 * fs/affs.c (grub_affs_dir): use new dir syntax
28765 * fs/afs.c (grub_afs_dir): likewise
28766 * fs/cpio.c (grub_cpio_dir): likewise
28767 * fs/fat.c (grub_fat_find_dir): likewise
28768 * fs/hfs.c (grub_hfs_dir): likewise
28769 * fs/iso9660.c (grub_iso9660_dir): likewise
28770 * fs/jfs.c (grub_jfs_dir): likewise
28771 * fs/minix.c (grub_minix_dir): likewise
28772 * fs/ntfs.c (grub_ntfs_dir): likewise
28773 * fs/reiserfs.c (grub_reiserfs_dir): likewise
28774 * fs/sfs.c (grub_sfs_dir): likewise
28775 * fs/xfs.c (grub_xfs_dir): likewise
28776 * util/hostfs.c (grub_hostfs_dir): likewise
28777 * lib/datetime.c: moved to ...
28778 * normal/datetime.c: ... moved here
28779 (grub_unixtime2datetime): new function
28780 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 28781 * normal/completion.c (iterate_dir): use new dir syntax
28782 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 28783 last modification time of a volume
7dd4a573 28784 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 28785 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 28786 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 28787 (normal_mod_SOURCES): likewise
28788 (datetime_mod_SOURCES): Removed lib/datetime.c
28789 * conf/i386-efi.rmk: likewise
7dd4a573 28790 * conf/i386-ieee1275.rmk: likewise
05aaebfb 28791 * conf/i386-pc.rmk: likewise
28792 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28793 * conf/sparc64-ieee1275.rmk: likewise
28794 * conf/x86_64-efi.rmk: likewise
05aaebfb 28795
8a7e1a14 287962009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28797
28798 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 28799
28800 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 28801 on grub_fat_find_dir
28802 (grub_fat_find_dir): use grub_fat_iterate_dir
28803 (grub_fat_label): likewise
28804
04186a9c 288052009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28806
7dd4a573 28807 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 28808 and command.h
28809 remove extraneous kernel_elf_HEADERS
28810
da4c0bb6 288112009-04-04 Bean <bean123ch@gnail.com>
28812
28813 * include/grub/util/misc.h: Add dummy function fsync for mingw.
28814
28815 * util/misc.c: Likewise.
28816
54ad9555 288172009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28818
28819 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
28820 instead of grub_printf.
28821
7a6bf9f2 288222009-04-03 Robert Millan <rmh@aybabtu.com>
28823
28824 * loader/i386/linux.c (grub_linux_setup_video): Fill
28825 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
28826 values from `mode info' structure instead of hardcoded
28827 values.
28828
3fcc2083 288292009-04-01 Pavel Roskin <proski@gnu.org>
28830
28831 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
28832 unused now.
28833 * genmk.rb: Likewise.
28834 * configure.ac: Likewise.
28835
5ec9740b 288362009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
28837
28838 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
28839 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
28840
5270cec8 288412009-04-01 David S. Miller <davem@davemloft.net>
28842
28843 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 28844 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 28845 (grub_setjmp): Mark with 'returns_twice' attribute.
28846 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
28847 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
28848 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
28849
9c3dd854 288502009-04-01 Robert Millan <rmh@aybabtu.com>
28851
28852 Reapply fix from 2008-07-28 which was accidentally reverted; also
28853 perform the same fix to a similar check in same function.
28854
28855 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28856 with the same number are found, just use issue a warning with
28857 grub_dprintf(), as this error has been reported to be non-fatal.
28858
0d818b7e 288592009-03-31 Pavel Roskin <proski@gnu.org>
28860
28861 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
28862 for cross-compilation.
28863
95646d92 288642009-03-30 Robert Millan <rmh@aybabtu.com>
28865
28866 Fix i386-ieee1275 build.
28867
28868 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
28869 Remove declaration.
28870
6a003ed1 288712009-03-30 Pavel Roskin <proski@gnu.org>
28872
28873 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
28874 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
28875 zero-terminated, rely only on the strlen value. Fix comparison
28876 of strings differing in length.
28877
92f33540 288782009-03-30 Robert Millan <rmh@aybabtu.com>
28879
28880 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
28881 checking for abi version. Improve error messages on BIOS to notify
28882 user about `linux16' command.
28883
a8c48fd5 288842009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
28885
f968172e 28886 Leak fixes
a8c48fd5 28887
f968172e 28888 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
28889 in case of collision
28890 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 28891
9c323f09 288922009-03-29 Robert Millan <rmh@aybabtu.com>
28893
28894 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
28895 set `vid_mode' accordingly.
28896 (grub_linux_boot): Process `vid_mode' and set video mode.
28897
ae68f423 288982009-03-29 Robert Millan <rmh@aybabtu.com>
28899
28900 * util/grub.d/10_linux.in (linux_entry): New function.
28901 Factorize generation of Linux boot entries.
28902
5709cfc4 289032009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
28904
28905 Make the format of Environment Block plain text. The boot loader
28906 part is not tested well yet.
7dd4a573 28907
5709cfc4 28908 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
28909 (buffer): Removed.
28910 (envblk): Likewise.
28911 (usage): Remove "info" and "clear". Add "unset". Update the
28912 description of "set", as this does not delete variables any
28913 longer.
28914 (create_envblk_file): Complete rewrite.
28915 (open_envblk_file): Likewise.
28916 (cmd_info): Removed.
28917 (cmd_list): Likewise.
28918 (cmd_set): Likewise.
28919 (cmd_clear): Likewise.
28920 (list_variables): New function.
28921 (write_envblk): Likewise.
28922 (set_variables): Likewise.
28923 (unset_variables): Likewise.
28924 (main): Complete rewrite.
28925
28926 * commands/loadenv.c (buffer): Removed.
28927 (envblk): Likewise.
28928 (open_envblk_file): New function.
28929 (read_envblk_file): Complete rewrite.
28930 (grub_cmd_load_env): Likewise.
28931 (grub_cmd_list_env): Likewise.
28932 (struct blocklist): New struct.
28933 (free_blocklists): New function.
28934 (check_blocklists): Likewise.
28935 (write_blocklists): Likewise.
28936 (grub_cmd_save_env): Complete rewrite.
28937
28938 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
28939 a plain text signature.
28940 (GRUB_ENVBLK_MAXLEN): Removed.
28941 (struct grub_envblk): Complete rewrite.
28942 (grub_envblk_find): Removed.
28943 (grub_envblk_insert): Likewise.
28944 (grub_envblk_open): New prototype.
28945 (grub_envblk_set): Likewise.
28946 (grub_envblk_delete): Put const to VALUE.
28947 (grub_envblk_iterate): Put const to NAME and VALUE.
28948 (grub_envblk_close): New prototype.
28949 (grub_envblk_buffer): New inline function.
28950 (grub_envblk_size): Likewise.
28951
28952 * lib/envblk.c: Include grub/mm.h.
28953 (grub_env_find): Removed.
28954 (grub_envblk_open): New function.
28955 (grub_envblk_close): Likewise.
28956 (escaped_value_len): Likewise.
28957 (find_next_line): Likewise.
28958 (grub_envblk_insert): Removed.
28959 (grub_envblk_set): New function.
28960 (grub_envblk_delete): Complete rewrite.
28961 (grub_envblk_iterate): Likewise.
28962
a9368fd3 289632009-03-28 Robert Millan <rmh@aybabtu.com>
28964
28965 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
28966 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
28967 variables. Use 16-bit loader.
28968 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
28969 loader.
28970 * kern/i386/loader.S (grub_linux_boot): Rename to ...
28971 (grub_linux16_boot): ... this. Update all users.
28972 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
28973 (grub_linux_boot): ... this. Update all users.
28974
28975 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
28976 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
28977 commands to `linux16' and `initrd16'.
28978 (GRUB_MOD_FINI(linux)): Rename to ...
28979 (GRUB_MOD_FINI(linux16)): ... this.
28980
e4dd5a7e 289812009-03-24 Pavel Roskin <proski@gnu.org>
28982
28983 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
28984 not just for compilation.
28985
c04d6e05 289862009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
28987
28988 Move multiboot helper out of kernel
28989
28990 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
28991 `loader/i386/multiboot_helper.S'.
28992 * conf/i386-coreboot.rmk: Likewise
28993 * conf/i386-ieee1275.rmk: Likewise
28994
28995 * kern/i386/loader.S: Move multiboot helpers from here...
28996 * loader/i386/multiboot_helper.S: ...moved here
28997 * include/grub/i386/loader.h: Move declarations of multiboot
28998 helpers from here...
28999 * include/grub/i386/multiboot.h: ...moved here
29000 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
29001
42a5b3fc 290022009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29003
29004 * kern/env.c (grub_env_context_open): Added an argument to specify
29005 whether a new context inherits exported variables from current
29006 one. This is useful when making a sandbox to interpret a config
29007 file.
29008 All callers updated.
29009
29010 * include/grub/env.h (grub_env_context_open): Updated the prototype.
29011
b28bbc4e 290122009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29013
29014 * kern/env.c (grub_env_context_close): Fix memory leaks.
29015
f04f02e4 290162009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29017
29018 * normal/main.c (grub_normal_execute): Added an argument
29019 BATCH to specify if an interactive interface should be provided
29020 after reading a config file.
29021 All callers updated.
29022 (read_command_list): Prevent being executed twice.
29023 (read_fs_list): Likewise.
29024
42a5b3fc 29025 * include/grub/normal.h (grub_normal_execute): Updated the
29026 prototype.
f04f02e4 29027
41473ac2 290282009-03-22 Pavel Roskin <proski@gno.org>
29029
fbc00b0c 29030 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
29031 _start.
29032 * kern/i386/pc/startup.S: Likewise.
29033 * kern/i386/efi/startup.S: Likewise.
29034 * kern/i386/ieee1275/startup.S: Likewise.
29035 * kern/i386/coreboot/startup.S: Likewise.
29036 * kern/x86_64/efi/startup.S: Likewise.
29037
41473ac2 29038 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
29039 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
29040 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
29041
2274cc8f 290422009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
29043
29044 Bugfixes in multiboot for bugs uncovered by solaris kernel.
29045
29046 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
29047 limit detection.
29048 Use vaddr of correct segment for entry_point.
29049
b1b797cb 290502009-03-21 Bean <bean123ch@gmail.com>
29051
29052 * commands/blocklist.c: Add include file <grub/command.h>, remove
29053 <grub/normal.h> and <grub/arg.h>.
29054 (grub_cmd_blocklist): Use the new command interface.
29055 (GRUB_MOD_INIT): Likewise.
29056 (GRUB_MOD_FINI): Likewise.
29057 * commands/boot.c: Likewise.
29058 * commands/cat.c: Likewise.
29059 * commands/cmp.c: Likewise.
29060 * commands/configfile.c: Likewise.
29061 * commands/crc.c: Likewise.
29062 * commands/echo.c: Likewise.
29063 * commands/halt.c: Likewise.
29064 * commands/handler.c: Likewise.
29065 * commands/hdparm.c: Likewise.
29066 * commands/help.c: Likewise.
29067 * commands/hexdump.c: Likewise.
29068 * commands/loadenv.c: Likewise.
29069 * commands/ls.c: Likewise.
29070 * commands/lsmmap.c: Likewise.
29071 * commands/lspci.c: Likewise.
29072 * commands/loadenv.c: Likewise.
29073 * commands/read.c: Likewise.
29074 * commands/reboot.c: Likewise.
29075 * commands/search.c: Likewise.
29076 * commands/sleep.c: Likewise.
29077 * commands/test.c: Likewise.
29078 * commands/usbtest.c: Likewise.
29079 * commands/videotest.c: Likewise.
29080 * commands/i386/cpuid.c: Likewise.
29081 * commands/i386/pc/halt.c: Likewise.
29082 * commands/i386/pc/play.c: Likewise.
29083 * commands/i386/pc/pxecmd.c: Likewise.
29084 * commands/i386/pc/vbeinfo.c: Likewise.
29085 * commands/i386/pc/vbetest.c: Likewise.
29086 * commands/ieee1275/suspend.c: Likewise.
29087 * disk/loopback.c: Likewise.
29088 * font/font_cmd.c: Likewise.
29089 * hello/hello.c: Likewise.
29090 * loader/efi/appleloader.c: Likewise.
29091 * loader/efi/chainloader.c: Likewise.
29092 * loader/i386/bsd.c: Likewise.
29093 * loader/i386/efi/linux.c: Likewise.
29094 * loader/i386/ieee1275/linux.c: Likewise.
29095 * loader/i386/linux.c: Likewise.
29096 * loader/i386/pc/chainloader.c: Likewise.
29097 * loader/i386/pc/linux.c: Likewise.
29098 * loader/powerpc/ieee1275/linux.c: Likewise.
29099 * loader/multiboot_loader.c: Likewise.
29100 * term/gfxterm.c: Likewise.
29101 * term/i386/pc/serial.c: Likewise.
29102 * term/terminfo.c: Likewise.
29103
29104 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
29105 * term/i386/pc/vga.c: Likewise.
29106 * video/readers/jpeg.c: Likewise.
29107 * video/readers/png.c: Likewise.
29108 * video/readers/tga.c: Likewise.
29109
29110 * util/grub-fstest (cmd_loopback): Removed.
29111 (cmd_blocklist): Likewise.
29112 (cmd_ls): Likewise.
29113 (grub_register_command): Likewise.
29114 (grub_unregister_command): Likewise.
29115 (execute_command): Use grub_command_find to locate command and execute
29116 it.
29117
29118 * include/grub/efi/chainloader.h: Removed.
29119 * loader/efi/chainloader_normal.c: Likewise.
29120 * loader/i386/bsd_normal.c: Likewise.
29121 * loader/i386/pc/chainloader_normal.c: Likewise.
29122 * loader/i386/pc/multiboot_normal.c: Likewise.
29123 * loader/linux_normal.c: Likewise.
29124 * loader/multiboot_loader_normal.c: Likewise.
29125 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29126
29127 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29128 and grub_register_command_p1.
29129
29130 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29131 kern/command.c, lib/arg.c and commands/extcmd.c.
29132 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29133 (minicmd_mod_SOURCES): New variable.
29134 (minicmd_mod_CFLAGS): Likewise.
29135 (minicmd_mod_LDFLAGS): Likewise.
29136 (extcmd_mod_SOURCES): Likewise.
29137 (extcmd_mod_CFLAGS): Likewise.
29138 (extcmd_mod_LDFLAGS): Likewise.
29139 (boot_mod_SOURCES): Removed.
29140 (boot_mod_CFLAGS): Likewise.
29141 (boot_mod_LDFLAGS): Likewise.
29142
29143 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29144 kern/corecmd.c.
29145 (kernel_img_HEADERS): Add command.h.
29146 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29147 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29148 and lib/arg.c.
29149 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29150 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29151 remove the corresponding normal mode command.
29152 (normal_mod_SOURCES): Remove normal/arg.c.
29153 * conf/i386-coreboot.rmk: Likewise.
29154 * conf/i386-efi.rmk: Likewise.
29155 * conf/i386-ieee1275.rmk: Likewise.
29156 * conf/powerpc-ieee1275.rmk: Likewise.
29157 * conf/x86_64-efi.rmk: Likewise.
29158
29159 * include/grub/arg.h: Move from here ...
29160 * include/grub/lib/arg.h: ... to here.
29161
29162 * normal/arg.c: Move from here ...
29163 * lib/arg.c: ... to here.
29164
29165 * commands/extcmd.c: New file.
29166 * commands/minicmd.c: Likewise.
29167 * include/grub/command.h: Likewise.
29168 * include/grub/extcmd.h: Likewise.
29169 * kern/command.c: Likewise.
29170 * kern/corecmd.c: Likewise.
29171
29172 * kern/list.c (grub_list_iterate): Return int instead of void.
29173 (grub_list_insert): New function.
29174 (grub_prio_list_insert): Likewise.
29175
29176 * kern/rescue.c (grub_rescue_command): Removed.
29177 (grub_rescue_command_list): Likewise.
29178 (grub_rescue_register_command): Likewise.
29179 (grub_rescue_unregister_command): Likewise.
29180 (grub_rescue_cmd_boot): Move to minicmd.c
29181 (grub_rescue_cmd_help): Likewise.
29182 (grub_rescue_cmd_info): Likewise.
29183 (grub_rescue_cmd_boot): Likewise.
29184 (grub_rescue_cmd_testload): Likewise.
29185 (grub_rescue_cmd_dump): Likewise.
29186 (grub_rescue_cmd_rmmod): Likewise.
29187 (grub_rescue_cmd_lsmod): Likewise.
29188 (grub_rescue_cmd_exit): Likewise.
29189 (grub_rescue_print_devices): Moved to corecmd.c.
29190 (grub_rescue_print_files): Likewise.
29191 (grub_rescue_cmd_ls): Likewise.
29192 (grub_rescue_cmd_insmod): Likewise.
29193 (grub_rescue_cmd_set): Likewise.
29194 (grub_rescue_cmd_unset): Likewise.
7d074e3c 29195 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 29196 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 29197 commands, remove grub_rescue_register_command calls.
b1b797cb 29198
7d074e3c 29199 * normal/command.c (grub_register_command): Removed.
b1b797cb 29200 (grub_unregister_command): Likewise.
29201 (grub_command_find): Likewise.
29202 (grub_iterate_commands): Likewise.
29203 (rescue_command): Likewise.
29204 (export_command): Moved to corecmd.c.
29205 (set_command): Removed.
29206 (unset_command): Likewise.
29207 (insmod_command): Likewise.
29208 (rmmod_command): Likewise.
29209 (lsmod_command): Likewise.
29210 (grub_command_init): Likewise.
29211
29212 * normal/completion.c (iterate_command): Use cmd->prio to check for
29213 active command.
29214 (complete_arguments): Use grub_extcmd_t structure to find options.
29215 (grub_normal_do_completion): Change function grub_iterate_commands to
29216 grub_command_iterate.
29217
29218 * normal/execute.c (grub_script_execute_cmd): No need to parse
29219 argument here.
29220
29221 * normal/main.c (grub_dyncmd_dispatcher): New function.
29222 (read_command_list): Register unload commands as dyncmd.
29223 (grub_cmd_normal): Use new command interface, register rescue,
29224 unregister normal at entry, register normal, unregister rescue at exit.
29225
29226 * include/grub/list.h (grub_list_test_t): New type.
29227 (grub_list_iterate): Return int instead of void.
29228 (grub_list_insert): New function.
29229 (GRUB_AS_NAMED_LIST_P): New macro.
29230 (GRUB_AS_PRIO_LIST): Likewise.
29231 (GRUB_AS_PRIO_LIST_P): Likewise.
29232 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
29233 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
29234 (grub_prio_list): New structure.
29235 (grub_prio_list_insert): New function.
29236 (grub_prio_list_remove): New inline function.
29237
29238 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
29239 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
29240 (GRUB_COMMAND_FLAG_MENU): Likewise.
29241 (GRUB_COMMAND_FLAG_BOTH): Likewise.
29242 (GRUB_COMMAND_FLAG_TITLE): Likewise.
29243 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
29244 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
29245 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
29246 (grub_command): Likewise.
29247 (grub_register_command): Likewise.
29248 (grub_command_find): Likewise.
29249 (grub_iterate_commands): Likewise.
29250 (grub_command_init): Likewise.
29251 (grub_arg_parse): Likewise.
29252 (grub_arg_show_help): Likewise.
29253
29254 * include/grub/rescue.h (grub_rescue_register_command): Removed.
29255 (grub_rescue_unregister_command): Likewise.
29256
29257 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
29258 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
29259 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
29260
29261 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
29262 grub_rescue_cmd_initrd.
29263 * include/grub/i386/loader.h: Likewise.
29264 * include/grub/x86_64/loader.h: Likewise.
29265
29266 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
29267
1f4147aa 292682009-03-21 Bean <bean123ch@gmail.com>
29269
29270 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
29271 instead of stat in mingw environment.
29272
29273 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
29274
29275 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
29276
29277 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
29278 AC_CONFIG_LINKS.
29279
2156d5ba 292802009-03-21 Bean <bean123ch@gmail.com>
29281
29282 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
29283 out of range error.
29284
177b82ca 292852009-03-18 Michel Dänzer <michel@daenzer.net>
29286
29287 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
29288 checking inode flags for EXT4_EXTENTS_FLAG.
29289
14aad807 292902009-03-18 Robert Millan <rmh@aybabtu.com>
29291
29292 * loader/i386/linux.c: Include `<grub/video.h>' and
29293 `<grub/i386/pc/vbe.h>'..
29294 (grub_linux_setup_video): New function. Loosely based on the EFI one.
29295 (grub_linux32_boot): Attempt to configure video settings with
29296 grub_linux_setup_video().
29297 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
29298 to avoid grub_console_fini() which would step out of graphical mode
29299 unconditionally.
29300
8cf83a27 293012009-03-14 Robert Millan <rmh@aybabtu.com>
29302
29303 Fix build on powerpc.
29304 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
29305
40164e75 293062009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
29307
29308 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
29309 background image command.
29310
c58bc32a 293112009-03-12 Colin D Bennett <colin@gibibit.com>
29312
29313 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
29314 (grub_gfxterm_putchar): Extract pairs of identical calls to
29315 draw_cursor out of conditional blocks.
29316
5415144a 293172009-03-11 Pavel Roskin <proski@gnu.org>
29318
29319 * fs/hfs.c (grub_hfs_strncasecmp): New function.
29320 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
29321
6394042e 293222009-03-11 Robert Millan <rmh@aybabtu.com>
29323
29324 * loader/i386/multiboot_elfxx.c
29325 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
29326
b7b50e5f 293272009-03-11 Felix Zielcke <fzielcke@z-51.de>
29328
29329 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
29330 `kern/handler.c'.
29331
1ca7fc96 293322009-03-11 Robert Millan <rmh@aybabtu.com>
29333
29334 * loader/i386/multiboot.c (code_size): New variable.
29335 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 29336 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 29337 4-byte alignment to MBI and others by increasing
7d074e3c 29338 `boot_loader_name_length' appropriately.
1ca7fc96 29339
29340 * loader/i386/multiboot_elfxx.c
29341 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
29342
a83ea1d2 293432009-03-09 Felix Zielcke <fzielcke@z-51.de>
29344
29345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
29346 `fs/ext2.c'.
29347
aa9f3bff 293482009-03-08 Robert Millan <rmh@aybabtu.com>
29349
29350 Make loader/i386/linux.c usable on i386-pc again.
29351
29352 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
29353 memory to heap.
29354 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
29355 `#error' stanza.
29356
d8b3b60e 293572009-03-07 Bean <bean123ch@gmail.com>
29358
29359 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
29360 allocation.
29361
b362c9e9 293622009-03-06 Robert Millan <rmh@aybabtu.com>
29363
29364 Fix display issue on terminals with screen size other than 80x25
29365 (e.g. gfxterm with resolution higher than 640x480).
29366
29367 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 29368 position relative to the center of the terminal instead of relying
b362c9e9 29369 on a hardcoded offset.
29370
9304eef1 293712009-03-04 Robert Millan <rmh@aybabtu.com>
29372
29373 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
29374 installed.
29375
29376 * Makefile.in (host_kernel): New variable.
29377 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
29378 scripts instead of just the windows one.
29379 * configure.ac: Initialize and AC_SUBST `host_kernel'.
29380
eabc95fb 293812009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 29382
29383 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
29384 `kern/handler.c'.
29385 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29386 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29387 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29389 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29390 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29391
ceb1223c 293922009-03-04 Felix Zielcke <fzielcke@z-51.de>
29393
29394 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
29395 or if there's no space for the disk label and print the partition number on a
29396 invalid magic.
29397
4910684a 293982009-03-04 Felix Zielcke <fzielcke@z-51.de>
29399
29400 * util/misc.c: Include <time.h>.
29401 (grub_millisleep): New function.
29402
7e9ca17a 294032009-03-04 Bean <bean123ch@gmail.com>
29404
29405 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
29406 another option -mno-red-zone.
29407
29408 * commands/handler.c: Change module description.
29409
29410 * kern/handler.c: Add missing space at the end of description line.
29411
29412 * kern/list.c: Likewise.
29413
f501677c 294142009-03-03 Robert Millan <rmh@aybabtu.com>
29415
29416 Move more components to the relocation area, and fix mbi pointer
29417 handling to use the destination rather than the origin (thanks to
29418 Vladimir Serbinenko for spotting).
29419
29420 * loader/i386/multiboot.c (mbi_dest): New variable.
29421 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
29422 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
29423 relocation area.
29424
9902d047 294252009-03-01 Bean <bean123ch@gmail.com>
29426
50fb7002 29427 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 29428 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
29429 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
29430 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
29431
29432 * loader/i386/efi/linux.c (acpi_guid): New variable.
29433 (acpi_guid): Likewise.
29434 (EBDA_SEG_ADDR): New constant.
29435 (LOW_MEM_ADDR): Likewise.
29436 (FAKE_EBDA_SEG): Likewise.
29437 (fake_bios_data): New function.
29438 (grub_linux_boot): Call fake_bios_data.
29439
71b9f361 294402009-03-01 Bean <bean123ch@gmail.com>
29441
29442 * commands/terminal.c: Removed.
29443
29444 * commands/handler.c: New file.
29445
29446 * include/grub/list.h: Likewise.
29447
29448 * include/grub/handler.h: Likewise.
29449
29450 * kern/list.c: Likewise.
29451
29452 * kern/handler.c: Likewise.
29453
29454 * kern/term.h: Include header file <grub/handler.h>.
29455 (grub_term_input): Move next field to the beginning.
29456 (grub_term_output): Likewise.
29457 (grub_term_input_class): New variable.
29458 (grub_term_output_class): Likewise.
29459 (grub_term_register_input): Changed to inline function.
29460 (grub_term_register_output): Likewise.
29461 (grub_term_unregister_input): Likewise.
29462 (grub_term_unregister_output): Likewise.
29463 (grub_term_set_current_input): Likewise.
29464 (grub_term_set_current_output): Likewise.
29465 (grub_term_get_current_input): Likewise.
29466 (grub_term_get_current_output): Likewise.
29467 (grub_term_iterate_input): Removed.
29468 (grub_term_iterate_output): Likewise.
29469
29470 * kern/term.c (grub_term_list_input): Removed.
29471 (grub_term_list_output): Likewise.
29472 (grub_term_input_class): New variable.
29473 (grub_term_output_class): Likewise.
50fb7002 29474 (grub_cur_term_input): Change variable as macro.
71b9f361 29475 (grub_cur_term_output): Likewise.
29476 (grub_term_register_input): Removed.
29477 (grub_term_register_output): Likewise.
29478 (grub_term_unregister_input): Likewise.
29479 (grub_term_unregister_output): Likewise.
29480 (grub_term_set_current_input): Likewise.
29481 (grub_term_set_current_output): Likewise.
29482 (grub_term_iterate_input): Likewise.
29483 (grub_term_iterate_output): Likewise.
29484 (grub_term_get_current_input): Likewise.
29485 (grub_term_get_current_output): Likewise.
29486
29487 * util/grub-editenv.c: Include header file <grub/handler.h>.
29488 (grub_term_get_current_input): Removed.
29489 (grub_term_get_current_output): Likewise.
29490 (grub_term_input_class): New variable.
50fb7002 29491 (grub_term_output_class): Likewise.
71b9f361 29492
29493 * util/grub-fstest.c (grub_term_get_current_input): Removed.
29494 (grub_term_get_current_output): Likewise.
29495 (grub_term_input_class): New variable.
50fb7002 29496 (grub_term_output_class): Likewise.
71b9f361 29497
29498 * util/grub-probe.c (grub_term_get_current_input): Removed.
29499 (grub_term_get_current_output): Likewise.
29500 (grub_term_input_class): New variable.
50fb7002 29501 (grub_term_output_class): Likewise.
71b9f361 29502
29503 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
29504 (grub_term_get_current_output): Likewise.
29505 (grub_term_input_class): New variable.
50fb7002 29506 (grub_term_output_class): Likewise.
71b9f361 29507
29508 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
29509 (terminal_mod_SOURCES): Likewise.
29510 (terminal_mod_CFLAGS): Likewise.
29511 (terminal_mod_LDFLAGS): Likewise.
29512
29513 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
29514 handler.c.
29515 (kernel_img_SOURCES): Add list.c and handler.c.
29516 (kernel_img_HEADERS): Add list.h and handler.h.
29517
29518 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29519 handler.c.
29520 (kernel_mod_SOURCES): Add list.c and handler.c.
29521 (kernel_mod_HEADERS): Add list.h and handler.h.
29522
29523 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
29524 handler.c.
29525 (kernel_elf_SOURCES): Add list.c and handler.c.
29526 (kernel_elf_HEADERS): Add list.h and handler.h.
29527
29528 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29529 handler.c.
29530 (kernel_elf_SOURCES): Add list.c and handler.c.
29531 (kernel_elf_HEADERS): Add list.h and handler.h.
29532
29533 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29534 handler.c.
29535 (kernel_mod_SOURCES): Add list.c and handler.c.
29536 (kernel_mod_HEADERS): Add list.h and handler.h.
29537
29538 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29539 handler.c.
29540 (kernel_elf_SOURCES): Add list.c and handler.c.
29541 (kernel_elf_HEADERS): Add list.h and handler.h.
29542
8a31787f 295432009-02-27 Robert Millan <rmh@aybabtu.com>
29544
29545 Factorize elf32 / elf64 code in Multiboot loader. This will
29546 prevent it from getting out of sync again.
29547
29548 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
29549 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
29550 grub_multiboot_load_elf64): Move from here ...
29551 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
29552 grub_multiboot_load_elf): ... to here (new file).
29553
51cd3dfc 295542009-02-27 Robert Millan <rmh@aybabtu.com>
29555
29556 * util/grub.d/10_linux.in: Rename "single-user mode" to
29557 "recovery mode".
29558
6e8c9c3a 295592009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
29560
29561 Don't leak in SCSI code.
29562 * disk/scsi.c (grub_scsi_close): free `scsi'.
29563
4b6bf4f9 295642009-02-27 Robert Millan <rmh@aybabtu.com>
29565
29566 * loader/i386/pc/multiboot.c: Move from here ...
29567 * loader/i386/multiboot.c: ... to here. Update all users.
29568
b9413424 295692009-02-27 Robert Millan <rmh@aybabtu.com>
29570
29571 Patch from Alexandre Bique <bique.alexandre@gmail.com>
29572 * util/i386/pc/grub-setup.c (setup): Fix directory path.
29573
50fb7002 295742009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 29575
29576 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
29577 b-tree.
29578
8cc50345 295792009-02-27 Robert Millan <rmh@aybabtu.com>
29580
29581 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
29582 `0x' qualifier as 0 when base is specified as parameter).
29583
6e09b8b7 295842009-02-24 Bean <bean123ch@gmail.com>
29585
29586 * configure.ac: Check for -mcmodel=large in x86_64 target.
29587
29588 * include/grub/efi/api.h (efi_call_10): New macro.
29589 (efi_wrap_10): New function.
29590
29591 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
29592 (GRUB_PE32_REL_BASED_HIGH): Likewise.
29593 (GRUB_PE32_REL_BASED_LOW): Likewise.
29594 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
29595 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
29596 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
29597 (GRUB_PE32_REL_BASED_SECTION): Likewise.
29598 (GRUB_PE32_REL_BASED_REL): Likewise.
29599 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
29600 (GRUB_PE32_REL_BASED_DIR64): Likewise.
29601 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
29602
29603 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
29604 issue.
29605
29606 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
29607 (efi_wrap_10): New function.
29608
29609 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
29610
29611 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
29612 MB/MBP model (NV chipset).
29613 (devdata_devs): Add devpath_5 to the list.
29614
29615 * load/i386/efi/linux.c (video_base): Remove variable.
29616 (RGB_MASK): New macro.
29617 (RGB_MAGIC): Likewise.
29618 (LINE_MIN): Likewise.
29619 (LINE_MAX): Likewise.
29620 (FBTEST_STEP): Likewise.
29621 (FBTEST_COUNT): Likewise.
29622 (fb_list): New variable.
29623 (grub_find_video_card): Remove function.
29624 (find_framebuf): New function.
29625 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
29626 line length.
29627
29628 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
29629 problem for x86_64.
29630
74b21bee 296312009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
29632
29633 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
29634
29635 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
29636 coding tool name.
29637
a455f472 296382009-02-22 Robert Millan <rmh@aybabtu.com>
29639
29640 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
29641 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
29642 in our relocation, instead of using it directly from heap. Also
29643 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
29644
6374daf3 296452009-02-21 Robert Millan <rmh@aybabtu.com>
29646
29647 Implement USB keyboard support (based on patch by Marco Gerards)
29648
29649 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
29650 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
29651 (usb_keyboard_mod_LDFLAGS): New variables.
29652
29653 * term/usb_keyboard.c: New file.
29654
8fa4ea70 296552009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29656
29657 Corrected wrong declaration
29658
29659 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
29660
353976ac 296612009-02-14 Christian Franke <franke@computer.org>
29662
29663 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
29664 (grub_lspci_iter): Print class code and programming interface byte.
29665
6aa1169b 296662009-02-14 Christian Franke <franke@computer.org>
29667
29668 * gendistlist.sh: Ignore `.svn' directories.
29669
265372ca 296702009-02-14 Felix Zielcke <fzielcke@z-51.de>
29671
29672 * fs/fat.c: Add 2009 to Copyright line.
29673
9ff516f3 296742009-02-14 Christian Franke <franke@computer.org>
29675
29676 * commands/hdparm.c: New file. Provides `hdparm' command
29677 which sends ATA commands via grub_disk_ata_pass_through ().
29678
29679 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
29680
29681 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
29682 and <grub/cpu/io.h> to include/grub/ata.h.
29683 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
29684 (GRUB_CDROM_SECTOR_SIZE): Remove.
29685 (GRUB_ATA_*): Move to include/grub/ata.h.
29686 (GRUB_ATAPI_*): Likewise.
29687 (enum grub_ata_commands): Likewise.
29688 (enum grub_ata_timeout_milliseconds): Likewise.
29689 (struct grub_ata_device): Likewise.
29690 (grub_ata_regset): Likewise.
29691 (grub_ata_regget): Likewise.
29692 (grub_ata_regset2): Likewise.
29693 (grub_ata_regget2): Likewise.
29694 (grub_ata_check_ready): Likewise.
29695 (grub_ata_wait_not_busy): Remove static, exported in
29696 include/grub/ata.h.
29697 (grub_ata_wait_drq): Likewise.
29698 (grub_ata_pio_read): Likewise.
29699
29700 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
29701 function for hdparm.mod.
29702
29703 * include/grub/ata.h: New file, contains declarations from
29704 disk/ata.c.
29705 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
29706
29707 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
29708 (grub_disk_ata_pass_through): New exported variable.
29709
29710 * kern/disk.c (grub_disk_ata_pass_through): New variable.
29711
772e23da 297122009-02-13 Colin D Bennett <colin@gibibit.com>
29713
29714 Support multiple fallback entries, and provide an API to support
29715 executing default+fallback menu entries. Renamed the `terminal' menu
29716 viewer to `text'.
29717
29718 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
29719 variable declaration.
29720 (grub_menu_execute_callback): New structure declaration.
29721 (grub_menu_execute_callback_t): New typedef.
29722 (grub_menu_execute_with_fallback): New function declaration.
29723 (grub_menu_get_entry): Likewise.
29724 (grub_menu_get_timeout): Likewise.
29725 (grub_menu_set_timeout): Likewise.
29726
29727 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
29728
29729 * normal/menu.c (grub_wait_after_message): Moved to
29730 `normal/menu_text.c'.
29731 (draw_border): Likewise.
29732 (print_message): Likewise.
29733 (print_entry): Likewise.
29734 (print_entries): Likewise.
29735 (grub_menu_init_page): Likewise.
29736 (get_entry_number): Likewise.
29737 (print_timeout): Likewise.
29738 (run_menu): Likewise.
29739 (grub_menu_execute_entry): Likewise.
29740 (show_text_menu): Likewise.
29741 (get_and_remove_first_entry_number): New function.
29742 (grub_menu_execute_with_fallback): Likewise.
29743 (get_entry): Renamed to ...
29744 (grub_menu_get_entry): .. this and made it global.
29745 (get_timeout): Renamed to ...
29746 (grub_menu_get_timeout): ... this and made it global.
29747 (set_timeout): Renamed to ...
29748 (grub_menu_set_timeout): ... this and made it global.
29749 (grub_normal_terminal_menu_viewer): Renamed to ...
29750 (grub_normal_text_menu_viewer): ... this.
29751
29752 * normal/menu_text.c: New file. Extracted text-menu-specific code
29753 from normal/menu.c.
29754
29755 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
29756 (normal_mod_SOURCES): Likewise.
29757
29758 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29759 (normal_mod_SOURCES): Likewise.
29760
29761 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29762 (normal_mod_SOURCES): Likewise.
29763
29764 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
29765 (normal_mod_SOURCES): Likewise.
29766
29767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29768 (normal_mod_SOURCES): Likewise.
29769
29770 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29771 (normal_mod_SOURCES): Likewise.
29772
29773 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29774 (normal_mod_SOURCES): Likewise.
29775
16ac430e 297762009-02-11 Robert Millan <rmh@aybabtu.com>
29777
29778 * util/grub.d/00_header.in: Update old reference to `font' command.
29779
06ff20fc 297802009-02-10 Felix Zielcke <fzielcke@z-51.de>
29781
29782 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
29783
29784 Based on patch from Javier Martín.
29785
96da9407 297862009-02-09 Felix Zielcke <fzielcke@z-51.de>
29787
29788 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 29789 to avoid false positives with FAT.
96da9407 29790 (grub_fstest_SOURCES): Likewise.
29791 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29792 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29794 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29795 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29796 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29797
6dca6fe4 297982009-02-09 Felix Zielcke <fzielcke@z-51.de>
29799
06ff20fc 29800 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 29801 bpb.version_specific.fat12_or_fat16.fstype and
29802 bpb.version_specific.fat32.fstype.
29803
2550c62f 298042009-02-08 Robert Millan <rmh@aybabtu.com>
29805
be110b30 29806 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 29807
56978920 298082009-02-08 Robert Millan <rmh@aybabtu.com>
29809
29810 * Makefile.in (host_os, host_cpu): New variables.
29811 (target_os): Remove. Update all users.
29812
d64399b5 298132009-02-08 Marco Gerards <marco@gnu.org>
29814
29815 * Makefile.in (enable_grub_emu_usb): New variable.
29816 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
29817 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
29818 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
29819 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
29820 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
29821 `usbtest.mod' and `usbms.mod'.
29822 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
29823 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
29824 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
29825 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
29826 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
29827 variables.
29828
29829 * disk/usbms.c: New file.
29830
29831 * include/grub/usb.h: Likewise.
29832
29833 * include/grub/usbtrans.h: Likewise.
29834
29835 * include/grub/usbdesc.h: Likewise.
29836
29837 * bus/usb/usbtrans.c: Likewise.
29838
29839 * bus/usb/ohci.c: Likewise.
29840
29841 * bus/usb/uhci.c: Likewise.
29842
29843 * bus/usb/usbhub.c: Likewise.
29844
29845 * bus/usb/usb.c: Likewise.
29846
29847 * commands/usbtest.c: Likewise.
29848
29849 * util/usb.c: Likewise.
50fb7002 29850
d64399b5 29851 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
29852
29853 * configure.ac: Test for libusb presence.
50fb7002 29854
d64399b5 29855 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
29856
2b40d6bb 298572009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
29858
29859 * kern/mm.c: Add more comments.
29860
73a4ce81 298612009-02-08 Robert Millan <rmh@aybabtu.com>
29862
29863 Patch from Javier Martín.
29864 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
29865 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
29866
f821ce59 298672009-02-08 Robert Millan <rmh@aybabtu.com>
29868
29869 * fs/cpio.c: Split tar functionality to ...
29870 * fs/tar.c: ... here (new file). Update all users.
29871
aebfc4b0 298722009-02-07 Robert Millan <rmh@aybabtu.com>
29873
29874 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
29875 backward-incompatible features.
29876
29877 Based on patch from Javier Martín, with some adjustments.
29878
50fb7002 298792009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 29880
29881 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
29882
0bb5115e 298832009-02-07 Robert Millan <rmh@aybabtu.com>
29884
29885 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
29886 position of `disk/lvm.c' to ensure grub_init_all() always picks it
29887 after the RAID stuff.
29888
38a0f8e7 298892009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
29890
50fb7002 29891 Fixes problem when running vbetest command as reported by
38a0f8e7 29892 Vladimir Serbinenko <phcoder@gmail.com>.
29893
29894 * (grub_vbe_set_video_mode): Fixed problem with text modes.
29895
3143cc1c 298962009-02-04 Felix Zielcke <fzielcke@z-51.de>
29897
29898 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
29899 /dev/md/NpN style mdraid devices.
29900
9cba6fce 299012009-02-03 Felix Zielcke <fzielcke@z-51.de>
29902
29903 * util/unifont2pff.rb: Remove.
29904
e507a2c1 299052009-02-03 Felix Zielcke <fzielcke@z-51.de>
29906
29907 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
29908 `#'.
29909
d2c2b4cd 299102009-02-03 Felix Zielcke <fzielcke@z-51.de>
29911
29912 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
29913 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29914 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29915 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29917 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29918 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29919
b4315fb0 299202009-02-02 Christian Franke <franke@computer.org>
29921
29922 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
29923
de3aa260 299242009-02-01 Felix Zielcke <fzielcke@z-51.de>
29925
7c3ff286 29926 * INSTALL: Note that we now require at least autoconf 2.59 and
29927 that LZO is optional.
de3aa260 29928
825a182b 299292009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29930
29931 Base on patch on bug #24154 created by Tomas Tintera
29932 <trosos@seznam.cz>.
29933
29934 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
29935
a69ef770 299362009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29937
7c3ff286 29938 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 29939 <bero@arklinux.org>.
29940
29941 * normal/parser.y (script_init): Add missing semicolon.
29942
6fa42fa6 299432009-01-31 Colin D Bennett <colin@gibibit.com>
29944
7c3ff286 29945 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 29946 (free_menu_entry_classes): Added.
29947 (grub_normal_menu_addentry): Added class property handling.
29948 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
29949 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
29950
29951 * normal/menu_viewer.c: New file.
29952
29953 * normal/menu.c (run_menu_entry): Renamed to ...
29954 (grub_menu_execute_entry): ... this and made it as global.
29955 (grub_menu_run): Renamed to ...
29956 (show_text_menu): ... this and made it local.
29957 (show_text_menu): Adapt to new function names.
29958 (grub_normal_terminal_menu_viewer): New global variable.
29959
29960 * include/grub/menu.h: New file.
29961
29962 * include/grub/menu_viewer.h: New file.
29963
29964 * include/grub/normal.h: Added include to grub/menu.h.
29965 (grub_menu_entry): Moved to include/grub/menu.h.
29966 (grub_menu_entry_t): Likewise.
29967 (grub_menu): Likewise.
29968 (grub_menu_t): Likewise.
29969 (grub_normal_terminal_menu_viewer): Added.
29970 (grub_menu_execute_entry): Likewise.
29971 (grub_menu_run): Removed.
29972
29973 * DISTLIST: Added include/grub/menu.h.
29974 Added include/grub/menu_viewer.h.
29975 Added normal/menu_viewer.c.
29976
299772009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
29978
29979 * normal/execute.c (grub_script_execute_menuentry): Changed to use
29980 arglist for menutitle arguments.
29981
29982 * normal/main.c (grub_normal_menu_addentry): Likewise.
29983
29984 * normal/parser.y (menuentry): Likewise.
29985
29986 * normal/script.c (grub_script_create_cmdmenu): Likewise.
29987
29988 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
29989 (grub_script_create_cmdmenu): Likewise.
29990
29991 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
29992
29993 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
29994 changes.
29995
29996 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
29997
29998 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
29999
30000 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
30001
30002 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30003
30004 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30005
30006 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30007
56192c23 300082009-01-30 Christian Franke <franke@computer.org>
30009
30010 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
30011 in option help text.
30012
d72521b3 300132009-01-27 Pavel Roskin <proski@gnu.org>
30014
30015 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
30016
994b5e84 300172009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30018
30019 * commands/lsmmap.c: Add include to grub/machine/memory.h.
30020
30021 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
30022
30023 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
30024 unregister function.
30025
6a7eab2c 300262009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30027
30028 * disk/scsi.c (grub_scsi_read): Fix sign problem.
30029
30030 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
30031
30032 * util/grub-mkfont.c (usage): Fix typo.
30033
30034 * util/elf/grub-mkimage.c (load_modules): Fix warning.
30035
1806b56e 300362009-01-26 Daniel Mierswa <impulze@impulze.org>
30037
3fb18f09 30038 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
30039
336e1fb9 30040 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
30041
1806b56e 30042 * kern/misc.c (grub_strcasecmp): New function.
30043 (grub_strcasecmp): Use grub_size_t instead of int for length.
30044 Fix return value.
30045 * include/grub/misc.h: Update function prototypes.
30046
580b2a0f 300472009-01-26 Robert Millan <rmh@aybabtu.com>
30048
30049 * configure.ac: Fix cross-compilation check.
ef257b36 30050
d31c24f1 300512009-01-22 Christian Franke <franke@computer.org>
30052
30053 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
30054 (precision) digit string. Allow `.format2' without `format1' (width).
30055 Limit input chars for `%s' output to `format2' if specified. This is
30056 compatible with standard printf ().
30057
3138b44c 300582009-01-22 Christian Franke <franke@computer.org>
30059
30060 * disk/ata.c (grub_ata_wait_status): Replace by ...
30061 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
30062 other status bits may be invalid while BSY is asserted.
30063 (grub_ata_check_ready): New function.
30064 (grub_ata_cmd): Removed.
30065 (grub_ata_wait_drq): New function.
30066 (grub_ata_strncpy): Remove inline.
30067 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
30068 and error check now done by grub_ata_wait_drq ().
30069 (grub_ata_pio_write): Likewise.
30070 (grub_atapi_identify): Set DEV before check for !BSY. Use
30071 grub_ata_wait_drq () to wait for data.
30072 (grub_ata_device_initialize): Add status register check to
30073 detect missing SATA slave devices. Add debug messages.
30074 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
30075 (grub_atapi_packet): Set DEV before check for !BSY. Replace
30076 transfer loop by grub_ata_pio_write ().
30077 (grub_ata_identify): Set DEV before check for !BSY. Use
30078 grub_ata_wait_drq () to wait for data.
ef257b36 30079 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 30080 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
30081 read/write in one loop. Fix invalid command on write. Fix incomplete
30082 command on (size % batch) == 0. Add missing error check after write of
30083 last block. Add debug messages.
30084 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
30085
59a64ef6 300862009-01-19 Christian Franke <franke@computer.org>
30087
30088 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
30089 (GRUB_ATAPI_IREASON_*): Likewise.
30090 (grub_ata_pio_write): Fix timeout error return.
30091 (grub_atapi_identify): Add grub_ata_wait () after cmd.
30092 (grub_atapi_wait_drq): New function.
30093 (grub_atapi_packet): New parameter `size'.
30094 Use grub_atapi_wait_drq () and direct write instead of
30095 grub_ata_pio_write ().
30096 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
30097 reads the number of bytes requested by the device for each DRQ
30098 assertion.
30099 (grub_atapi_write): Remove old implementation, return not
30100 implemented instead.
30101
1cfe20b3 301022009-01-19 Christian Franke <franke@computer.org>
30103
30104 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
30105 of 512 to calculate data size.
30106 (grub_scsi_read12): Likewise.
30107 (grub_scsi_write10): Likewise.
30108 (grub_scsi_write12): Likewise.
30109 (grub_scsi_read): Adjust size according to blocksize.
30110 Add checks for invalid blocksize and unaligned transfer.
30111
bee5fe5d 301122009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30113
30114 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30115
ef257b36 30116 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 30117 width glyphs.
30118
3e643f8c 301192009-01-19 Robert Millan <rmh@aybabtu.com>
30120
30121 * config.guess: Update to latest version from config git.
30122 * config.sub: Likewise.
30123
4fa80998 301242009-01-17 Felix Zielcke <fzielcke@z-51.de>
30125
30126 * Makefile.in: Change font compilation to use new grub-mkfont instead
30127 of java version.
30128
30129 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30130 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30131 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30132 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30133 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30134 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30135 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30136 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30137 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30138
7086085b 301392009-01-16 Christian Franke <franke@computer.org>
30140
30141 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30142 (enum grub_ata_timeout_milliseconds): New enum.
30143 (grub_ata_wait_status): Add parameter milliseconds.
30144 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30145 recovery from timed-out commands.
30146 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30147 return grub_errno instead of REG_ERROR.
30148 (grub_ata_pio_write): Add parameter milliseconds.
30149 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30150 Pass milliseconds to grub_ata_wait_status () and
30151 grub_ata_pio_read ().
30152 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30153 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30154 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30155 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30156 It is not suitable for device detection, because DEV bit is ignored,
30157 the command may run too long, and not all devices set the signature
30158 properly.
30159 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30160 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30161 Fix device selection, DEV bit must be set first to address the registers
30162 of the correct device.
30163 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30164 grub_ata_pio_read/write ().
30165 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30166 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30167
4a412913 301682009-01-13 Carles Pina i Estany <carles@pina.cat>
30169
30170 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30171
7795c55e 301722009-01-13 Bean <bean123ch@gmail.com>
d913988c 30173
30174 * util/grub-mkfont.c (write_font): forget to remove some debug code.
30175
7795c55e 301762009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 30177
30178 * Makefile.in: (enable_grub_mkfont): New variable.
30179 (freetype_cflags): Likewise.
30180 (freetype_libs): Likewise.
30181
30182 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
30183 (grub_mkfont_SOURCES): New variable.
30184 (grub_mkfont_CFLAGS): Likewise.
30185 (grub_mkfont_LDFLAGS): Likewise.
30186
30187 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
30188 library if `--enable-grub-mkfont' is requested.
30189 (enable_grub_mkfont): New variable.
30190 (freetype_cflags): Likewise.
30191 (freetype_libs): Likewise.
30192
30193 * util/grub-mkfont.c: New file.
30194
093af1fe 301952009-01-12 Christian Franke <franke@computer.org>
30196
30197 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
30198 mode check. Fix setting of compat_use[].
30199
f36cc108 302002009-01-10 Robert Millan <rmh@aybabtu.com>
30201
30202 Update a few copyright years which we forgot to do in 2008 (only for
30203 files whose changes made in 2008 were copyright-significant)
30204
30205 * Makefile.in: Add 2008 to Copyright line.
30206 * disk/ieee1275/ofdisk.c: Likewise.
30207 * disk/efi/efidisk.c: Likewise.
30208 * kern/dl.c: Likewise.
30209 * kern/sparc64/ieee1275/init.c: Likewise.
30210 * kern/mm.c: Likewise.
30211 * kern/efi/mm.c: Likewise.
30212 * boot/i386/pc/boot.S: Likewise.
30213 * genfslist.sh: Likewise.
30214 * fs/iso9660.c: Likewise.
30215 * fs/hfs.c: Likewise.
30216 * fs/jfs.c: Likewise.
30217 * fs/minix.c: Likewise.
30218 * fs/ufs.c: Likewise.
30219 * gensymlist.sh.in: Likewise.
30220 * genkernsyms.sh.in: Likewise.
30221 * include/grub/misc.h: Likewise.
30222 * include/grub/types.h: Likewise.
30223 * include/grub/symbol.h: Likewise.
30224 * include/grub/elf.h: Likewise.
30225 * include/grub/kernel.h: Likewise.
30226 * include/grub/disk.h: Likewise.
30227 * include/grub/dl.h: Likewise.
30228 * include/grub/i386/linux.h: Likewise.
30229 * include/grub/i386/pc/biosdisk.h: Likewise.
30230 * include/grub/efi/api.h: Likewise.
30231 * include/grub/efi/pe32.h: Likewise.
30232 * include/grub/util/misc.h: Likewise.
30233 * normal/execute.c: Likewise.
30234 * normal/arg.c: Likewise.
30235 * normal/completion.c: Likewise.
30236 * normal/lexer.c: Likewise.
30237 * normal/parser.y: Likewise.
30238 * normal/misc.c: Likewise.
30239 * commands/i386/pc/vbeinfo.c: Likewise.
30240 * commands/hexdump.c: Likewise.
30241 * commands/terminal.c: Likewise.
30242 * commands/ls.c: Likewise.
30243 * commands/help.c: Likewise.
30244 * partmap/pc.c: Likewise.
30245 * loader/efi/chainloader.c: Likewise.
30246 * loader/multiboot_loader.c: Likewise.
30247 * loader/i386/pc/multiboot2.c: Likewise.
30248 * term/efi/console.c: Likewise.
30249 * term/i386/pc/serial.c: Likewise.
30250 * util/lvm.c: Likewise.
30251 * util/console.c: Likewise.
30252 * util/i386/efi/grub-mkimage.c: Likewise.
30253 * util/raid.c: Likewise.
30254
7f02114b 302552009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
30256
30257 * commands/videotest.c: Removed include to grub/machine/memory.h.
30258
30259 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
30260 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
30261 (video_mod_SOURCES): Removed.
30262 (video_mod_CFLAGS): Likewise.
30263 (video_mod_LDFLAGS): Likewise.
30264 (gfxterm_mod_SOURCES): Likewise.
30265 (gfxterm_mod_CFLAGS): Likewise.
30266 (gfxterm_mod_LDFLAGS): Likewise.
30267 (videotest_mod_SOURCES): Likewise.
30268 (videotest_mod_CFLAGS): Likewise.
30269 (videotest_mod_LDFLAGS): Likewise.
30270 (bitmap_mod_SOURCES): Likewise.
30271 (bitmap_mod_CFLAGS): Likewise.
30272 (bitmap_mod_LDFLAGS): Likewise.
30273 (tga_mod_SOURCES): Likewise.
30274 (tga_mod_CFLAGS): Likewise.
30275 (tga_mod_LDFLAGS): Likewise.
30276 (jpeg_mod_SOURCES): Likewise.
30277 (jpeg_mod_CFLAGS): Likewise.
30278 (jpeg_mod_LDFLAGS): Likewise.
30279 (png_mod_SOURCES): Likewise.
30280 (png_mod_CFLAGS): Likewise.
30281 (png_mod_LDFLAGS): Likewise.
30282
30283 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
30284 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
30285 (video_mod_SOURCES): Added.
30286 (video_mod_CFLAGS): Likewise.
30287 (video_mod_LDFLAGS): Likewise.
30288 (videotest_mod_SOURCES): Likewise.
30289 (videotest_mod_CFLAGS): Likewise.
30290 (videotest_mod_LDFLAGS): Likewise.
30291 (bitmap_mod_SOURCES): Likewise.
30292 (bitmap_mod_CFLAGS): Likewise.
30293 (bitmap_mod_LDFLAGS): Likewise.
30294 (tga_mod_SOURCES): Likewise.
30295 (tga_mod_CFLAGS): Likewise.
30296 (tga_mod_LDFLAGS): Likewise.
30297 (jpeg_mod_SOURCES): Likewise.
30298 (jpeg_mod_CFLAGS): Likewise.
30299 (jpeg_mod_LDFLAGS): Likewise.
30300 (png_mod_SOURCES): Likewise.
30301 (png_mod_CFLAGS): Likewise.
30302 (png_mod_LDFLAGS): Likewise.
30303 (gfxterm_mod_SOURCES): Likewise.
30304 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 30305 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 30306
30307 * term/gfxterm.c: Removed include to grub/machine/memory.h,
30308 grub/machine/console.h.
30309
644fff97 303102009-01-04 Jerone Young <jerone@gmail.com>
30311
30312 Make on screen instructions clearer
30313
30314 Based on patch created by Jidanni <jidanni@jidanni.org>
30315
30316 * normal/menu.c: print clearer instructions on the screen
30317
1e901a75 303182009-01-02 Colin D Bennett <colin@gibibit.com>
30319
30320 New font engine.
34c44600 30321
1e901a75 30322 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
30323 build system and fixed gfxterm.c to work with different sized fonts.
30324
30325 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 30326
1e901a75 30327 * configure: Re-generated.
34c44600 30328
1e901a75 30329 * DISTLIST: Removed font/manager.c.
30330 Added font/font.c.
30331 Added font/font_cmd.c.
34c44600 30332
1e901a75 30333 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
30334 compilation.
34c44600 30335
1e901a75 30336 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 30337
30338 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 30339
30340 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 30341
1e901a75 30342 * normal/menu.c: Likewise.
34c44600 30343
1e901a75 30344 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
30345 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 30346
1e901a75 30347 * include/grub/font.h: Replaced with new file.
34c44600 30348
1e901a75 30349 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
30350 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
30351 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
30352 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
30353 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 30354 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 30355 fg_red, fg_green, fg_blue, fg_alpha.
30356 (grub_video_adapter): Removed blit_glyph.
34c44600 30357 (grub_video_blit_glyph): Removed.
30358
1e901a75 30359 * font/manager.c: Removed file.
34c44600 30360
30361 * font/font.c: New file.
30362
1e901a75 30363 * font/font_cmd.c: Likewise.
34c44600 30364
1e901a75 30365 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 30366
1e901a75 30367 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
30368 (grub_video_vbe_map_rgba): Likewise.
30369 (grub_video_vbe_unmap_color_int): Likewise.
30370 (grub_video_vbe_blit_glyph): Removed.
30371 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 30372
1e901a75 30373 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
30374 (get_pixel): Likewise.
34c44600 30375 (set_pixel): Likewise.
30376
1e901a75 30377 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 30378
1e901a75 30379 * term/gfxterm.c: Adapted to new font engine.
34c44600 30380
1e901a75 30381 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 30382
1e901a75 30383 * term/i386/pc/vga.c: Likewise.
34c44600 30384
1e901a75 30385 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 30386
1e901a75 30387 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 30388
1e901a75 30389 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30390
1e901a75 30391 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30392
1e901a75 30393 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 30394
1e901a75 30395 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 30396
1e901a75 30397 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 30398
1e901a75 30399 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 30400
1e901a75 30401 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30402
30403 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 30404
1e901a75 30405 * util/grub-mkconfig_lib.in: Changed font extension.
30406
278922e8 304072008-12-28 Felix Zielcke <fzielcke@z-51.de>
30408
30409 * util/getroot.c (grub_util_get_grub_dev): Add support for
30410 /dev/md/dNNpNN style partitionable mdraid devices.
30411
3ced05cf 304122008-12-12 Alex Smith <alex@alex-smith.me.uk>
30413
30414 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
30415 at a time limit of the PXE TFTP API correctly.
30416 (grub_pxefs_close): Likewise.
30417
7fd0ee30 304182008-11-29 Robert Millan <rmh@aybabtu.com>
30419
34c44600 30420 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 30421 grub_ata_device_initialize() calls.
30422
34c44600 304232008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 30424
30425 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
30426 iteration failed.
30427 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
30428
89313780 304292008-11-28 Robert Millan <rmh@aybabtu.com>
30430
30431 Fix build on powerpc-ieee1275. Based on patch created by
30432 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
30433 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30434 `kern/ieee1275/mmap.c'.
30435 * include/grub/powerpc/ieee1275/memory.h: New file.
30436
15257703 30437 Provide grub-install on coreboot.
30438 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
30439 (grub_install_SOURCES): New variable.
30440 * util/i386/pc/grub-install.in: Add a few condition checks to make it
30441 usable on coreboot.
30442
9fc5388a 304432008-11-25 Felix Zielcke <fzielcke@z-51.de>
30444
30445 * util/grub-fstest.c (grub_term_get_current_input): Change return type
30446 to `grub_term_input_t'.
30447 (grub_term_get_current_output): Change return type to
30448 `grub_term_output_t'.
30449
bc3a2f31 304502008-11-22 Robert Millan <rmh@aybabtu.com>
30451
34c44600 30452 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 30453 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
30454 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
30455 grub_vga_text_cls().
30456
80fc88f2 30457 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 30458 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 30459
cbf36fd3 30460 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
30461 to 0x200000 (avoids trouble with some OFW implementations, and matches
30462 with the one in Yaboot).
30463 Reported by Manoel Abranches
30464
73e8e268 304652008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 30466
30467 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
30468 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
30469
73e8e268 30470 * util/grub-mkconfig_lib.in (grub_warn): New function.
30471 (convert_system_path_to_grub_path): Use grub_warn() when issuing
30472 warnings, to obtain consistent formatting.
30473 * util/grub.d/00_header.in: Likewise.
30474 * util/update-grub_lib.in: Likewise.
30475
e94045a1 30476 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 30477 Move comment text to `#error' stanza.
e94045a1 30478
79d29fd7 30479 Harmonize ieee1275's grub_available_iterate() with the generic
30480 grub_machine_mmap_iterate() interface (fixes a recently-introduced
30481 build problem on i386-ieee1275):
30482 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
30483 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
30484 parameter `type'. Update all users of this function.
30485 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30486 `kern/ieee1275/mmap.c'.
30487 * kern/ieee1275/init.c
30488 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
30489 with ...
30490 (grub_machine_mmap_iterate): ... this.
30491 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
30492 return type to `grub_err_t'. Update all implementations of this
30493 function prototype.
30494 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
30495 Likewise.
30496
60d6b16e 30497 Add `lsmmap' command (lists firmware-provided memory map):
30498 * commands/lsmmap.c: New file.
30499 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
30500 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
30501 variables.
30502 * conf/powerpc-ieee1275.rmk: Likewise.
30503 * conf/i386-coreboot.rmk: Likewise.
30504 * conf/i386-ieee1275.rmk: Likewise.
30505
ebaaf49b 305062008-11-19 Robert Millan <rmh@aybabtu.com>
30507
30508 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 30509 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
30510 constraints to initrd allocation (based on code from
30511 loader/i386/pc/linux.c). Without them, initrd was allocated too high
30512 for Linux to find it.
ebaaf49b 30513
dfab719f 305142008-11-14 Robert Millan <rmh@aybabtu.com>
30515
30516 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
30517 order to cope with duplicate slashes.
30518
10fc3eb9 305192008-11-14 Robert Millan <rmh@aybabtu.com>
30520
30521 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
30522 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
30523 don't want to mess with lower memory, because it is used in the Linux
30524 loader.
30525
30526 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 30527 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 30528 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
30529 is in our heap (probably as a result of it being corrupted during
2f2a3442 30530 decompression). Add #error instance with comment to explain why this
30531 loader isn't currently usable on PC/BIOS.
10fc3eb9 30532
e2e07847 305332008-11-14 Robert Millan <rmh@aybabtu.com>
30534
30535 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 30536 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 30537
fe8e8d69 305382008-11-12 Robert Millan <rmh@aybabtu.com>
30539
30540 Make loader/i386/linux.c buildable on i386-pc (although disabled).
30541
30542 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
30543 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
30544 from here ...
30545 * include/grub/i386/pc/memory.h: ... to here.
30546
976b07d0 305472008-11-12 Robert Millan <rmh@aybabtu.com>
30548
30549 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
30550 split).
30551
30552 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
30553 (grub_console_cur_color, grub_console_real_putchar)
30554 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30555 (grub_console_setcolorstate, grub_console_setcolor)
30556 (grub_console_getcolor): Move from here ...
30557 * include/grub/i386/vga_common.h: ... to here (new file).
30558
30559 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
30560 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
30561 `<grub/i386/io.h>'.
30562 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
30563 `<grub/i386/vga_common.h>'.
30564
76679cd3 305652008-11-12 Robert Millan <rmh@aybabtu.com>
30566
30567 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
30568 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
30569 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
30570 variables.
30571 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30572 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
30573
30574 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
30575 grub_console_init() with call to grub_vga_text_init().
30576 (grub_machine_fini): Replace call to
30577 grub_console_fini() with call to grub_vga_text_fini() and
30578 grub_at_keyboard_fini().
30579
30580 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
30581 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30582 (grub_console_setcolorstate, grub_console_setcolor)
30583 (grub_console_getcolor): New function prototypes.
30584
30585 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
30586 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
30587 (grub_vga_text_setcursor): Static-ize.
30588 (grub_vga_text_term): New structure.
30589 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
30590
30591 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
30592 (grub_console_cur_color, grub_console_standard_color)
30593 (grub_console_normal_color, grub_console_highlight_color)
30594 (map_char, grub_console_putchar, grub_console_getcharwidth)
30595 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
30596 (grub_console_getcolor): Move from here ...
30597 * term/i386/vga_common.c: ... to here (same function names).
30598
95b841d3 305992008-11-12 Robert Millan <rmh@aybabtu.com>
30600
30601 Use newly-added Multiboot support in coreboot.
30602
30603 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30604 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
30605
30606 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
30607 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
30608 (codestart): Store the MBI in `startup_multiboot_info' when we're
30609 being loaded using Multiboot.
30610
30611 * kern/i386/coreboot/init.c (grub_machine_init): Move
30612 grub_at_keyboard_init() call to beginning of function (useful for
30613 debugging). Call grub_machine_mmap_init() before attempting to use
30614 grub_machine_mmap_iterate().
30615 (grub_lower_mem, grub_upper_mem): Move from here ...
30616 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
30617 here (new file).
30618
30619 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
30620 function prototype.
30621
761ca975 306222008-11-12 Robert Millan <rmh@aybabtu.com>
30623
30624 Fix a regression introduced by the at_keyboard.mod split. Because
30625 some terminals are default on some platforms and non-default on
30626 others, the first terminal being registered determines which is
30627 going to be default.
30628
30629 * kern/term.c (grub_term_register_input): If this is the first
30630 terminal being registered, set it as the current one.
30631 (grub_term_register_output): Likewise.
30632
30633 * term/efi/console.c (grub_console_init): Do not call
30634 grub_term_set_current_output() or grub_term_set_current_input().
30635 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
30636 * term/i386/pc/console.c (grub_console_init): Likewise.
30637 (grub_console_fini): Do not call grub_term_set_current_input()
30638 (but leave grub_term_set_current_output() to restore text mode).
30639
6c529df7 306402008-11-10 Robert Millan <rmh@aybabtu.com>
30641
30642 * util/grub.d/00_header.in: Add backward compatibility check for
30643 versions of terminal.mod that don't understand `terminal_input' or
30644 `terminal_output'.
30645
132e4113 306462008-11-09 Robert Millan <rmh@aybabtu.com>
30647
30648 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
30649 `terminal_input' / `terminal_output', not `terminal'.
30650
ac293d50 306512008-11-08 Robert Millan <rmh@aybabtu.com>
30652
30653 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 30654 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 30655
0025933a 306562008-11-08 Robert Millan <rmh@aybabtu.com>
30657
30658 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 30659 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 30660 members. Update all users.
30661 * util/console.c (grub_ncurses_term): Split in ...
30662 (grub_ncurses_term_input): ... this, and ...
30663 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 30664 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 30665
37c86336 306662008-11-08 Robert Millan <rmh@aybabtu.com>
30667
30668 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
30669 (PKGDATA): Add $(pkgdata_SRCDIR).
30670 (pkglib_BUILDDIR): New variable.
30671 (pkgdata_SRCDIR): New variable.
30672 (build_env.mk): New target.
30673 (include_DATA): New variable.
30674 (install-local): Install $(include_DATA) files in $(includedir).
30675
b6c15a2d 306762008-11-07 Pavel Roskin <proski@gnu.org>
30677
d99d46f1 30678 * gendistlist.sh: Use C locale for sorting to ensure consistent
30679 output on all systems.
30680
b6c15a2d 30681 * util/grub.d/00_header.in: Remove incorrect space before
30682 "serial".
30683
c32ee8c9 306842008-11-07 Robert Millan <rmh@aybabtu.com>
30685
30686 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
30687 per specification.
30688 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
30689 * loader/multiboot_loader.c (find_multi_boot2_header): New function
30690 (based on find_multi_boot1_header).
30691 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
30692 using find_multi_boot2_header(), and abort if neither Multiboot or
30693 Multiboot headers were found.
30694
651c29b7 306952008-11-07 Robert Millan <rmh@aybabtu.com>
30696
30697 Modularize at_keyboard.mod:
30698
30699 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
30700 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30701 (at_keyboard_mod_LDFLAGS): New variables.
30702
30703 Actual terminal split:
30704
30705 * include/grub/term.h (struct grub_term): Split in ...
30706 (struct grub_term_input): ... this, and ...
30707 (struct grub_term_output): ... this. Update all users.
30708 (grub_term_set_current): Split in ...
30709 (grub_term_set_current_input): ... this, and ...
30710 (grub_term_set_current_output): ... this.
30711 (grub_term_get_current): Split in ...
30712 (grub_term_get_current_input): ... this, and ...
30713 (grub_term_get_current_output): ... this.
30714 (grub_term_register): Split in ...
30715 (grub_term_register_input): ... this, and ...
30716 (grub_term_register_output): ... this.
30717 (grub_term_unregister): Split in ...
30718 (grub_term_unregister_input): ... this, and ...
30719 (grub_term_unregister_output): ... this.
30720 (grub_term_iterate): Split in ...
30721 (grub_term_iterate_input): ... this, and ...
30722 (grub_term_iterate_output): ... this.
30723
30724 * kern/term.c (grub_term_list): Split in ...
30725 (grub_term_list_input): ... this, and ...
30726 (grub_term_list_output): ... this. Update all users.
30727 (grub_cur_term): Split in ...
30728 (grub_cur_term_input): ... this, and ...
30729 (grub_cur_term_output): ... this. Update all users.
30730 (grub_term_set_current): Split in ...
30731 (grub_term_set_current_input): ... this, and ...
30732 (grub_term_set_current_output): ... this.
30733 (grub_term_get_current): Split in ...
30734 (grub_term_get_current_input): ... this, and ...
30735 (grub_term_get_current_output): ... this.
30736 (grub_term_register): Split in ...
30737 (grub_term_register_input): ... this, and ...
30738 (grub_term_register_output): ... this.
30739 (grub_term_unregister): Split in ...
30740 (grub_term_unregister_input): ... this, and ...
30741 (grub_term_unregister_output): ... this.
30742 (grub_term_iterate): Split in ...
30743 (grub_term_iterate_input): ... this, and ...
30744 (grub_term_iterate_output): ... this.
30745
30746 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
30747 a check for input and one for output (and only attempt to get keys
30748 from user when input works).
30749
30750 * util/grub-probe.c (grub_term_get_current): Split in ...
30751 (grub_term_get_current_input): ... this, and ...
30752 (grub_term_get_current_output): ... this.
30753 * util/grub-fstest.c: Likewise.
30754 * util/i386/pc/grub-setup.c: Likewise.
30755 * util/grub-editenv.c: Likewise.
30756
30757 Portability adjustments:
30758
30759 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
30760 `term/i386/pc/at_keyboard.c'.
30761 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
30762 grub_keyboard_controller_init() (now handled by terminal .init).
30763 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
30764 grub_at_keyboard_init().
30765 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
30766 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
30767 at_keyboard.mod via input terminal interface).
30768 * include/grub/i386/coreboot/console.h: Convert into a stub for
30769 `<grub/i386/pc/console.h>'.
30770
30771 Migrate full terminals to new API:
30772
30773 * term/efi/console.c (grub_console_term): Split into ...
30774 (grub_console_term_input): ... this, and ...
30775 (grub_console_term_output): ... this. Update all users.
30776 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
30777 (grub_ofconsole_init): Split into ...
30778 (grub_ofconsole_init_input): ... this, and ...
30779 (grub_ofconsole_init_output): ... this.
30780 (grub_ofconsole_term): Split into ...
30781 (grub_ofconsole_term_input): ... this, and ...
30782 (grub_ofconsole_term_output): ... this. Update all users.
30783 * term/i386/pc/serial.c (grub_serial_term): Split into ...
30784 (grub_serial_term_input): ... this, and ...
30785 (grub_serial_term_output): ... this. Update all users.
30786 * term/i386/pc/console.c (grub_console_term): Split into ...
30787 (grub_console_term_input): ... this, and ...
30788 (grub_console_term_output): ... this. Update all users.
30789 (grub_console_term_input): Only enable it on PC/BIOS platform.
30790 (grub_console_init): Remove grub_keyboard_controller_init() call.
30791
30792 Migrate input terminals to new API:
30793
30794 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
30795 `i386' and `i386/pc' to enable build on x86_64 (this driver is
30796 i386-specific anyway).
30797 (grub_console_checkkey): Rename to ...
30798 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
30799 users.
30800 (grub_keyboard_controller_orig): New variable.
30801 (grub_console_getkey): Rename to ...
30802 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
30803 users.
30804 (grub_keyboard_controller_init): Static-ize. Save original
30805 controller value so that it can be restored ...
30806 (grub_keyboard_controller_fini): ... here (new function).
30807 (grub_at_keyboard_term): New structure.
30808 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
30809 functions.
30810
30811 Migrate output terminals to new API:
30812
30813 * term/i386/pc/vga.c (grub_vga_term): Change type to
30814 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30815 members. Update all users.
30816 * term/gfxterm.c (grub_video_term): Change type to
30817 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30818 members. Update all users.
30819 * include/grub/i386/pc/console.h (grub_console_checkkey)
30820 (grub_console_getkey): Do not export (no longer needed by gfxterm,
30821 etc).
30822
30823 Migrate `terminal' command and userland tools to new API:
30824
30825 * commands/terminal.c (grub_cmd_terminal): Split into ...
30826 (grub_cmd_terminal_input): ... this, and ...
30827 (grub_cmd_terminal_output): ... this.
30828 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
30829 `terminal_input' and `terminal_output'.
30830 * util/grub.d/00_header.in: Adjust `terminal' calls to new
30831 `terminal_input' / `terminal_output' API.
30832 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
30833 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
30834 provided ${GRUB_TERMINAL}, convert it).
30835
96e5d876 308362008-11-04 Robert Millan <rmh@aybabtu.com>
30837
30838 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
30839 for FreeBSD.
30840 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
30841
556f3775 308422008-11-03 Bean <bean123ch@gmail.com>
30843
30844 * kern/elf.c (grub_elf32_load): Revert to previous code.
30845 (grub_elf64_load): Likewise.
30846
30847 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
30848
926b9823 308492008-11-01 Robert Millan <rmh@aybabtu.com>
30850
30851 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
30852 (TARGET_CPPFLAGS): Likewise.
30853 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
30854
1432e958 308552008-11-01 Carles Pina i Estany <carles@pina.cat>
30856
30857 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
30858
dba3f844 308592008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 30860
30861 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
30862 addition of objects until the code is not going to be able to fail.
30863
dba3f844 308642008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 30865
30866 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
30867 (add a missing NULL check, and correct them by moving the pointer
30868 operations after the actual check).
30869
7ab28c21 308702008-10-29 Robert Millan <rmh@aybabtu.com>
30871
30872 * util/i386/pc/grub-install.in: Handle empty string as output from
30873 make_system_path_relative_to_its_root().
30874
1b7748eb 308752008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
30876
30877 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
30878 circular metadata worst case scenario. If the metadata is circular
30879 then copy the wrap in place.
30880 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
30881 project lib/format_text/layout.h
30882 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
30883
c9618ab2 308842008-10-03 Felix Zielcke <fzielcke@z-51.de>
30885
7a36edca 30886 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 30887
bf981c62 308882008-10-03 Felix Zielcke <fzielcke@z-51.de>
30889
30890 * util/update-grub_lib.in: Mention filename in warning message.
30891
6d994591 308922008-09-29 Felix Zielcke <fzielcke@z-51.de>
30893
30894 * NEWS: Update for rename of update-grub to grub-mkconfig.
30895
18ade780 308962008-09-29 Felix Zielcke <fzielcke@z-51.de>
30897
30898 * util/update-grub_lib.in: Copy to ...
30899 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 30900 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 30901 * util/update-grub.in: Rename to ...
30902 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
30903 option. Add `--output' option to allow users to specify the generated
30904 configuration file. Default to stdout.
30905 (update_grub_dir): Rename to ...
30906 (grub_mkconfig_dir): ... this.
30907 (grub_cfg): Default to an empty string.
30908 * conf/common.rmk (update-grub): Rename to ...
30909 (grub-mkconfig): ... this.
30910 (update-grub_lib): Copy to ...
30911 (grub-mkconfig_lib): ... this.
30912 (update-grub_SCRIPTS): Copy to ...
30913 (grub-mkconfig_SCRIPTS): ... this. Update all users.
30914 (update-grub_DATA): Rename to ...
30915 (grub-mkconfig_DATA): ... this.
30916
556ce6ac 309172008-09-28 Robert Millan <rmh@aybabtu.com>
30918
30919 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
30920 to `modified'. Add the real `created' field.
30921 (grub_iso9660_uuid): Use `modified' rather than `created' for
30922 constructing the UUID.
30923
309242008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 30925
30926 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
30927 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
30928
92274e85 309292008-09-28 Bean <bean123ch@gmail.com>
30930
30931 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
30932 Thanks to Christian Franke for finding this bug.
30933
add6f17a 309342008-09-25 Robert Millan <rmh@aybabtu.com>
30935
30936 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
30937 instances of grub_util_get_disk_name() (see previous commit).
30938
d2a367b8 309392008-09-25 Robert Millan <rmh@aybabtu.com>
30940
30941 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
30942 `util/i386/get_disk_name.c'.
30943 * conf/i386-efi.rmk: Likewise.
30944 * conf/x86_64-efi.rmk: Likewise.
30945 * conf/i386-coreboot.rmk: Likewise.
30946 * conf/i386-ieee1275.rmk: Likewise.
30947 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
30948 `util/ieee1275/get_disk_name.c'.
30949 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
30950 * util/ieee1275/get_disk_name.c: Remove file.
30951 * util/i386/get_disk_name.c: Remove file.
30952 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
30953 "hd%d" for device.map entries, rather than using
30954 grub_util_get_disk_name().
30955
81a06771 309562008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 30957
30958 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
30959 warning.
30960 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
30961
5a004279 309622008-09-24 Carles Pina i Estany <carles@pina.cat>
30963
30964 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
30965 Changed to 0x5100.
30966 (GRUB_TERM_PPAGE): Changed to 0x4900.
30967
397093d3 309682008-09-24 Robert Millan <rmh@aybabtu.com>
30969
30970 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
30971 macros (they were i386-pc specific).
30972 * include/grub/sparc64/ieee1275/console.h: Likewise.
30973 * include/grub/efi/console.h: Likewise.
30974
a91b6c7c 309752008-09-22 Bean <bean123ch@gmail.com>
30976
30977 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
30978 resident and in attribute list.
30979
30980 * include/grub/ntfs.h (BMP_LEN): Removed.
30981
c40fd116 309822008-09-22 Bean <bean123ch@gmail.com>
30983
81a06771 30984 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 30985 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
30986
30987 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
30988 error occurs, as grub_disk_open will call grub_disk_close, which will
30989 call p->close (scsi).
30990
81a06771 309912008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 30992
30993 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
30994 (AC_PREREQ): Bumped to 2.59.
30995 (AC_TRY_COMPILE): Replace obsolete macro with ...
30996 (AC_COMPILE_IFELSE): ... this.
30997 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
30998 (AC_LINK_IFELSE): ... this.
30999
5dc43410 310002008-09-21 Felix Zielcke <fzielcke@z-51.de>
31001
31002 * autogen.sh: Add a call to `gendistlist.sh'.
31003
9035dce4 310042008-09-19 Christian Franke <franke@computer.org>
31005
31006 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
31007 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
31008 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
31009 Export __enable_execute_stack() to modules.
31010 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
31011 New function.
31012
7fd75377 310132008-09-09 Felix Zielcke <fzielcke@z-51.de>
31014
040030b3 31015 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
31016 Sort the list.
31017
310182008-09-09 Felix Zielcke <fzielcke@z-51.de>
31019
31020 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 31021 #include <grub/util/hostdisk.h>.
31022
89d5ffcf 310232008-09-08 Robert Millan <rmh@aybabtu.com>
31024
31025 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
31026 segments when their filesz is zero (grub_file_read() interprets
81a06771 31027 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 31028 Use `lowest_segment' rather than 0 for calculating the current
31029 segment load address.
31030
40da438f 310312008-09-08 Robert Millan <rmh@aybabtu.com>
31032
31033 * util/hostdisk.c (open_device): Replace a grub_util_info() call
31034 with grub_dprintf("hostdisk", ...), as it was so verbose that it
31035 clobbered useful information.
31036
ddbf5556 310372008-09-08 Robert Millan <rmh@aybabtu.com>
31038
31039 * include/grub/util/biosdisk.h: Move to ...
31040 * include/grub/util/hostdisk.h: ... here. Update all users.
31041 * util/biosdisk.c: Move to ...
31042 * util/hostdisk.c: ... here. Update all users.
31043
783d0f48 310442008-09-07 Robert Millan <rmh@aybabtu.com>
31045
31046 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
31047 variables.
31048 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
31049 and length can be stored directly in the `mbi->mmap_addr' and
31050 `mbi->mmap_length' struct fields.
31051
548e2ea5 310522008-09-07 Robert Millan <rmh@aybabtu.com>
31053
31054 * conf/i386.rmk: New file. Provides declaration for building
31055 `cpuid.mod'.
31056 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
31057 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
31058 variables.
31059 Include `conf/i386.mk'.
31060 * conf/i386-efi.rmk: Likewise.
31061 * conf/x86_64-efi.rmk: Likewise.
31062 * conf/i386-coreboot.rmk: Likewise.
31063 * conf/i386-ieee1275.rmk: Likewise.
31064
0ea85a37 310652008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
31066
31067 Based on patch created by Colin D Bennett <colin@gibibit.com>.
31068 Adds optimization support for BGR based modes.
31069
31070 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
31071 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31072 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31073 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31074 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31075 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31076 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31077 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31078 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31079 (grub_video_i386_vbeblit_index_index): Likewise.
31080 (grub_video_i386_vbeblit_replace_directN): Added.
31081 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31082 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31083 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31084 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31085 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31086 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 31087 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 31088 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31089 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31090 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31091 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31092 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31093 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31094
31095 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
31096 (grub_video_i386_vbefill_R8G8B8): Likewise.
31097 (grub_video_i386_vbefill_index): Likewise.
31098 (grub_video_i386_vbefill_direct32): Added.
31099 (grub_video_i386_vbefill_direct24): Likewise.
31100 (grub_video_i386_vbefill_direct16): Likewise.
31101 (grub_video_i386_vbefill_direct8): Likewise.
31102
81a06771 31103 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 31104 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
31105 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
31106 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
31107 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
31108 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 31109
0ea85a37 31110 * video/video.c (grub_video_get_blit_format): Updated to use new
31111 blit formats. Added handling for 16 bit color modes.
81a06771 31112
31113 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 31114 fillers.
31115 (common_blitter): Updated to use new blitters.
31116
31117 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31118 Removed.
31119 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31120 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31121 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31122 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31123 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31124 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31125 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31126 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31127 (grub_video_i386_vbeblit_index_index): Likewise.
31128 (grub_video_i386_vbeblit_replace_directN): Added.
31129 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31130 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31131 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31132 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31133 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31134 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31135 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31136 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31137 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31138 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31139 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31140 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31141 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 31142
0ea85a37 31143 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31144 (grub_video_i386_vbefill_R8G8B8): Likewise.
31145 (grub_video_i386_vbefill_index): Likewise.
31146 (grub_video_i386_vbefill_direct32): Added.
31147 (grub_video_i386_vbefill_direct24): Likewise.
31148 (grub_video_i386_vbefill_direct16): Likewise.
31149 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 31150
0ea85a37 31151 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31152 types.
81a06771 31153
0ea85a37 31154 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31155 types.
81a06771 31156
0ea85a37 31157 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31158 blitter types.
81a06771 31159
0ea85a37 31160 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31161 types.
31162
e8a83df6 311632008-09-06 Felix Zielcke <fzielcke@z-51.de>
31164
31165 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31166 RAID level 1.
31167
6bcd8ee5 311682008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 31169
6bcd8ee5 31170 * fs/iso9660.c (grub_iso9660_date): New structure.
31171 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31172 (grub_iso9660_uuid): New function.
c375ae58 31173
59261157 311742008-09-05 Bean <bean123ch@gmail.com>
31175
31176 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
31177
31178 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
31179 insensitive bit for names in Win32 and Win32 & DOS namespace.
31180
31181 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
31182
31183 * include/grub/types.h (LONG_MAX): Likewise.
31184
58b6645a 311852008-09-04 Felix Zielcke <fzielcke@z-51.de>
31186
4ee55921 31187 * util/getroot.c: Include <config.h>.
31188 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
31189 add support for /dev/md/N devices and handle LVM double dash escaping.
31190
311912008-09-04 Felix Zielcke <fzielcke@z-51.de>
31192
31193 * config.guess: Update to latest version from config git.
31194 * config.sub: Likewise.
58b6645a 31195
9124f65d 311962008-09-03 Robert Millan <rmh@aybabtu.com>
31197
31198 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
31199 `disk->total_sectors'.
31200
81a06771 312012008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 31202
31203 * include/grub/normal.h: Fixed incorrect comment for
31204 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
31205
81a06771 312062008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 31207
31208 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
31209 values with defines.
31210
31211 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
31212 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
31213 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
31214 (GRUB_VBE_MODEATTR_COLOR): Likewise.
31215 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
31216 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
31217 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
31218 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
31219 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
31220 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
31221 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
31222 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
31223 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
31224 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
31225 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
31226 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
31227 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
31228 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
31229 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
31230
93d5cbf8 312312008-08-31 Robert Millan <rmh@aybabtu.com>
31232
31233 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
31234 declaration.
31235 (grub_multiboot): Fix a few warnings.
31236
21751d50 312372008-08-31 Robert Millan <rmh@aybabtu.com>
31238
31239 * loader/i386/pc/multiboot.c: Update comment not to say that
31240 boot_device support is unimplemented.
31241
e27a75c5 312422008-08-31 Robert Millan <rmh@aybabtu.com>
31243
31244 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
31245 or memory map support are unimplemented.
31246
81a06771 312472008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 31248
31249 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
31250
81a06771 312512008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 31252
31253 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
31254 total video memory in 'vbeinfo' output; show color format details for
31255 each video mode.
31256
7c5d8d95 312572008-08-30 Pavel Roskin <proski@gnu.org>
31258
31259 * util/genmoddep.c: Remove for real this time.
31260 * DISTLIST: Remove util/genmoddep.c.
31261
4cebd25a 312622008-08-30 Robert Millan <rmh@aybabtu.com>
31263
31264 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
31265 as required by Multiboot spec (it was already 4-byte aligned, but
31266 only by chance).
31267
b497a269 312682008-08-29 Pavel Roskin <proski@gnu.org>
31269
e3925185 31270 * kern/powerpc/ieee1275/crt0.S: Rename to ...
31271 * kern/powerpc/ieee1275/startup.S: ... this.
31272 * conf/powerpc-ieee1275.rmk: Adjust for the above.
31273 * DISTLIST: Likewise.
31274
b497a269 31275 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
31276 grub/cpu/kernel.h. Add start label for consistency with other
31277 platforms. Add grub_prefix immediately after start. Add jump
31278 to the code after grub_prefix.
31279 * include/grub/powerpc/kernel.h: Provide valid values for
31280 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
31281
6e5a42fe 312822008-08-29 Bean <bean123ch@gmail.com>
31283
31284 * configure.ac: Change host_os to cygwin for mingw.
31285 (asprintf): New check for function.
31286
31287 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
31288 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
31289
31290 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 31291 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 31292 sync, sleep and grub_util_get_disk_size for mingw.
31293
31294 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
31295 to get size in mingw.
31296 (open_device): Use flag O_BINARY if it's defined.
31297 (find_root_device): Add dummy code for mingw.
31298
31299 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
31300 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
31301 (get_scsi_disk_name): Return 0 for mingw.
31302
31303 * util/hostfs.c: #include <grub/util/misc.h>.
31304 (grub_hostfs_open): Use "rb" flag to open file, use
31305 grub_util_get_disk_size to get disk size for mingw.
31306
31307 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
31308 (asprintf): New function if HAVE_ASPRINTF is not set.
31309 (sync): New function for mingw.
31310 (sleep): Likewise.
31311 (grub_util_get_disk_size): Likewise.
31312
ab3f2673 313132008-08-28 Pavel Roskin <proski@gnu.org>
31314
31315 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31316 kern/time.c.
31317
1c282483 313182008-08-28 Robert Millan <rmh@aybabtu.com>
31319
31320 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
31321
678e849c 313222008-08-28 Robert Millan <rmh@aybabtu.com>
31323
31324 Change find_grub_drive() syntax so it doesn't prevent it from
31325 detecting NULL names as errors.
31326
31327 * util/biosdisk.c (find_grub_drive): Move free slot search code
31328 from here ...
31329 (find_free_slot): ... to here.
31330 (read_device_map): Use find_free_slot() to search for free slots.
31331
965c75ca 313322008-08-27 Marco Gerards <marco@gnu.org>
31333
31334 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
31335 (scsi_mod_SOURCES): New variable.
31336 (scsi_mod_CFLAGS): Likewise
31337 (scsi_mod_LDFLAGS): Likewise.
31338
31339 * disk/scsi.c: New file.
31340
31341 * include/grub/scsi.h: Likewise.
31342
31343 * include/grub/scsicmd.h: Likewise.
31344
31345 * disk/ata.c: Include <grub/scsi.h>.
31346 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
31347 instead.
31348 (grub_ata_iterate): Skip ATAPI devices.
31349 (grub_ata_open): Only handle ATAPI devices.
31350 (struct grub_atapi_read): Removed.
31351 (grub_atapi_readsector): Likewise.
31352 (grub_ata_read): No longer handle ATAPI devices.
31353 (grub_ata_write): Likewise.
31354 (grub_atapi_iterate): New function.
31355 (grub_atapi_read): Likewise.
31356 (grub_atapi_write): Likewise.
31357 (grub_atapi_open): Likewise.
31358 (grub_atapi_close): Likewise.
31359 (grub_atapi_dev): New variable.
31360 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
31361 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
31362
31363 * include/grub/disk.h (enum grub_disk_dev_id): Add
31364 `GRUB_DISK_DEVICE_SCSI_ID'.
31365
c07ae501 313662008-08-26 Robert Millan <rmh@aybabtu.com>
31367
31368 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
31369 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
31370 descriptive.
31371
5ed20adc 313722008-08-23 Bean <bean123ch@gmail.com>
31373
31374 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
31375 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31376 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
31377 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
31378 dm_nv.mod.
31379 (raid5rec_mod_SOURCES): New macro.
31380 (raid5rec_mod_CFLAGS): Likewise.
31381 (raid5rec_mod_LDFLAGS): Likewise.
31382 (raid6rec_mod_SOURCES): Likewise.
31383 (raid6rec_mod_CFLAGS): Likewise.
31384 (raid6rec_mod_LDFLAGS): Likewise.
31385 (mdraid_mod_SOURCES): Likewise.
31386 (mdraid_mod_CFLAGS): Likewise.
31387 (mdraid_mod_LDFLAGS): Likewise.
31388 (dm_nv_mod_SOURCES): Likewise.
31389 (dm_nv_mod_CFLAGS): Likewise.
31390 (dm_nv_mod_LDFLAGS): Likewise.
31391
31392 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
31393 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31394 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31395
31396 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
31397 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31398
31399 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31400
31401 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31402
31403 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31404
31405 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31406
31407 * disk/raid5_recover.c: New file.
31408
31409 * disk/raid6_recover.c: Likewise.
31410
31411 * disk/mdraid_linux.c: Likewise.
31412
31413 * disk/dmraid_nvidia.c: Likewise.
31414
31415 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
31416 ULONG_MAX.
31417
31418 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
31419 calculate the size of raid device.
31420 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
31421 different layout of raid5.
31422 (grub_raid_scan_device): Remove code specific to mdraid.
31423 (grub_raid_list): New variable.
31424 (free_array): New function.
31425 (grub_raid_register): Likewise.
31426 (grub_raid_unregister): Likewise.
31427 (grub_raid_rescan): Likewise.
31428 (GRUB_MOD_INIT): Don't iterate device here.
31429 (GRUB_MOD_FINI): Use free_array to release resource.
31430
31431 * include/grub/raid.h: Remove macro and structure specific to mdraid.
31432 (grub_raid5_recover_func_t): New function variable type.
31433 (grub_raid6_recover_func_t): Likewise.
31434 (grub_raid5_recover_func): New variable.
31435 (grub_raid6_recover_func): Likewise.
31436 (grub_raid_register): New function.
31437 (grub_raid_unregister): Likewise.
31438 (grub_raid_rescan): Likewise.
31439 (grub_raid_block_xor): Likewise.
31440
31441 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
31442 (CMD_CRC): New macro.
31443 (part): Removed.
31444 (read_file): Handle device as well as file.
31445 (cmd_crc): New function.
31446 (fstest): Handle multiple disks.
31447 (options): Remove part, raw and long, add root and diskcount.
31448 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 31449 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 31450 add handling for the new options, support multiple disks.
31451
31452 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
31453
29c18915 314542008-08-23 Bean <bean123ch@gmail.com>
31455
31456 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
31457
31458 * genfslist.sh: Ignore kernel.mod.
31459
31460 * genpartmaplist.sh: Likewise.
31461
8415f261 314622008-08-23 Robert Millan <rmh@aybabtu.com>
31463
31464 * util/getroot.c (find_root_device): Skip anything that starts with
31465 a dot, not just directories. This avoids things like /dev/.tmp.md0.
31466
d5a7dc5b 314672008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 31468
d5a7dc5b 31469 * util/update-grub.in (GRUB_GFXMODE): Export variable.
31470 * util/grub.d/00_header.in: Allow the administrator to change default
31471 gfxmode via ${GRUB_GFXMODE}.
31472
380cfbb4 314732008-08-21 Felix Zielcke <fzielcke@z-51.de>
31474
31475 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
31476
c9baafe7 314772008-08-21 Robert Millan <rmh@aybabtu.com>
31478
31479 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
31480 loader.
31481 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
31482 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
31483
e290bef2 314842008-08-20 Carles Pina i Estany <carles@pina.cat>
31485
31486 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
31487 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
31488
f9dbfc96 314892008-08-19 Robert Millan <rmh@aybabtu.com>
31490
31491 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
31492 (struct grub_virtual_screen): Remove `cursor_color'.
31493 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
31494 initialization.
31495 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
31496
dd6bd6ab 314972008-08-18 Robert Millan <rmh@aybabtu.com>
31498
31499 Unify (identical) linux_normal.c files.
31500 * loader/i386/efi/linux_normal.c: Move from here ...
31501 * loader/linux_normal.c: ... to here. Update all users.
31502 * loader/i386/pc/linux_normal.c: Delete. Update all users.
31503 * loader/i386/ieee1275/linux_normal.c: Likewise.
31504
7f42f83e 315052008-08-18 Robert Millan <rmh@aybabtu.com>
31506
31507 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
31508 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
31509 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
31510 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
31511 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
31512 New macros.
31513 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
31514 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
31515 (GRUB_LINUX_CL_END_OFFSET): ... to here.
31516 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
31517 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
31518 (GRUB_EFI_CL_END_OFFSET): Rename to ...
31519 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
31520 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
31521 Initialize `params->video_cursor_x' and `params->video_cursor_y'
31522 portably using grub_getxy().
31523 Replace `-EFI' with `-bzImage' in boot message.
31524
38487ddb 315252008-08-17 Robert Millan <rmh@aybabtu.com>
31526
31527 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
31528
deceb3ec 315292008-08-17 Robert Millan <rmh@aybabtu.com>
31530
31531 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
31532
31533 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
31534 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
31535 (grub_machine_mmap_iterate): New function declaration.
31536 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
31537 structure.
31538 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
31539 macros.
31540
31541 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
31542 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
31543 Move e820 parsing from here ...
31544 * kern/i386/pc/mmap.c: New file.
31545 (grub_machine_mmap_iterate): ... to here.
31546
31547 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
31548 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
31549 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
31550 (grub_available_iterate): Redeclare to return `void', and redeclare
31551 its hook to use grub_uint64_t as addr and size parameters, and rename
31552 to ...
31553 (grub_machine_mmap_iterate): ... this. Update all users.
31554
31555 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
31556 to make it more readable. Rename to ...
31557 (grub_machine_mmap_iterate): ... this.
31558
31559 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
31560 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
31561 (grub_multiboot): Allocate an extra region after the payload, and fill
31562 it with a Multiboot memory map. Adjust a.out loader to calculate size
31563 with the extra space.
31564 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
31565 with the extra space.
31566
f8aa0f43 315672008-08-17 Carles Pina i Estany <carles@pina.cat>
31568
9807deb9 31569 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 31570
605f5bb6 315712008-08-17 Felix Zielcke <fzielcke@z-51.de>
31572
31573 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
31574 mdate-sh to the list `find' searches for.
31575 * DISTLIST: Regenerated.
31576
210db6c6 315772008-08-16 Felix Zielcke <fzielcke@z-51.de>
31578
31579 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
31580 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 31581 genmoddep.awk, gensymlist.sh.in.
31582 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 31583 * DISTLIST: Regenerated.
48cdbfd4 31584 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 31585
1082b929 315862008-08-16 Robert Millan <rmh@aybabtu.com>
31587
31588 * disk/raid.c (grub_raid_init): Handle/report errors set by
31589 grub_device_iterate().
31590 * disk/lvm.c (grub_lvm_init): Likewise.
31591
42ce5170 315922008-08-15 Bean <bean123ch@gmail.com>
31593
31594 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31595 and datehook.mod.
31596 (datetime_mod_SOURCES): New macro.
31597 (datetime_mod_CFLAGS): Likewise.
31598 (datetime_mod_LDFLAGS): Likewise.
31599 (date_mod_SOURCES): Likewise.
31600 (date_mod_CFLAGS): Likewise.
31601 (date_mod_LDFLAGS): Likewise.
31602 (datehook_mod_SOURCES): Likewise.
31603 (datehook_mod_CFLAGS): Likewise.
31604 (datehook_mod_LDFLAGS): Likewise.
31605
31606 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31607 and datehook.mod.
31608 (datetime_mod_SOURCES): New macro.
31609 (datetime_mod_CFLAGS): Likewise.
31610 (datetime_mod_LDFLAGS): Likewise.
31611 (date_mod_SOURCES): Likewise.
31612 (date_mod_CFLAGS): Likewise.
31613 (date_mod_LDFLAGS): Likewise.
31614 (datehook_mod_SOURCES): Likewise.
31615 (datehook_mod_CFLAGS): Likewise.
31616 (datehook_mod_LDFLAGS): Likewise.
31617
31618 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31619 and datehook.mod.
31620 (datetime_mod_SOURCES): New macro.
31621 (datetime_mod_CFLAGS): Likewise.
31622 (datetime_mod_LDFLAGS): Likewise.
31623 (date_mod_SOURCES): Likewise.
31624 (date_mod_CFLAGS): Likewise.
31625 (date_mod_LDFLAGS): Likewise.
31626 (datehook_mod_SOURCES): Likewise.
31627 (datehook_mod_CFLAGS): Likewise.
31628 (datehook_mod_LDFLAGS): Likewise.
31629
31630 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31631 and datehook.mod.
31632 (datetime_mod_SOURCES): New macro.
31633 (datetime_mod_CFLAGS): Likewise.
31634 (datetime_mod_LDFLAGS): Likewise.
31635 (date_mod_SOURCES): Likewise.
31636 (date_mod_CFLAGS): Likewise.
31637 (date_mod_LDFLAGS): Likewise.
31638 (datehook_mod_SOURCES): Likewise.
31639 (datehook_mod_CFLAGS): Likewise.
31640 (datehook_mod_LDFLAGS): Likewise.
31641
31642 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31643 and datehook.mod.
31644 (datetime_mod_SOURCES): New macro.
31645 (datetime_mod_CFLAGS): Likewise.
31646 (datetime_mod_LDFLAGS): Likewise.
31647 (date_mod_SOURCES): Likewise.
31648 (date_mod_CFLAGS): Likewise.
31649 (date_mod_LDFLAGS): Likewise.
31650 (datehook_mod_SOURCES): Likewise.
31651 (datehook_mod_CFLAGS): Likewise.
31652 (datehook_mod_LDFLAGS): Likewise.
31653
31654 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
31655
31656 * commands/date.c: New file.
31657
31658 * hook/datehook.c: Likewise.
31659
31660 * include/grub/lib/datetime.h: Likewise.
31661
31662 * include/grub/i386/cmos.h: Likewise.
31663
31664 * lib/datetime.c: Likewise.
31665
31666 * lib/i386/datetime.c: Likewise.
31667
31668 * lib/efi/datetime.c: Likewise.
31669
0e9242da 316702008-08-14 Robert Millan <rmh@aybabtu.com>
31671
31672 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
31673 (grub_mkelfimage_SOURCES): New variable.
31674 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
31675
31676 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
31677 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
31678 * conf/powerpc-ieee1275.rmk: Likewise.
31679 * conf/i386-ieee1275.rmk: Likewise.
31680
31681 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
31682 * kern/i386/coreboot/init.c: Likewise.
31683
31684 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
31685 with `<grub/cpu/kernel.h>'.
31686 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
31687 to ...
31688 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
31689 * kern/i386/coreboot/startup.S: Likewise.
31690
31691 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
31692 (GRUB_MOD_GAP): Remove.
31693 * include/grub/powerpc/kernel.h: New file.
31694 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
31695 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31696 * include/grub/i386/kernel.h: New file.
31697 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
31698 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
31699 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31700
31701 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
31702 `grub-mkelfimage'.
31703 Use --directory when invoking grub_mkimage.
31704
31705 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
31706 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
31707 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
31708 and GRUB_KERNEL_CPU_PREFIX.
31709
b86408f8 317102008-08-14 Felix Zielcke <fzielcke@z-51.de>
31711
d5e619ca 31712 * include/grub/err.h (grub_err_printf): New function prototype.
31713 * util/misc.c (grub_err_printf): New function.
31714 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
31715 grub_printf.
31716 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 31717
7161f0e0 317182008-08-13 Robert Millan <rmh@aybabtu.com>
31719
31720 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
31721
a1967522 317222008-08-13 Robert Millan <rmh@aybabtu.com>
31723
31724 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
31725 boot entry.
31726
371458b5 317272008-08-12 Robert Millan <rmh@aybabtu.com>
31728
31729 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
31730 of the relocation code from here ...
31731 (grub_multiboot): ... to here.
31732 (forward_relocator, backward_relocator): Move from here ...
31733 * kern/i386/loader.S (grub_multiboot_forward_relocator)
31734 (grub_multiboot_backward_relocator): ... to here.
31735 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
31736 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
31737 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
31738 (grub_multiboot_forward_relocator_end)
31739 (grub_multiboot_backward_relocator)
31740 (grub_multiboot_backward_relocator_end): New variables.
31741
05f9452b 317422008-08-12 Bean <bean123ch@gmail.com>
31743
31744 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
31745
20024ab0 317462008-08-11 Robert Millan <rmh@aybabtu.com>
31747
31748 * kern/i386/linuxbios/startup.S: Move from here ...
31749 * kern/i386/coreboot/startup.S: ... to here.
31750
31751 * kern/i386/linuxbios/init.c: Move from here ...
31752 * kern/i386/coreboot/init.c: ... to here.
31753
31754 * kern/i386/linuxbios/table.c: Move from here ...
31755 * kern/i386/coreboot/mmap.c: ... to here.
31756
31757 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
31758
e352e9cd 317592008-08-11 Robert Millan <rmh@aybabtu.com>
31760
31761 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
31762 errors. Leave it to the upper layer to handle them.
31763
2d05bc6a 317642008-08-09 Christian Franke <franke@computer.org>
31765
31766 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
31767 * conf/common.rmk: Install `grub-pe2elf' only if requested.
31768 Install `grub.d/10_windows' only on Cygwin.
31769 * configure.ac: Add subst of `target_os'.
31770 Check `target_os' also before setting TARGET_OBJ2ELF.
31771 Add `--enable-grub-pe2elf'.
31772
042bd419 317732008-08-08 Robert Millan <rmh@aybabtu.com>
31774
31775 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31776 (grub_last_time): Change type to grub_uint64_t.
31777 (grub_disk_open): Migrate code from to using grub_get_time_ms().
31778 (grub_disk_close): Likewise.
31779
31780 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31781 (run_menu): Migrate code from to using grub_get_time_ms().
31782
31783 * util/misc.c (grub_get_time_ms): New function.
31784
7f280db5 317852008-08-08 Marco Gerards <marco@gnu.org>
31786
31787 * disk/ata.c (grub_ata_regget): Change return type to
31788 `grub_uint8_t'.
31789 (grub_ata_regget2): Likewise.
31790 (grub_ata_wait_status): New function.
31791 (grub_ata_wait_busy): Removed function, updated all users to use
31792 `grub_ata_wait_status'.
31793 (grub_ata_wait_drq): Likewise.
31794 (grub_ata_cmd): New function.
31795 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
31796 error handling.
31797 (grub_ata_pio_write): Add error handling.
31798 (grub_atapi_identify): Likewise.
31799 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
31800 handling.
31801 (grub_ata_identify): Use `grub_ata_cmd' and improve error
31802 handling. Actually use the detected registers. Reorder the
31803 detection logic such that it is easier to read.
31804 (grub_ata_pciinit): Do not assign the same ID to each controller.
31805 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
31806 handling.
31807 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
31808
31809 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
31810
1fbc5e66 318112008-08-08 Marco Gerards <marco@gnu.org>
31812
31813 * NEWS: Update.
31814
819ce6c0 318152008-08-07 Bean <bean123ch@gmail.com>
31816
31817 * include/grub/x86_64/pci.h: New file.
31818
5c41d44d 318192008-08-07 Christian Franke <franke@computer.org>
31820
31821 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
31822 (TIMER2_GATE): Likewise.
31823 (grub_pit_wait): Add enable/disable of the timer2 gate
31824 bit of port 0x61. This fixes a possible infinite loop.
31825
5ebc275d 318262008-08-07 Bean <bean123ch@gmail.com>
31827
31828 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
31829 kern/i386/tsc.c and kern/i386/pit.c.
31830
31831 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
31832 x86_64 platform.
31833
31834 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
31835 <grub/i386/tsc.h>.
31836
31837 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
31838
e383b3d0 318392008-08-07 Bean <bean123ch@gmail.com>
31840
31841 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
31842
31843 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
31844
31845 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
31846 multiple inclusion. Add #include <grub/types.h>.
31847
1cbb58ac 318482008-08-06 Christian Franke <franke@computer.org>
31849
31850 * conf/common.rmk: Build and install `10_windows'.
31851 * util/grub.d/10_windows.in: New script.
31852
337f5a1e 318532008-08-06 Pavel Roskin <proski@gnu.org>
31854
31855 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
31856
057bc4ac 318572008-08-06 Robert Millan <rmh@aybabtu.com>
31858
31859 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
31860 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
31861
2b99f123 318622008-08-06 Bean <bean123ch@gmail.com>
31863
31864 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
31865 (grub_pxefs_fs_int): Remove dummy definition.
31866 (grub_pxefs_open): Use data->block_size to store the current block
31867 size setting.
31868 (grub_pxefs_read): Use block size stored in data->block_size. As the
31869 value of grub_pxe_blksize can be changed after the file is opened.
31870
9f0234cb 318712008-08-06 Bean <bean123ch@gmail.com>
31872
31873 * fs/i386/pc/pxe.c (curr_file): new variable.
31874 (grub_pxefs_open): Simply the handling of pxe file system. Don't
31875 require the dummy internal file system anymore.
31876 (grub_pxefs_read): Removed.
31877 (grub_pxefs_close): Likewise.
31878 (grub_pxefs_fs_int): Likewise.
31879 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
31880 connection when we switch file.
31881 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
31882
a55d42e0 318832008-08-06 Robert Millan <rmh@aybabtu.com>
31884
31885 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
31886 `halt.mod'.
31887 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
31888 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
31889
31890 * kern/i386/halt.c: New file.
31891 * kern/i386/reboot.c: Likewise.
31892 * include/grub/i386/reboot.h: Likewise.
31893 * include/grub/i386/halt.h: Likewise.
31894
31895 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
31896 Include `<grub/cpu/halt.h>'.
31897 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
31898 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
31899
31900 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
31901 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
31902 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
31903 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
31904 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
31905 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
31906 from here ...
31907 * include/grub/i386/at_keyboard.h: ... to here.
31908
24371d26 319092008-08-05 Robert Millan <rmh@aybabtu.com>
31910
31911 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
31912 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
31913 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
31914 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31915 `kern/generic/millisleep.c'.
31916
31917 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
31918 instead of grub_get_rtc().
31919 (grub_tsc_init): Initialize `tsc_boot_time'.
31920
31921 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
31922 (grub_machine_init): Use grub_tsc_init() rather than
31923 installing an RTC-based handler via grub_install_get_time_ms().
31924
31925 * kern/i386/pit.c: New file.
31926 * include/grub/i386/pit.h: Likewise.
31927
9e7007b3 319282008-08-05 Bean <bean123ch@gmail.com>
31929
31930 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
31931
31932 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
31933 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
31934 (pxe_mod_SOURCES): New macro.
31935 (pxe_mod_CFLAGS): Likewise.
31936 (pxe_mod_LDFLAGS): Likewise.
31937 (pxecmd_mod_SOURCES): Likewise.
31938 (pxecmd_mod_CFLAGS): Likewise.
31939 (pxecmd_mod_LDFLAGS): Likewise.
31940
31941 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
31942 (grub_pxe_call): Likewise.
31943
31944 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
31945
31946 * commands/i386/pc/pxecmd.c: New file.
31947
9f0234cb 31948 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 31949
31950 * include/grub/i386/pc/pxe.h: Likewise.
31951
6977d49f 319522008-08-05 Bean <bean123ch@gmail.com>
31953
31954 * util/console.c (grub_console_cur_color): New variable.
31955 (grub_console_standard_color): Likewise.
31956 (grub_console_normal_color): Likewise.
31957 (grub_console_highlight_color): Likewise.
31958 (color_map): Likewise.
31959 (use_color): Likewise.
31960 (NUM_COLORS): New macro.
31961 (grub_ncurses_setcolorstate): Handle color properly.
31962 (grub_ncurses_setcolor): Don't change color here, just remember the
31963 settings, color will be set in grub_ncurses_setcolorstate.
31964 (grub_ncurses_getcolor): New function.
31965 (grub_ncurses_init): Initialize color pairs.
31966 (grub_ncurses_term): New member grub_ncurses_getcolor.
31967
9c2ff3ee 319682008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 31969
9c2ff3ee 31970 High resolution timer support. Implemented for x86 CPUs using TSC.
31971 Extracted generic grub_millisleep() so it's linked in only as needed.
31972 This requires a Pentium compatible CPU; if the RDTSC instruction is
31973 not supported, then it falls back on the generic grub_get_time_ms()
31974 implementation that uses the machine's RTC.
31975
31976 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
31977 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31978 `kern/generic/millisleep.c'.
31979
31980 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
31981 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
31982
31983 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
31984 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
31985
31986 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31987
31988 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31989 `kern/generic/millisleep.c'.
31990
31991 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31992
31993 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
31994
31995 * kern/generic/rtc_get_time_ms.c: New file.
31996
31997 * kern/generic/millisleep.c: New file.
337f5a1e 31998
9c2ff3ee 31999 * kern/misc.c: Don't include
32000 <kern/time.h> anymore.
32001 (grub_millisleep_generic): Removed.
32002
32003 * commands/sleep.c (grub_interruptible_millisleep): Uses
32004 grub_get_time_ms() instead of grub_get_rtc().
32005
32006 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
32007 function.
32008 (grub_cpu_is_cpuid_supported): New inline function.
32009 (grub_cpu_is_tsc_supported): New inline function.
32010 (grub_tsc_init): New function prototype.
32011 (grub_tsc_get_time_ms): New function prototype.
32012
32013 * kern/i386/tsc.c (grub_get_time_ms): New file.
32014
32015 * include/grub/time.h: Include <grub/types.h.
32016 (grub_millisleep_generic): Removed.
32017 (grub_get_time_ms): New prototype.
32018 (grub_install_get_time_ms): New prototype.
32019 (grub_rtc_get_time_ms): New prototype.
32020
32021 * kern/time.c (grub_get_time_ms): New function.
32022 (grub_install_get_time_ms): New function.
32023
32024 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
32025 <grub/time.h> anymore.
32026 (grub_millisleep): Removed.
32027 (grub_machine_init): Call grub_tsc_init.
32028
32029 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
32030 get_time_ms() implementation.
32031
32032 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
32033 (ieee1275_get_time_ms): New function.
32034 (grub_machine_init): Install get_time_ms() implementation.
32035
32036 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
32037 (grub_machine_init): Call grub_tsc_init().
32038 (grub_millisleep): Removed.
bf06a93f 32039
9c2ff3ee 32040 * kern/ieee1275/init.c (grub_millisleep): Removed.
32041 (grub_machine_init): Install ieee1275_get_time_ms()
32042 implementation.
32043 (ieee1275_get_time_ms): New function.
32044 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
32045 real work.
32046
9ec92aaf 320472008-08-05 Marco Gerards <marco@gnu.org>
32048
32049 * disk/ata.c: Include <grub/pci.h>.
32050 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
32051 (grub_ata_initialize): Rewritten.
32052 (grub_ata_device_initialize): New function.
32053
8d23f507 320542008-08-04 Pavel Roskin <proski@gnu.org>
32055
32056 * kern/main.c: Include grub/mm.h.
32057
5e15ee3d 320582008-08-04 Robert Millan <rmh@aybabtu.com>
32059
32060 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
32061 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
32062 corruption problem).
32063
a9053f8f 320642008-08-04 Robert Millan <rmh@aybabtu.com>
32065
32066 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
32067 warnings introduced in my last commit.
32068
dd19c7d7 320692008-08-03 Robert Millan <rmh@aybabtu.com>
32070
32071 Make PCI available on all i386 architectures.
32072
32073 * include/grub/i386/pc/pci.h: Move from here ...
32074 * include/grub/i386/pci.h: ... to here.
32075
32076 * include/grub/i386/pc/pci.h: Remove.
32077 * include/grub/i386/efi/pci.h: Remove.
32078 * include/grub/x86_64/efi/pci.h: Remove.
32079
32080 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
32081 `<grub/cpu/pci.h>'.
32082
32083 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
32084 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
32085 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
32086
32087 * conf/i386-ieee1275.rmk: Likewise.
32088
e14a6184 320892008-08-03 Robert Millan <rmh@aybabtu.com>
32090
32091 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
32092 (grub_console_setcursor): Make it possible to set cursor off.
32093
52768e37 320942008-08-03 Robert Millan <rmh@aybabtu.com>
32095
32096 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
32097 of modules instead of assuming which platform provides what.
32098 * util/update-grub.in: Likewise.
32099
2d52f57f 321002008-08-03 Robert Millan <rmh@aybabtu.com>
32101
32102 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
32103 instead of `grub_install_dos_part' to determine whether a drive needs
32104 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 32105 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 32106
2a5cd121 321072008-08-02 Robert Millan <rmh@aybabtu.com>
32108
32109 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32110
93808428 321112008-08-02 Robert Millan <rmh@aybabtu.com>
32112
32113 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32114 of informational grub_dprintf() calls.
32115
3bd0a12a 321162008-08-02 Robert Millan <rmh@aybabtu.com>
32117
32118 * disk/memdisk.c (memdisk_size): Don't initialize.
32119 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32120
32121 * include/grub/i386/pc/kernel.h
32122 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32123 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32124 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32125 (grub_arch_memdisk_size): Remove.
32126
32127 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32128 field (was only used to transfer a constant). Add `type' field to
32129 support multiple module types.
32130 (grub_module_iterate): New function.
32131
32132 * kern/device.c (grub_device_open): Do not hide error messages
32133 when grub_disk_open() fails. Use grub_print_error() instead.
32134
32135 * kern/i386/pc/init.c (grub_arch_modules_addr)
32136 (grub_arch_memdisk_size): Remove functions.
32137 (grub_arch_modules_addr): Return the module address in high memory
32138 (now that it isn't copied anymore).
32139
32140 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32141 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32142 decompression routine (grub_total_module_size already includes that
32143 now). Don't copy modules back to low memory.
32144
32145 * kern/main.c: Include `<grub/mm.h>'.
32146 (grub_load_modules): Split out (and use) ...
32147 (grub_module_iterate): ... this function, which iterates through
32148 module objects and runs a hook.
32149 Comment out grub_mm_init_region() call, as it would cause non-ELF
32150 modules to be overwritten.
32151
32152 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32153 the memdisk image in its own region, make it part of the module list.
32154 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32155 (main): Parse --memdisk|-m option, and pass user-provided path as
32156 parameter to generate_image().
32157 (add_segments): Pass `memdisk_path' down to load_modules().
32158 (load_modules): Embed memdisk image in module section when requested.
32159 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32160 `header.type' instead of `header.offset'.
32161
32162 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32163 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32164 (memdisk_mod_LDFLAGS): New variables.
32165 * conf/i386-coreboot.rmk: Likewise.
32166 * conf/i386-ieee1275.rmk: Likewise.
32167
a927cc73 321682008-08-02 Robert Millan <rmh@aybabtu.com>
32169
32170 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32171 (backward_relocator): New variables. Used to allocate and relocate
32172 the payload, respectively.
32173 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 32174 address, install the appropriate relocator code in each bound of
a927cc73 32175 the payload, and set the entry point such that
32176 grub_multiboot_real_boot() will jump to one of them.
32177
32178 * kern/i386/loader.S (grub_multiboot_payload_size)
32179 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32180 (grub_multiboot_payload_entry_offset): New variables.
32181 (grub_multiboot_real_boot): Set cpu context to what the relocator
32182 expects, and jump to the relocator instead of the payload.
32183
32184 * include/grub/i386/loader.h (grub_multiboot_payload_size)
32185 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32186 (grub_multiboot_payload_entry_offset): Export.
32187
b15d8a0c 321882008-08-01 Bean <bean123ch@gmail.com>
32189
32190 * normal/menu_entry.c (editor_getline): Don't return the original
32191 string as result, as it will be released by lexer once it has done
32192 using it.
32193
cdfb3d22 321942008-08-01 Robert Millan <rmh@aybabtu.com>
32195
32196 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
32197 within menuentries, not before them.
32198 util/grub.d/10_hurd.in: Likewise.
32199
9175e93d 322002008-08-01 Bean <bean123ch@gmail.com>
32201
32202 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
32203 (bufio_mod_SOURCES): New macro.
32204 (bufio_mod_CFLAGS): Likewise.
32205 (bufio_mod_LDFLAGS): Likewise.
32206
32207 * include/grub/bufio.h: New file.
32208
32209 * io/bufio.c: Likewise.
32210
32211 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
32212 (grub_video_reader_png): Use grub_buffile_open to open file.
32213
32214 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
32215 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
32216
32217 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
32218 (grub_video_reader_tga): Use grub_buffile_open to open file.
32219
32220 * font/manager.c: Include <grub/bufio.h>.
32221 (add_font): Use grub_buffile_open to open file.
32222
3d8383e7 322232008-07-31 Robert Millan <rmh@aybabtu.com>
32224
32225 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
32226 ELF segments, use a macro for arbitrarily accessing any of them instead
32227 of preparing a pointer that allows access to one at a time.
32228 (grub_multiboot_load_elf64): Likewise.
32229
16e641b6 322302008-07-31 Bean <bean123ch@gmail.com>
32231
32232 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
32233 GRUB_KERNEL_MACHINE_DATA_END.
32234
59198b72 322352008-07-30 Robert Millan <rmh@aybabtu.com>
32236
32237 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
32238 Increase from 0x50 to 0x60.
32239 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
32240 use UUIDs to identify the root drive for them. If that's not
32241 possible, abort.
32242 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
32243 check, for cross-disk installs.
32244
ae88bca3 322452008-07-30 Robert Millan <rmh@aybabtu.com>
32246
32247 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
32248 is non-empty, use it to set the `prefix' environment variable instead
32249 of the usual approach.
32250 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
32251 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
32252 environment variable instead of dummy make_install_device().
32253
32254 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
32255 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 32256 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 32257
32258 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
32259 New variable reference.
32260 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
32261 New macro. Defines offset of `grub_prefix' within startup.S (relative
32262 to `start').
32263 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
32264 section within startup.S (relative to `start').
32265 * include/grub/i386/coreboot/kernel.h: Likewise.
32266
32267 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
32268 Overwrite grub_prefix with its contents, at the beginning of the
32269 first segment.
32270 (main): Understand -p|--prefix.
32271
14f41dd1 322722008-07-30 Robert Millan <rmh@aybabtu.com>
32273
32274 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
32275
4ca049a3 322762008-07-30 Robert Millan <rmh@aybabtu.com>
32277
32278 * term/i386/pc/vga_text.c (grub_console_cls): Use
32279 grub_console_gotoxy() to go back to beginning of the screen.
32280 Found by Patrick Georgi <patrick.georgi@coresystems.de>
32281
2921d337 322822008-07-29 Christian Franke <franke@computer.org>
32283
32284 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32285 Add conversion of emulated mount points on Cygwin.
32286
b609876d 322872008-07-29 Christian Franke <franke@computer.org>
32288
32289 * util/update-grub.in: Add a check for admin
32290 group on Cygwin.
32291 Remove old `grub.cfg.new' before creation.
32292 Add `-f' to `mv' to handle the different filesystem
32293 semantics of Windows.
32294
e93e4679 322952008-07-29 Bean <bean123ch@gmail.com>
32296
32297 * normal/main.c (get_line): Fix buffer overflow bug.
32298
41694fd0 322992008-07-28 Robert Millan <rmh@aybabtu.com>
32300
32301 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
32302 (struct grub_apple_header): New struct. Describes the layout of
32303 the partmap header.
32304 (apple_partition_map_iterate): Check the header magic as well as the
32305 partition magic (which was already being checked).
32306
cfd0b4e6 323072008-07-28 Pavel Roskin <proski@gnu.org>
32308
32309 * genmk.rb: Add a warning to the beginning of the output that
32310 it's a generated file and should not be edited.
32311
93cce016 323122008-07-28 Robert Millan <rmh@aybabtu.com>
32313
32314 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32315 with the same number are found, just use issue a warning with
32316 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 32317
cd1df915 323182008-07-27 Robert Millan <rmh@aybabtu.com>
32319
32320 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
32321 information.
32322
b70a8427 323232008-07-27 Bean <bean123ch@gmail.com>
32324
32325 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
32326 (grub_fat_find_dir): Ignore case when comparing filename.
32327
8f5e379f 323282008-07-27 Bean <bean123ch@gmail.com>
32329
32330 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
32331 smallino, as it's more descriptive, and i8count can be confused with
32332 the other field count.
32333 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
32334 inode type.
32335
a85cd5a0 323362008-07-27 Bean <bean123ch@gmail.com>
32337
32338 * commands/crc.c: New file.
32339
32340 * lib/crc.c: Likewise.
32341
32342 * include/grub/lib/crc.h: Likewise.
32343
32344 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
32345
32346 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
32347 (hexdump): Move this function to ...
32348
32349 * lib/hexdump.c: ... here.
32350
32351 * include/grub/hexdump.h: Renamed to ...
32352
32353 * include/grub/lib/hexdump.h: ... this.
32354
32355 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
32356
32357 * util/grub-editenv.c: Likewise.
32358
32359 * include/envblk.h: Renamed to ...
32360
32361 * include/lib/envblk.h: ... this.
32362
32363 * util/envblk.c: Renamed to ...
32364
32365 * lib/envblk.c: ... this.
32366
32367 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
32368 lib/hexdump.c.
32369 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
32370 (pkglib_MODULES): Add crc.mod.
32371 (hexdump_mod_SOURCES): Add lib/hexdump.c.
32372 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
32373 (crc_mod_SOURCES): New macro.
32374 (crc_mod_CFLAGS): Likewise.
32375 (crc_mod_LDFLAGS): Likewise.
32376
32377 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
32378
32379 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32380
32381 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32382
32383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32384
32385 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32386
c298def0 323872008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 32388
32389 * commands/help.c: Include <grub/term.h>.
32390 (TERM_WIDTH): Removed. Updated all users.
32391
cc349fb3 323922008-07-27 Pavel Roskin <proski@gnu.org>
32393
32394 * util/getroot.c (find_root_device): Rephrase a comment to avoid
32395 spurious warnings about a comment within a comment.
32396
9051607e 323972008-07-25 Robert Millan <rmh@aybabtu.com>
32398
32399 * util/getroot.c (find_root_device): Skip devices that match
32400 /dev/dm-[0-9]. This lets the real device be found for any type of
32401 abstraction (LVM, EVMS, RAID..).
32402 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
32403 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
32404 device is found first, find_root_device() will now skip it.
32405
01453bfc 324062008-07-24 Pavel Roskin <proski@gnu.org>
32407
32408 * include/grub/types.h: Use __builtin_bswap32() and
32409 __builtin_bswap64() with gcc 4.3 and newer.
32410
6af9849f 324112008-07-24 Christian Franke <franke@computer.org>
32412
3a0fa256 32413 * util/i386/pc/grub-install.in: If `--debug' is specified,
32414 pass `--verbose' to grub-setup.
32415 Abort script if make_system_path_relative_to_its_root() fails.
32416
7810e747 324172008-07-24 Bean <bean123ch@gmail.com>
32418
32419 * configure.ac: Fixed a bug caused by the previous cygwin patch,
32420 variable `target_platform' should be `platform'.
32421
42290e17 324222008-07-24 Bean <bean123ch@gmail.com>
32423
51cc5193 32424 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 32425 (grub_png_init_fixed_block): New function.
32426 (grub_png_decode_image_data): Handle fixed huffman code compression.
32427
2a8a80e4 324282008-07-24 Bean <bean123ch@gmail.com>
32429
32430 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
32431 (grub_pe2elf_SOURCES): New macro.
32432 (CLEANFILES): Add grub-pe2elf.
32433
32434 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
32435 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
32436 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
32437 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
32438 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
32439 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
32440 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
32441 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
32442 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
32443 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
32444 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
32445 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
32446 (GRUB_PE32_DT_FUNCTION): Likewise.
32447 (GRUB_PE32_REL_I386_DIR32): Likewise.
32448 (GRUB_PE32_REL_I386_REL32): Likewise.
32449 (grub_pe32_symbol): New structure.
32450 (grub_pe32_reloc): Likewise.
32451
32452 * util/grub-pe2elf.c: New file.
32453
32454 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
32455 start symbol in non pc platform.
32456
32457 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
32458
32459 The following patches are from Christian Franke.
32460
32461 * include/grub/dl.h: Remove .previous, gas supports this only
32462 for ELF format.
32463
32464 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
32465 Remove .type, gas supports this only for ELF format.
32466
32467 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
32468 nullbytes in symbol table. This fixes an infinite loop if table is
32469 zero filled.
32470
32471 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
32472 TARGET_IMG_LDFLAGS and EXEEXT.
32473
32474 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
32475 TARGET_IMG_LDFLAGS_AC.
32476 (grub_CHECK_STACK_ARG_PROBE): New function.
32477
32478 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
32479
32480 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
32481
32482 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
32483 to set TARGET_IMG_LD* accordingly.
32484 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
32485 Add call to grub_CHECK_STACK_ARG_PROBE.
32486 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
32487
32488 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
32489
32490 * genmk.rb: Add EXEEXT to CLEANFILES.
32491
12ccdb75 324922008-07-23 Robert Millan <rmh@aybabtu.com>
32493
32494 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
32495 define the codes for arrows and lines used for the menu).
32496 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
32497 as well.
32498
32499 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
32500 fonts, because the latter are too slow.
32501
18eeaf04 325022008-07-21 Bean <bean123ch@gmail.com>
32503
32504 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
32505 a20. Run keyboard test last, as it will cause macbook to halt.
32506
b095e2ad 325072008-07-18 Pavel Roskin <proski@gnu.org>
32508
32509 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
32510 load foreign architecture modules correctly anyway. Keep
32511 support for loading host architecture modules, whether we
32512 compile them or not.
32513
737feb35 325142008-07-17 Pavel Roskin <proski@gnu.org>
32515
3f4ce737 32516 * configure.ac: Use -m32 or -m64 regardless of whether we had to
32517 change target_cpu. The compiler default can mismatch target_cpu
32518 in any case.
32519
4ad2d049 32520 * disk/efi/efidisk.c: Fix format warnings on x86_64.
32521 * kern/efi/efi.c: Likewise.
32522
f6130a12 32523 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
32524 target compiler is functional.
32525 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
32526 are set up.
32527
58393a2d 32528 * configure.ac: Default to efi platform for x86_64-apple. Allow
32529 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
32530 adjustments from the rest, only do them if target is not
32531 explicitly given. Merge other adjustments with the final sanity
32532 check. Remove an extraneous check for supported CPU. Be
32533 specific which CPU and which platform is not supported.
32534
737feb35 32535 * configure.ac: Default to pc platform for x86_64.
32536
546f966a 325372008-07-17 Robert Millan <rmh@aybabtu.com>
32538
32539 Partial LinuxBIOS -> Coreboot rename.
32540
32541 * conf/i386-linuxbios.rmk: Renamed to ...
32542 * conf/i386-coreboot.rmk: ... this.
32543 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
32544 * configure.ac: Accept "coreboot" as input platform (but maintain
32545 compatibility with "linuxbios").
32546 * include/grub/i386/linuxbios: Renamed to ...
32547 * include/grub/i386/coreboot: ... this.
32548
20011694 325492008-07-17 Bean <bean123ch@gmail.com>
32550
32551 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 32552 (appleldr_mod_SOURCE): New variable.
20011694 32553 (appleldr_mod_CFLAGS): Likewise.
32554 (appleldr_mod_LDFLAGS): Likewise.
32555 (pci_mod_SOURCES): Likewise.
32556 (pci_mod_CFLAGS): Likewise.
32557 (pci_mod_LDFLAGS): Likewise.
32558 (lspci_mod_SOURCES): Likewise.
32559 (lspci_mod_CFLAGS): Likewise.
32560 (lspci_mod_LDFLAGS): Likewise.
32561
32562 * conf/x86_64-efi.rmk: New file.
32563
32564 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
32565 macro.
32566 (grub_efidisk_write): Likewise.
32567
32568 * include/efi/api.h (efi_call_0): New macro.
32569 (efi_call_1): Likewise.
32570 (efi_call_2): Likewise.
32571 (efi_call_3): Likewise.
32572 (efi_call_4): Likewise.
32573 (efi_call_5): Likewise.
32574 (efi_call_6): Likewise.
32575
32576 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
32577 grub_rescue_cmd_chainloader.
32578
32579 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
32580 (grub_pe32_optional_header): Change some fields based on i386 or
32581 x86_64 platform.
32582 (GRUB_PE32_PE32_MAGIC): Likewise.
32583
32584 * include/grub/efi/uga_draw.h: New file.
32585
32586 * include/grub/elf.h (STN_ABS): New constant.
32587 (R_X86_64_NONE): Relocation constant for x86_64.
32588 (R_X86_64_64): Likewise.
32589 (R_X86_64_PC32): Likewise.
32590 (R_X86_64_GOT32): Likewise.
32591 (R_X86_64_PLT32): Likewise.
32592 (R_X86_64_COPY): Likewise.
32593 (R_X86_64_GLOB_DAT): Likewise.
32594 (R_X86_64_JUMP_SLOT): Likewise.
32595 (R_X86_64_RELATIVE): Likewise.
32596 (R_X86_64_GOTPCREL): Likewise.
32597 (R_X86_64_32): Likewise.
32598 (R_X86_64_32S): Likewise.
32599 (R_X86_64_16): Likewise.
32600 (R_X86_64_PC16): Likewise.
32601 (R_X86_64_8): Likewise.
32602 (R_X86_64_PC8): Likewise.
32603
32604 * include/grub/i386/efi/pci.h: New file.
32605
32606 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
32607 Change it value based on platform.
32608 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
32609 (GRUB_E820_RAM): Likewise.
32610 (GRUB_E820_RESERVED): Likewise.
32611 (GRUB_E820_ACPI): Likewise.
32612 (GRUB_E820_NVS): Likewise.
32613 (GRUB_E820_EXEC_CODE): Likewise.
32614 (GRUB_E820_MAX_ENTRY): Likewise.
32615 (grub_e820_mmap): New structure.
32616 (linux_kernel_header): Change the efi field according to different
32617 kernel version, also field from linux_kernel_header.
32618
32619 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
32620
32621 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
32622 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
32623 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
32624 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
32625 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
32626 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
32627 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
32628 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
32629 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
32630 (GRUB_PCI_ADDR_IO_MASK): Likewise.
32631
32632 * include/grub/x86_64/efi/kernel.h: New file.
32633
32634 * include/grub/x86_64/efi/loader.h: Likewise.
32635
32636 * include/grub/x86_64/efi/machine.h: Likewise.
32637
32638 * include/grub/x86_64/efi/pci.h: Likewise.
32639
32640 * include/grub/x86_64/efi/time.h: Likewise.
32641
32642 * include/grub/x86_64/linux.h: Likewise.
32643
32644 * include/grub/x86_64/setjmp.h: Likewise.
32645
32646 * include/grub/x86_64/time.h: Likewise.
32647
32648 * include/grub/x86_64/types.h: Likewise.
32649
32650 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
32651 GRUB_TARGET_SIZEOF_VOID_P.
32652
32653 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
32654 (grub_efi_locate_handle): Likewise.
32655 (grub_efi_open_protocol): Likewise.
32656 (grub_efi_set_text_mode): Likewise.
32657 (grub_efi_stall): Likewise.
32658 (grub_exit): Likewise.
32659 (grub_reboot): Likewise.
32660 (grub_halt): Likewise.
32661 (grub_efi_exit_boot_services): Likewise.
32662 (grub_get_rtc): Likewise.
32663
32664 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
32665 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
32666 (grub_efi_allocate_pages): Wrap efi calls.
32667 (grub_efi_free_pages): Wrap efi calls.
32668 (grub_efi_get_memory_map): Wrap efi calls.
32669
32670 * kern/x86_64/dl.c: New file.
32671
32672 * kern/x86_64/efi/callwrap.S: Likewise.
32673
32674 * kern/x86_64/efi/startup.S: Likewise.
32675
32676 * loader/efi/appleloader.c: Likewise.
32677
32678 * loader/efi/chainloader.c (cmdline): New variable.
32679 (grub_chainloader_unload): Wrap efi calls.
32680 (grub_chainloader_boot): Likewise.
32681 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
32682 command line.
32683
32684 * loader/efi/chainloader_normal.c (chainloader_command):
32685 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
32686 command line.
32687
32688 * loader/i386/efi/linux.c (allocate_pages): Change allocation
32689 method.
32690 (grub_e820_add_region): New function.
32691 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
32692 booting.
32693 (grub_find_video_card): New function.
32694 (grub_linux_setup_video): New function.
32695 (grub_rescue_cmd_linux): Probe for video information.
32696
32697 * normal/x86_64/setjmp.S: New file.
32698
32699 * term/efi/console.c (map_char): New function.
32700 (grub_console_putchar): Map unicode char.
32701 (grub_console_checkkey): Wrap efi calls.
32702 (grub_console_getkey): Likewise.
32703 (grub_console_getwh): Likewise.
32704 (grub_console_gotoxy): Likewise.
32705 (grub_console_cls): Likewise.
32706 (grub_console_setcolorstate): Likewise.
32707 (grub_console_setcursor): Likewise.
32708
32709 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
32710
59652a20 327112008-07-16 Pavel Roskin <proski@gnu.org>
32712
ef294055 32713 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
32714 format strings.
32715
59652a20 32716 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
32717 pointer, not an integer. This fixes a warning and prevents
32718 precision loss on 64-bit systems.
32719 (relocate_addresses): Remove unneeded cast.
32720
afc3b5d7 327212008-07-15 Pavel Roskin <proski@gnu.org>
32722
506b2b3e 32723 * kern/i386/ieee1275/init.c: Include grub/cache.h.
32724
62ead89c 32725 * term/ieee1275/ofconsole.c: Disable code unused on i386.
32726
c4cd51d7 32727 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
32728 Fix comparison between signed and unsigned.
32729
0d3d8f28 32730 * include/grub/i386/ieee1275/console.h: Declare
32731 grub_console_init() and grub_console_fini().
32732
8804b286 32733 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
32734 It's empty and unused.
32735
ee01cf35 32736 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
32737 beginning to avoid warnings with some compilers.
32738
afc3b5d7 32739 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
32740 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
32741
e4e8eaa5 327422008-07-14 Pavel Roskin <proski@gnu.org>
32743
407aceb4 32744 * kern/env.c (grub_register_variable_hook): Don't copy empty
32745 string, it leaks memory. Pass "" to grub_env_set(), it should
32746 handle constant strings.
32747
e4e8eaa5 32748 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
32749 * commands/cmp.c (grub_cmd_cmp): Likewise.
32750 * kern/dl.c (grub_dl_flush_cache): Likewise.
32751 (grub_dl_load_core): Likewise.
32752 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
32753 (grub_elf64_load_phdrs): Likewise.
32754
d4e2dad3 327552008-07-13 Pavel Roskin <proski@gnu.org>
32756
32757 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
32758 between signed and unsigned.
32759 (LzmaEnc_Finish): Fix warning about an unused parameter.
32760
aa24b516 327612008-07-13 Bean <bean123ch@gmail.com>
32762
32763 * Makefile.in (enable_lzo): New rule.
32764
32765 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
32766
32767 * configure.ac (ENABLE_LZO): New option --enable-lzo.
32768
32769 * boot/i386/pc/lnxboot.S: #include <config.h>.
32770
32771 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 32772 its value according to the compression algorithm used, lzo or lzma.
aa24b516 32773
32774 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
32775 compression algorithm according to configure macro.
32776
32777 * kern/i386/pc/startup.S (codestart): Likewise.
32778
32779 * kern/i386/pc/lzma_decode.S: New file.
32780
32781 * include/grub/lib/LzFind.h: Likewise.
32782
32783 * include/grub/lib/LzHash.h: Likewise.
32784
32785 * include/grub/lib/LzmaDec.h: Likewise.
32786
32787 * include/grub/lib/LzmaEnc.h: Likewise.
32788
32789 * include/grub/lib/LzmaTypes.h: Likewise.
32790
32791 * lib/LzFind.c: Likewise.
32792
32793 * lib/LzmaDec.c: Likewise.
32794
32795 * lib/LzmaEnc.c: Likewise.
32796
4ae821ac 327972008-07-13 Bean <bean123ch@gmail.com>
32798
32799 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
32800 (grub_ext4_extent_header): New structure.
32801 (grub_ext4_extent): Likewise.
32802 (grub_ext4_extent_idx): Likewise.
32803 (grub_ext4_find_leaf): New function.
32804 (grub_ext2_read_block): Handle extents.
32805
9a745147 328062008-07-12 Robert Millan <rmh@aybabtu.com>
32807
32808 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
32809
d49a4cf6 328102008-07-11 Robert Millan <rmh@aybabtu.com>
32811
32812 * util/grub.d/40_custom.in: New file. Example on how to add custom
32813 entries to /etc/grub.d.
32814 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
32815 40_custom (implicitly, by merging all the grub.d rules).
32816
947414b4 328172008-07-11 Pavel Roskin <proski@gnu.org>
32818
0059cf6f 32819 * commands/read.c (grub_getline): Fix invalid memory access.
32820 Don't add newline to the variable value.
32821
947414b4 32822 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
32823 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
32824 (serial_hw_get_port): Check validity of the port number.
32825 (grub_cmd_serial): Check return value of serial_hw_get_port().
32826
62a02d00 328272008-07-07 Pavel Roskin <proski@gnu.org>
32828
32829 * boot/i386/pc/diskboot.S (notification_string): Replace
32830 "Loading kernel" with just "loading". This is shorter, less
32831 confusing and saves a few bytes for possible future changes.
32832
3e5581b0 328332008-07-05 Pavel Roskin <proski@gnu.org>
32834
ea387a48 32835 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
32836 size for ATAPI devices, they are undefined. Output sector
32837 number in decimal form.
32838
3e5581b0 32839 * disk/ata.c: Use named constants for status bits.
32840
fdecb8fd 328412008-07-04 Pavel Roskin <proski@gnu.org>
32842
bcd35b90 32843 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
32844 grub_addr_t before casting it to the void pointer to fix a
32845 warning. Non-addressable regions are discarded earlier.
32846 (grub_arch_modules_addr): Cast _end to grub_addr_t.
32847 * kern/i386/linuxbios/table.c: Include grub/misc.h.
32848 (check_signature): Don't shadow table_header.
32849 (grub_linuxbios_table_iterate): Cast numeric constants to
32850 grub_linuxbios_table_header_t.
32851 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
32852 grub_stop().
32853
af58ab3d 32854 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
32855 prevent warnings.
32856
1759aa57 32857 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
32858 pointer, which can cause warnings. Support 64-bit addresses.
32859
fdecb8fd 32860 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
32861 of sizeof(long). This fixes PowerPC image generation on x86_64.
32862
8516d2a8 328632008-07-04 Robert Millan <rmh@aybabtu.com>
32864
32865 This fixes a performance issue when pc & gpt partmap iterators
32866 didn't abort iteration even after our hook found what it was
fe987087 32867 looking for (often causing expensive probes of non-existent drives).
8516d2a8 32868
32869 Some callers relied on previous buggy behaviour, since they would
34c44600 32870 raise an error when their own hooks caused early abortion of its
8516d2a8 32871 iteration.
32872
32873 * kern/device.c (grub_device_open): Improve error message.
32874 * disk/lvm.c (grub_lvm_open): Likewise.
32875 * disk/raid.c (grub_raid_open): Likewise.
32876
32877 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
32878 when hook requests it, independently of grub_errno.
32879 (pc_partition_map_probe): Do not fail when find_func() caused
32880 early abortion of pc_partition_map_iterate().
32881
32882 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
32883 when hook requests it, independently of grub_errno.
32884 (gpt_partition_map_probe): Do not fail when find_func() caused
32885 early abortion of gpt_partition_map_iterate().
32886
32887 * kern/partition.c (grub_partition_iterate): Abort parent iteration
32888 when hook requests it, independently of grub_errno. Do not fail when
32889 part_map_iterate_hook() caused early abortion of p->iterate().
32890
32891 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
32892 when grub_partition_iterate() returned with non-zero.
32893
277d0de9 328942008-07-03 Pavel Roskin <proski@gnu.org>
32895
32896 * disk/ata.c (grub_ata_pio_write): Check status before writing,
32897 like we do in grub_ata_pio_read().
32898 (grub_ata_readwrite): Always write individual sectors. Fix the
32899 sector count for the remainder.
32900 (grub_ata_write): Enable writing to ATA devices. Correctly
32901 report error for ATAPI devices.
32902
d4c9b428 329032008-07-02 Pavel Roskin <proski@gnu.org>
32904
e43fc690 32905 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
32906 warning.
32907
f707af42 32908 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
32909 for every read sector, we already increment it for the whole
32910 batch. This fixes reading more than 256 sectors at once.
32911
11e16b15 32912 * util/grub-editenv.c (cmd_info): Cast argument to long
32913 explicitly. ptrdiff_t reduces to int on i386.
32914
cbabfdd4 32915 * util/grub-editenv.c (main): Be specific which parameter is
32916 missing.
32917
b8fbce0a 32918 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
32919 (memdisk): Make memdisk_orig_addr a pointer.
32920
c9c8e606 32921 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
32922 for file offsets, use grub_off_t instead. Fix printf format
32923 warnings.
32924
ca62e598 32925 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
32926 there. Real unexpected warnings should not drown in the noise
32927 about known problems.
32928
ce8d1766 32929 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
32930 grub_disk_addr_t for memory addresses.
32931
00c7a56a 32932 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
32933 explicitly to fix a warning.
32934
08d3ef09 32935 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
32936
cb71ba20 32937 * Makefile.in (MODULE_LDFLAGS): New variable.
32938 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
32939 the linker accepts --build-id=none.
32940 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
32941 MODULE_LDFLAGS.
32942 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
32943
d4c9b428 32944 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
32945 those in Linux XFS code. Provide a way to access 64-bit parent
32946 inode.
32947 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
32948 the end of struct grub_xfs_dir_header.
32949
d4156eee 329502008-07-02 Bean <bean123ch@gmail.com>
32951
32952 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
32953 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32954 and GRUB_IEEE1275_FLAG_NO_ANSI.
32955
32956 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
32957 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32958 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
32959
32960 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
32961 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
32962
32963 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
32964 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
32965
32966 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
32967 esc sequence on non ANSI terminal.
32968 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
32969
32970 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
32971 beginning of file.
32972
2270f77b 329732008-07-02 Bean <bean123ch@gmail.com>
32974
32975 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
32976 (grub_editenv_SOURCES): New variable.
32977 (pkglib_MODULES): Add loadenv.mod.
32978 (loadenv_mod_SOURCES): New variable.
32979 (loadenv_mod_CFLAGS): Likewise.
32980 (loadenv_mod_LDFLAGS): Likewise.
32981
32982 * include/grub/envblk.h: New file.
32983
32984 * util/envblk.c: New file.
32985
32986 * util/grub-editenv.c: New file.
32987
32988 * commands/loadenv.c: New file.
32989
0e9e51ec 329902008-07-01 Pavel Roskin <proski@gnu.org>
32991
d89b7634 32992 * include/multiboot2.h (struct multiboot_tag_module): Use char,
32993 not unsigned char. This fixes warnings and is consistent with
32994 other tags.
32995
bf1835b1 32996 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
32997
8222a04b 32998 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
32999
6a42d99d 33000 * term/tparm.c (analyze): Always set *popcount.
33001
10b159d1 33002 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
33003 cast to fix a warning.
33004
b8789f6c 33005 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
33006 cast to suppress a warning.
33007
29d7e38a 33008 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
33009 grub_fshelp_read_file() expects.
33010
f341f669 33011 * fs/fat.c: Fix UUID calculation on big-endian systems. We
33012 write uuid as a 32-bit value in CPU byte order, so declare and
33013 use it as such.
33014
0e9e51ec 33015 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
33016 long if the format specifier expects it.
33017 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
33018 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33019 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
33020 long to fix a warning.
33021 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
33022 grub_dprintf() arguments to fix warnings.
33023
3aefa857 330242008-06-30 Pavel Roskin <proski@gnu.org>
33025
56c7668b 33026 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
33027 install_bsd_part immediately before core.img is embedded or
33028 modified on disk. This fixes core.img verification if core.img
33029 cannot be embedded.
33030
3aefa857 33031 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
33032 core_path to calculate the blocklist.
33033 Patch from Javier Martín <lordhabbit@gmail.com>
33034
5444088d 330352008-06-29 Robert Millan <rmh@aybabtu.com>
33036
33037 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
33038 block to disk block.
33039 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
33040 Patch from Niels Böhm <bitbucket@arcor.de>
33041
674835c8 330422008-06-29 Robert Millan <rmh@aybabtu.com>
33043
33044 * util/update-grub_lib.in (font_path): Search for fonts in
33045 /boot/grub first, which is more likely to be readable (we aren't
33046 deciding where fonts live, just looking for them).
33047
f527dbc8 330482008-06-26 Pavel Roskin <proski@gnu.org>
33049
6c2d8df6 33050 * util/biosdisk.c (read_device_map): Don't leave dead map
33051 entries for devices failing stat() check.
33052
f527dbc8 33053 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
33054 core_path_dev for the core.img path on the target device.
33055
aebe3d13 330562008-06-26 Robert Millan <rmh@aybabtu.com>
33057
33058 * disk/fs_uuid.c: New file.
33059 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
33060 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
33061 (fs_uuid_mod_LDFLAGS): New variables.
33062 * include/grub/disk.h (grub_disk_dev_id): Add
33063 `GRUB_DISK_DEVICE_UUID_ID'.
33064 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
33065 implement iterate().
33066
37aaf354 330672008-06-26 Robert Millan <rmh@aybabtu.com>
33068
33069 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
33070 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
33071 Linux image includes no initrd.
33072
25ff262a 330732008-06-21 Javier Martín <lordhabbit@gmail.com>
33074
33075 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
33076 call to resolve the core image location that effectively appended the
33077 name twice.
33078
76a2bd44 330792008-06-21 Robert Millan <rmh@aybabtu.com>
33080
33081 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
33082 call from here ...
33083
33084 * util/grub.d/10_hurd.in: ... to here ...
33085 * util/grub.d/10_linux.in: ... and here.
33086
650e1c79 330872008-06-19 Robert Millan <rmh@aybabtu.com>
33088
fe987087 33089 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 33090 after it has been set by grub_machine_set_prefix().
33091
6ce63911 330922008-06-19 Robert Millan <rmh@aybabtu.com>
33093
33094 * commands/search.c (search_label, search_fs_uuid, search_file): Print
33095 search result when not saving to variable, not the other way around.
33096 When saving to variable, abort iteration as soon as a match is found.
33097
73940cec 330982008-06-19 Robert Millan <rmh@aybabtu.com>
33099
33100 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
33101 check for partition that provides /boot/grub. Its logic is flawed,
33102 as it prevents prepare_grub_to_access_device() from being called
33103 multiple times.
33104
3c62a39d 331052008-06-19 Robert Millan <rmh@aybabtu.com>
33106
33107 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
33108 "insmod" command directly when abstraction modules are needed,
fe987087 33109 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 33110 since it had already been processed).
33111
47395a42 331122008-06-19 Pavel Roskin <proski@gnu.org>
33113
33114 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33115 changed. This is needed in case GRUB_LIBDIR changes.
33116 * conf/i386-ieee1275.rmk: Likewise.
33117 * conf/i386-linuxbios.rmk: Likewise.
33118 * conf/i386-pc.rmk: Likewise.
33119 * conf/powerpc-ieee1275.rmk: Likewise.
33120
a145ac2d 331212008-06-18 Pavel Roskin <proski@gnu.org>
33122
33123 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33124 kernel_elf_symlist.c to symlist.c for consistency with other
33125 architectures. Update all users.
33126 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33127
7847c51e 331282008-06-18 Robert Millan <rmh@aybabtu.com>
33129
33130 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33131 it in prefix.
33132
33133 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33134 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33135 a RAID device, run setup() for all members independently on whether
33136 LVM abstraction is being used.
33137 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33138 If grub-mkimage has set `*install_dos_part == -2', don't override this
33139 value.
33140 Perform *install_dos_part adjustments independently on whether
33141 we're embedding or not.
33142 Clarify error message when image is too big for embedding.
33143 Remove duplicate *install_dos_part stanza.
33144
b23e5644 331452008-06-17 Robert Millan <rmh@aybabtu.com>
33146
33147 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33148 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33149 variables.
33150 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33151 values in grub_ofconsole_normal_color and
33152 grub_ofconsole_highlight_color (they're not directly related to
33153 background and foreground).
33154 (grub_ofconsole_setcolorstate): Extract background and foreground
33155 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33156
0aac2f79 331572008-06-17 Robert Millan <rmh@aybabtu.com>
33158
33159 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33160 /boot/grub for the check in last commit, not /boot (they could be
33161 different partitions).
33162
3cca7ef3 331632008-06-16 Robert Millan <rmh@aybabtu.com>
33164
33165 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33166 asked to setup access for the same partition that provides /boot,
33167 don't bother using UUIDs since our root already has the value we
33168 want.
33169
347396d8 331702008-06-16 Robert Millan <rmh@aybabtu.com>
33171
33172 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33173 I2O devices.
33174 Patch from Sven Mueller <sven@debian.org>.
33175
991477f8 331762008-06-16 Robert Millan <rmh@aybabtu.com>
33177
33178 * util/update-grub.in: Check for $EUID instead of $UID.
33179 Reported by Vincent Zweije.
33180
d31a32a1 331812008-06-16 Bean <bean123ch@gmail.com>
33182
fe987087 33183 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 33184 (grub_ext2_read_block): Likewise.
33185 (grub_ext2_read_inode): Likewise.
33186 (grub_ext2_mount): Likewise.
33187 (grub_ext2_close): Likewise.
33188 (grub_ext3_get_journal): Removed.
33189
fe987087 33190 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 33191 (grub_reiserfs_read_symlink): Likewise.
33192 (grub_reiserfs_mount): Likewise.
33193 (grub_reiserfs_open): Likewise.
33194 (grub_reiserfs_read): Likewise.
33195 (grub_reiserfs_close): Likewise.
33196 (grub_reiserfs_get_journal): Removed.
33197
33198 * fs/fshelp.c (grub_fshelp_read): Removed.
33199 (grub_fshelp_map_block): Likewise.
33200
33201 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
33202 (grub_fshelp_journal): Likewise.
33203 (grub_fshelp_read): Likewise.
33204 (grub_fshelp_map_block): Likewise.
33205
3540a760 332062008-06-16 Pavel Roskin <proski@gnu.org>
33207
33208 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
33209 floating point anymore.
33210 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
33211
95614c84 332122008-06-15 Pavel Roskin <proski@gnu.org>
33213
33214 * commands/ls.c (grub_ls_list_files): Use integer calculations
33215 for human readable format, avoid floating point use.
33216 * kern/misc.c (grub_ftoa): Remove.
33217 (grub_vsprintf): Remove floating point support.
33218
50465dd6 332192008-06-15 Robert Millan <rmh@aybabtu.com>
33220
fe6b695a 33221 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 33222 devices.
33223 Reported by Max Vozeler.
33224
a9207284 332252008-06-15 Robert Millan <rmh@aybabtu.com>
33226
33227 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
33228 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
33229 skipped later.
33230 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
33231 the beginning of the prefix.
33232
33233 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
33234 It is assumed that if we have a memdisk, grub-mkimage has set
33235 grub_prefix to include the "(memdisk)" drive in it.
33236
a7cbd45a 332372008-06-15 Robert Millan <rmh@aybabtu.com>
33238
33239 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
33240 Initialize keyboard controller after registering the terminal, so that
33241 grub_printf() can be called from grub_keyboard_controller_init().
33242
21cf716a 332432008-06-15 Robert Millan <rmh@aybabtu.com>
33244
33245 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
33246 extent-btree which is written as big endian on disk.
33247 Reported by Alain Greppin <al@chilibi.org>.
33248
23a64d8e 332492008-06-14 Robert Millan <rmh@aybabtu.com>
33250
33251 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
33252 * util/i386/pc/grub-install.in (modules): Likewise.
33253
d687651c 332542008-06-13 Pavel Roskin <proski@gnu.org>
33255
33256 * commands/ls.c (grub_ls_list_files): Fix format warnings.
33257
dfe9ddd4 332582008-06-13 Bean <bean123ch@gmail.com>
33259
33260 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
33261
33262 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
33263
33264 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
33265 to indicate sparse block.
33266
16ae7781 332672008-06-12 Pavel Roskin <proski@gnu.org>
33268
e6d1a308 33269 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
33270 number, grub_fshelp_read() does it for us.
33271
16ae7781 33272 * fs/fshelp.c (grub_fshelp_read): New function. Implement
33273 linear disk read with journal translation.
33274 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
33275 * include/grub/fshelp.h: Declare grub_fshelp_read().
33276
40fd3a2b 332772008-06-09 Pavel Roskin <proski@gnu.org>
33278
33279 * fs/minix.c (grub_minix_mount): Handle error reading
33280 superblock.
33281
f5679726 332822008-06-08 Robert Millan <rmh@aybabtu.com>
33283
33284 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
33285 don't append the RAID prefix afterwards.
33286 Reported by Clint Adams.
33287
ce525529 332882008-06-08 Robert Millan <rmh@aybabtu.com>
33289
33290 Based on description from Pavel:
33291 * kern/disk.c (grub_disk_check_range): Rename to ...
33292 (grub_disk_adjust_range): ... this. Add a comment explaining the
33293 tasks performed by this function.
33294
ad4936a0 332952008-06-08 Robert Millan <rmh@aybabtu.com>
33296
33297 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
33298 `num_serial' (for consistency with other variables).
33299 (struct grub_ntfs_data): Add `uuid' member.
33300 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
33301 (grub_ntfs_uuid): New function.
33302 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
33303
dc20b0f9 333042008-06-07 Pavel Roskin <proski@gnu.org>
33305
33306 * util/biosdisk.c (open_device): Revert last change to the
33307 function, it broke installation. The sector needs to be
33308 different dependent on which device is opened.
33309
c5e3cfba 333102008-06-06 Robert Millan <rmh@aybabtu.com>
33311
33312 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
33313 rest of GRUB, and breakage doesn't happen if its value were modified.
33314
33315 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33316 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
33317 a constant (same value).
33318 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
33319 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
33320
26a1f8c4 333212008-06-06 Robert Millan <rmh@aybabtu.com>
33322
33323 * util/biosdisk.c (open_device): Do not modify sector offset when
33324 accessing a partition. kern/disk.c already handles this for us.
33325
25d6b327 333262008-06-06 Robert Millan <rmh@aybabtu.com>
33327
33328 * util/grub-emu.c (grub_machine_init): Move code in this function from
33329 here ...
33330 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
33331 segfault in case grub_printf() is called).
33332
33333 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
33334 grub_probe. Update all users not to explicitly add it again.
33335 (grub_device): New variable; contains corresponding device for grubdir.
33336 (fs_module, partmap_module, devabstraction_module): Pass
33337 `--device ${grub_device}' to grub_probe to avoid traversing /dev
33338 every time.
33339
9ece62fb 333402008-06-05 Robert Millan <rmh@aybabtu.com>
33341
33342 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
33343 is found, print it (same layout as with labels).
33344
1ad36d37 333452008-06-04 Robert Millan <rmh@aybabtu.com>
33346
33347 * util/biosdisk.c (get_drive): Rename to ...
33348 (find_grub_drive): ... this. Update all users.
33349
33350 (get_os_disk): Rename to ...
33351 (convert_system_partition_to_system_disk): ... this. Update all users.
33352
33353 (find_drive): Rename to ...
33354 (find_system_device): ... this. Update all users.
33355
e6a30859 333562008-06-04 Robert Millan <rmh@aybabtu.com>
33357
33358 * util/biosdisk.c (get_os_disk): Handle IDA devices.
33359 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33360 (make_device_map): Likewise.
33361
00c108a4 333622008-06-01 Robert Millan <rmh@aybabtu.com>
33363
33364 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
33365 before dereferencing it.
33366
33367 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
33368 union with fat12/fat16-specific ones. Add some new fields, including
33369 `num_serial' for both versions.
33370 (struct grub_fat_data): Add `uuid' member.
33371 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
33372 names. Initialize `data->uuid' using `num_serial'.
33373 (grub_fat_uuid): New function.
33374 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
33375
33376 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
33377 (grub_reiserfs_uuid): New function.
33378 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
33379 member.
33380
33381 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
33382 (grub_xfs_uuid): New function.
33383 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
33384
1385c5bb 333852008-06-01 Robert Millan <rmh@aybabtu.com>
33386
33387 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
33388 code that is backward compatible with pre-uuid search command.
33389
c682dfd7 333902008-05-31 Robert Millan <rmh@aybabtu.com>
33391
33392 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
33393 floppies after everything else, to ensure floppy drive isn't accessed
33394 unnecessarily (patch from Bean).
33395
b7db5d47 333962008-05-31 Robert Millan <rmh@aybabtu.com>
33397
33398 * commands/search.c (search_label, search_fs_uuid, search_file): Do
33399 not print device names when we were asked to set a variable.
33400
6e037aa9 334012008-05-31 Robert Millan <rmh@aybabtu.com>
33402
33403 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
33404 using "cursor-on" and "cursor-off" commands (understood at least by
33405 the Open Firmware flavour on OLPC).
33406
41305bc8 334072008-05-31 Michael Gorven <michael@gorven.za.net>
33408
33409 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
33410 on and off sequences.
33411
69ba137e 334122008-05-31 Robert Millan <rmh@aybabtu.com>
33413
33414 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
33415 * util/update-grub.in: Likewise.
33416
520ae21b 334172008-05-30 Pavel Roskin <proski@gnu.org>
33418
33419 * util/biosdisk.c (linux_find_partition): Simplify logic and
33420 make the code more universal. Keep special processing for
33421 devfs, but use a simple rule for all other devices. If the
33422 device ends with a number, append 'p' and the partition number.
33423 Otherwise, append only the partition number.
33424
5786569b 334252008-05-30 Robert Millan <rmh@aybabtu.com>
33426
33427 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
33428 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
33429 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
33430 the `root' parameter to Linux.
33431
51500452 334322008-05-30 Robert Millan <rmh@aybabtu.com>
33433
33434 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
33435 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
33436 --fs_uuid with --fs-uuid.
33437 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
33438 all filesystems support them).
33439
811d3878 334402008-05-30 Robert Millan <rmh@aybabtu.com>
33441
33442 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 33443 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 33444
cab63c95 334452008-05-30 Robert Millan <rmh@aybabtu.com>
33446
33447 * util/grub.d/00_header.in: Remove obsolete comment referencing
33448 convert_system_path_to_grub_path().
33449 * util/update-grub.in: Likewise.
33450 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
33451 (convert_system_path_to_grub_path): Add a warning message explaining
33452 that this function is deprecated. Rely on is_path_readable_by_grub()
33453 for the readability checks.
33454 (font_path): Use is_path_readable_by_grub() for the readability
33455 check rather than convert_system_path_to_grub_path().
33456
972e2f7a 334572008-05-30 Robert Millan <rmh@aybabtu.com>
33458
33459 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
33460 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
33461 converting it first.
33462 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
33463 grub.cfg for access to font file, and afterwards call it again to set
33464 the root device.
33465
62191274 334662008-05-30 Robert Millan <rmh@aybabtu.com>
33467
33468 * commands/search.c (options): Add --fs_uuid option.
33469 (search_fs_uuid): New function.
33470 (grub_cmd_search): Fix --set argument passing.
33471 Use search_fs_uuid() when requested via --fs_uuid.
33472 (grub_search_init): Update help message.
33473 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
33474 and redeclare it as an array of 16-bit words.
33475 (grub_ext2_uuid): New function.
33476 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
33477 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
33478 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
33479 (GRUB_DEVICE_BOOT_UUID): New variables.
33480 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
33481 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
33482 whenever possible.
33483 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
33484 just assume `root' variable has the right value.
33485 * util/grub.d/10_linux.in: Likewise.
33486 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
33487 via PRINT_FS_UUID.
33488 (main): Recognise `-t fs_uuid' argument.
33489
01b73ec8 334902008-05-30 Robert Millan <rmh@aybabtu.com>
33491
33492 * util/biosdisk.c (map): Redefine structure to hold information
33493 about GRUB drive name.
fe6b695a 33494 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 33495 drive names.
33496 (call_hook): Remove.
33497 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
33498 member. Assume drive has partitions.
33499 (grub_util_biosdisk_open): Access device names via `.device' struct
33500 member.
33501 (open_device): Likewise.
33502 (find_drive): Likewise.
33503 (read_device_map): Adjust map[] usage to match the new struct
33504 definition. Don't check for duplicates (still possible, but not cheap
33505 anymore).
33506 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
33507 (make_device_name): Remove assumption of BIOS-like drive names.
33508
22f16596 335092008-05-30 Pavel Roskin <proski@gnu.org>
33510
33511 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
33512 compiling execute.c doesn't need grub_script.tab.h anymore.
33513 (normal/command.c_DEPENDENCIES): Likewise.
33514 (normal/function.c_DEPENDENCIES): Likewise.
33515 * conf/i386-ieee1275.rmk: Likewise.
33516 * conf/i386-linuxbios.rmk: Likewise.
33517 * conf/i386-pc.rmk: Likewise.
33518 * conf/powerpc-ieee1275.rmk: Likewise.
33519 * conf/sparc64-ieee1275.rmk: Likewise.
33520
528ad8f2 335212008-05-29 Pavel Roskin <proski@gnu.org>
33522
d1dff95d 33523 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
33524 when scanning metadata for volume group name.
33525
528ad8f2 33526 * include/grub/script.h: Don't include grub_script.tab.h. It's
33527 a generated file, which may only be included from the files with
33528 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
33529 use union YYSTYPE, as the later allows forward declaration.
33530 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
33531
47248e08 335322008-05-29 Robert Millan <rmh@aybabtu.com>
33533
33534 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
33535 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
33536 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
33537 (grub_console_checkkey): Add grub_dprintf() call to report unknown
33538 scan codes.
33539
ee632529 335402008-05-29 Robert Millan <rmh@aybabtu.com>
33541
33542 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
33543 control key combinations.
33544
eee96e08 335452008-05-29 Robert Millan <rmh@aybabtu.com>
33546
33547 * util/powerpc/ieee1275/grub-install.in: Move from here ...
33548 * util/ieee1275/grub-install.in: ... to here.
33549 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
33550 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
33551 (grub_install_SOURCES): Likewise.
33552
da9a6a94 335532008-05-29 Robert Millan <rmh@aybabtu.com>
33554
33555 * fs/affs.c: Update copyright year.
33556 * fs/ext2.c: Likewise.
33557 * fs/fshelp.c: Likewise.
33558 * fs/hfsplus.c: Likewise.
33559 * fs/ntfs.c: Likewise.
33560 * fs/xfs.c: Likewise.
33561 * include/grub/fshelp.h: Likewise.
33562 * util/grub-mkdevicemap.c: Likewise.
33563
12e65f3a 335642008-05-28 Robert Millan <rmh@aybabtu.com>
33565
33566 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
33567 might need to be fatfs to support some firmware implementations
33568 (e.g. OFW or EFI).
33569
23023641 335702008-05-28 Robert Millan <rmh@aybabtu.com>
33571
33572 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
33573 devices.
33574 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33575 (make_device_map): Likewise.
33576
887d2619 335772008-05-20 Bean <bean123ch@gmail.com>
33578
33579 * fs/fshelp.c (grub_fshelp_map_block): New function.
33580 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
33581 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
33582
33583 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
33584 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
33585 (grub_fshelp_journal): New structure.
33586 (grub_fshelp_map_block): New function prototype.
33587 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
33588 (grub_fshelp_map_block): Likewise.
33589
33590 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
33591 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
33592 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
33593 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
33594 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
33595 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
33596 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
33597 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
33598 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
33599 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
33600 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
33601 (grub_ext2_sblock): New members for journal support.
33602 (grub_ext3_journal_header): New structure.
33603 (grub_ext3_journal_revoke_header): Likewise.
33604 (grub_ext3_journal_block_tag): Likewise.
33605 (grub_ext3_journal_sblock): Likewise.
33606 (grub_fshelp_node): New members logfile and journal.
33607 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
33608 grub_fshelp_map_block to get real block number.
33609 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
33610 number.
33611 (grub_ext2_read_inode): Likewise.
33612 (grub_ext3_get_journal): New function.
33613 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
33614 (grub_ext2_close): Release memory used by journal.
33615
33616 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
33617 (REISERFS_MAGIC_DESC_BLOCK): New macro.
33618 (grub_reiserfs_transaction_header): Renamed to
33619 grub_reiserfs_description_block, replace field data with real_blocks.
33620 (grub_reiserfs_commit_block): New structure.
33621 (grub_reiserfs_data): New member journal.
33622 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
33623 number.
33624 (grub_reiserfs_read_symlink): Likewise.
33625 (grub_reiserfs_iterate_dir): Likewise.
33626 (grub_reiserfs_open): Likewise.
33627 (grub_reiserfs_read): Likewise.
33628 (grub_reiserfs_get_journal): New function.
33629 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
33630 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
33631 using grub_reiserfs_get_journal.
33632 (grub_reiserfs_close): Release memory used by journal.
33633
33634 * fs/affs.c (grub_affs_read_block): Change block type to
33635 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
33636
33637 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
33638
33639 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
33640
33641 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
33642
33643 * fs/udf.c (grub_udf_read_block): Change block type to
33644 grub_disk_addr_t. Use type cast to avoid warning.
33645
33646 * fs/xfs.c (grub_xfs_read_block): Likewise.
33647
b7c6bed5 336482008-05-16 Christian Franke <franke@computer.org>
33649
33650 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
33651 to ensure that break with ESC will always work.
33652 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
33653 Remove ESC from keyboard queue.
33654
eedf167f 336552008-05-16 Christian Franke <franke@computer.org>
33656
33657 * util/biosdisk.c: [__CYGWIN__] Add includes.
33658 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
33659 (get_os_disk): Move variable declarations to OS specific
33660 parts to avoid warning.
33661 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
33662 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
33663 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
33664 Cygwin.
33665 * util/getroot.c: [__CYGWIN__] Add includes.
33666 (strip_extra_slashes): Fix "/" case.
33667 [__CYGWIN__] (get_win32_path): New function.
33668 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
33669 [__CYGWIN__] (find_root_device): Disable.
33670 [__CYGWIN__] (get_bootsec_serial): New function.
33671 [__CYGWIN__] (find_cygwin_root_device): Likewise.
33672 [__linux__] (grub_guess_root_device): Add early returns to simplify
33673 structure.
33674 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
33675 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
33676 check for Linux only.
33677
a079699e 336782008-05-15 Bean <bean123ch@gmail.com>
33679
33680 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
33681 keyboard hang problem in apple's intel mac.
33682
1cf4059a 336832008-05-09 Robert Millan <rmh@aybabtu.com>
33684
33685 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
33686 devices.
33687 * util/grub-mkdevicemap.c (get_virtio_disk_name)
33688 (make_device_map): Likewise.
33689 Reported by Aurelien Jarno <aurel32@debian.org>
33690
ed759390 336912008-05-07 Ian Campbell <ijc@hellion.org.uk>
33692
33693 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
33694 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
33695 (make_device_map): Output entries for xvd type disks.
33696
b56c4eaa 336972008-05-07 Robert Millan <rmh@aybabtu.com>
33698
33699 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
33700 devices.
33701 * util/grub-mkdevicemap.c (get_cciss_disk_name)
33702 (make_device_map): Likewise.
33703 Reported by Roland Dreier <rdreier@cisco.com>
33704
7f8866ed 337052008-05-07 Robert Millan <rmh@aybabtu.com>
33706
33707 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
33708 grub_strstr() call. Correct a few mistakes in failure path handling.
33709
b0346e0f 337102008-05-06 Robert Millan <rmh@aybabtu.com>
33711
33712 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33713 Do not print a trailing slash (therefore, the root directory is an
33714 empty string).
33715 (convert_system_path_to_grub_path): Do not remove trailing slash
33716 from make_system_path_relative_to_its_root() output.
33717
33718 * util/i386/pc/grub-install.in: Add trailing slash to output from
33719 make_system_path_relative_to_its_root().
33720
6cf12cbd 337212008-05-06 Robert Millan <rmh@aybabtu.com>
33722
33723 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
33724 ensures that output lines aren't intermangled with those sent to
33725 stderr (via grub_util_info()).
33726 * util/grub-probe.c (grub_refresh): Likewise.
33727 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
33728
0fbb3117 337292008-05-05 Christian Franke <franke@computer.org>
33730
33731 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
33732 Add Cygwin device names.
33733 (get_ide_disk_name) [__CYGWIN__]: Likewise.
33734 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
33735 (check_device): Return error instead of success on empty name.
33736 (make_device_map): Move label inside linux specific code to
33737 prevent compiler warning.
33738
8124cdb7 337392008-04-30 Robert Millan <rmh@aybabtu.com>
33740
33741 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
33742 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
33743 first boot option.
33744 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
33745
094c01d0 337462008-04-29 Robert Millan <rmh@aybabtu.com>
33747
33748 * docs/grub.cfg: New file (example GRUB configuration).
33749
f4b1fc02 337502008-04-26 Robert Millan <rmh@aybabtu.com>
33751
329ce2a5 33752 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
33753 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
33754 and `disk/ieee1275/nand.c'.
f4b1fc02 33755
25f16ec1 337562008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 33757
25f16ec1 33758 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
33759 i386-linuxbios.
33760
33761 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
33762 change the buffer size to 4096 for cdrom device.
33763
33764 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
33765 and nand.mod.
33766 (_linux_mod_SOURCES): New variable.
33767 (_linux_mod_CFLAGS): Likewise.
33768 (_linux_mod_LDFLAGS): Likewise.
33769 (linux_mod_SOURCES): Likewise.
33770 (linux_mod_CFLAGS): Likewise.
33771 (linux_mod_LDFLAGS): Likewise.
33772 (nand_mod_SOURCES): Likewise.
33773 (nand_mod_CFLAGS): Likewise.
33774 (nand_mod_LDFLAGS): Likewise.
33775
33776 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
33777 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
33778 type property. (nand device in olpc don't have this property)
33779
33780 * include/grub/disk.h (grub_disk_dev_id): New macro
33781 GRUB_DISK_DEVICE_NAND_ID.
33782
33783 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
33784 function prototype.
33785 (grub_rescue_cmd_initrd): Likewise.
33786
33787 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
33788 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
33789 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 33790
25f16ec1 33791 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
33792 GRUB_MACHINE_IEEE1275 is defined.
33793
33794 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
33795 Use NESTED_FUNC_ATTR attribute on the hook parameter.
33796
33797 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
33798 on nested function heap_init.
33799 (grub_upper_mem): New variable for i386-ieee1275.
33800 (grub_get_extended_memory): New function for i386-ieee1275.
33801 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
33802
33803 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
33804 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
33805 property.
f19dbdb7 33806
25f16ec1 33807 * loader/i386/ieee1275/linux.c: New file.
33808
33809 * loader/i386/ieee1275/linux_normal.c: New file.
33810
33811 * disk/ieee1275/nand.c: New file.
33812
e89d61e9 338132008-04-18 Thomas Schwinge <tschwinge@gnu.org>
33814
33815 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
33816 value.
33817 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
33818
602566f6 338192008-04-18 Robert Millan <rmh@aybabtu.com>
33820
33821 Restructures early code path on ieee1275 to unify grub_main() as
33822 the first C function that is executed in every platform.
33823
33824 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
33825 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
33826 cmain().
33827 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
33828 * kern/ieee1275/cmain.c (cmain): Rename to ...
33829 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
33830 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
33831 at the beginning.
33832
57490c2b 338332008-04-18 Robert Millan <rmh@aybabtu.com>
33834
33835 * util/update-grub.in: Fix syntax error when setting
33836 `GRUB_PRELOAD_MODULES'.
33837 Reported by Stephane Chazelas <stephane@artesyncp.com>
33838
1977517d 338392008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
33840
33841 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
33842 section into account, newer toolchains generate unique build ids
33843 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 33844 we want build ids to be preserved
1977517d 33845 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
33846 far from other sections don't cause the raw binary images grow
33847 size
33848
bfb1f1a2 338492008-04-15 Robert Millan <rmh@aybabtu.com>
33850
33851 * disk/lvm.c: Update copyright year.
33852 * kern/misc.c: Likewise.
33853
01979850 338542008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33855
33856 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 33857 there is no memory left for physical volume name.
01979850 33858
0a1150e2 338592008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33860
33861 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
33862 volume name mapping to support bigger than 9 character names properly.
33863
82ead3fe 338642008-04-13 Robert Millan <rmh@aybabtu.com>
33865
33866 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
33867 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
33868
e54a72f5 338692008-04-13 Christian Franke <franke@computer.org>
33870
33871 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
33872 to create a floppy emulation boot CD when non emulation mode
33873 does not work.
33874 Enable Joliet CD filesystem extension.
33875
9fe86034 338762008-04-13 Robert Millan <rmh@aybabtu.com>
33877
33878 * kern/misc.c (grub_strncat): Fix off-by-one error.
33879 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
33880
33881 * kern/env.c (grub_env_context_close): Clear current context, not
33882 previous one.
33883 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
33884
33885 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
33886
7ceeee39 338872008-04-13 Robert Millan <rmh@aybabtu.com>
33888
33889 Improve robustness when handling LVM.
33890
33891 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 33892 (and leave `*p' unmodified).
7ceeee39 33893 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
33894 through it.
33895 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
33896 iterating through it.
33897 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
33898 through it.
fe6b695a 33899 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 33900 when due) on each grub_lvm_getvalue() or grub_strstr() call.
33901 Don't assume `vg->pvs != NULL' when iterating through it.
33902
58cd3d85 339032008-04-13 Robert Millan <rmh@aybabtu.com>
33904
33905 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
33906 * genmk.rb (partmap): New variable.
33907 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
33908 (#{partmap}): New target rule.
33909 * genpartmaplist.sh: New file.
33910 * Makefile.in (pkglib_DATA): Add partmap.lst.
33911 (partmap.lst): New target rule.
33912 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
33913 modules (including all partition maps), instead of preloading them.
33914
78b51059 339152007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
33916
33917 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
33918 `linux-boot-prober' (if installed) to detect other operating
33919 systems which are installed on the computer and add them to
33920 the boot menu.
33921 * conf/common.rmk: Build and install 30_os-prober.
33922
a91627b4 339232008-04-12 Robert Millan <rmh@aybabtu.com>
33924
33925 * kern/powerpc/ieee1275/init.c: Move from here ...
33926 * kern/ieee1275/init.c: ... to here. Update all users.
33927
33928 * kern/powerpc/ieee1275/cmain.c: Move from here ...
33929 * kern/ieee1275/cmain.c: ... to here. Update all users.
33930
33931 * kern/powerpc/ieee1275/openfw.c: Move from here ...
33932 * kern/ieee1275/openfw.c: ... to here. Update all users.
33933
33934 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
33935 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
33936
322562ea 339372008-04-10 Pavel Roskin <proski@gnu.org>
33938
33939 * configure.ac: Always use "_cv_" in cache variables for
33940 compatibility with Autoconf 2.62.
33941
a02a73c5 339422008-04-07 Robert Millan <rmh@aybabtu.com>
33943
33944 Revert grub/machine/init.h addition by Pavel (since it breaks on
33945 i386-ieee1275 and others):
33946 * util/i386/pc/misc.c: Remove grub/machine/init.h.
33947 * util/powerpc/ieee1275/misc.c: Likewise.
33948
25c024b1 339492008-04-07 Robert Millan <rmh@aybabtu.com>
33950
33951 * util/grub-probe.c (probe): Improve error message.
33952
3cbd2f98 339532008-04-07 Robert Millan <rmh@aybabtu.com>
33954
33955 * util/biosdisk.c (read_device_map): Skip devices that don't exist
33956 (this prevents the presence of a bogus entry from ruining the whole
33957 thing).
33958
87a297bf 339592008-04-06 Pavel Roskin <proski@gnu.org>
33960
36747a62 33961 * util/biosdisk.c: Include grub/util/biosdisk.h.
33962 * util/grub-fstest.c (execute_command): Make static.
33963 * util/grub-mkdevicemap.c (check_device): Likewise.
33964 * util/i386/pc/misc.c: Include grub/machine/init.h.
33965 * util/powerpc/ieee1275/misc.c: Likewise.
33966 * util/lvm.c: Include grub/util/lvm.h.
33967 * util/misc.c: Include grub/kernel.h, grub/misc.h and
33968 grub/cache.h.
33969 * util/raid.c: Include grub/util/raid.h.
33970 (grub_util_getdiskname): Make static.
33971
87a297bf 33972 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
33973 grub_hostfs_fini(), as they are called from grub_init_all() and
33974 grub_fini_all() respectively. This fixes an infinite loop in
33975 grub-fstest due to double registration of hostfs.
33976 Reported by Christian Franke <Christian.Franke@t-online.de>
33977
f6ce7629 339782008-04-05 Pavel Roskin <proski@gnu.org>
33979
33980 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
33981 all 8 functions. Otherwise, probe function 0 only.
33982
070e49e4 339832008-04-04 Pavel Roskin <proski@gnu.org>
33984
8b088a4c 33985 * commands/lspci.c (grub_lspci_iter): Print the bus number
33986 correctly.
33987
4f657021 33988 * commands/lspci.c (grub_pci_classes): Fix typos.
33989 (grub_lspci_iter): Don't print func twice. Print vendor ID
33990 before device ID, as it's normally done.
33991
070e49e4 33992 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
33993 Fix signedness warnings.
33994 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
33995 Likewise.
33996 * util/ieee1275/get_disk_name.c: Include config.h so that
33997 _GNU_SOURCE is defined and getline() is declared. Mark an
33998 unused argument as such. Fix a signedness warning.
33999
ba7328dc 340002008-04-02 Pavel Roskin <proski@gnu.org>
34001
26887f22 34002 * genkernsyms.sh.in: Use more robust assignments for CC and
34003 srcdir. Quote srcdir.
34004 * gensymlist.sh.in: Likewise. Assert at the compile time that
34005 the symbol table is not empty.
34006
ba7328dc 34007 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
34008 * fs/cpio.c (grub_cpio_read): Likewise.
34009
0f582c6b 340102008-04-01 Pavel Roskin <proski@gnu.org>
34011
4b6e1995 34012 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
34013 * disk/host.c (grub_host_open): Likewise.
34014 * disk/loopback.c (grub_loopback_open): Likewise.
34015 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
34016 disk->id as in disk/host.c, not a multi-character constant.
34017
828a2768 34018 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
34019 later is obsolete, potentially dangerous and sets a bad example.
34020 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
34021 * util/misc.c (grub_util_get_image_size): Likewise.
34022
2bb4fb47 34023 * disk/loopback.c (options): Improve help for "--partitions".
34024
0f582c6b 34025 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
34026 options to align them with the short options, e.g. "echo -e".
34027
a33224e0 340282008-03-31 Bean <bean123ch@gmail.com>
34029
34030 * video/reader/png.c (grub_png_data): New member is_16bit and
34031 image_data.
34032 (grub_png_decode_image_header): Detect 16 bit png image.
34033 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
34034 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
34035 (grub_video_reader_png): Release memory occupied by image_data.
34036
34037 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
34038 4096 bytes.
34039 (grub_nfs_mount): Skip the test for sector per cluster.
34040
34041 * include/grub/ntfs.h (MAX_SPC): Removed.
34042
86cb4f54 340432008-03-31 Bean <bean123ch@gmail.com>
34044
34045 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
34046 (grub_probe_SOURCES): Add fs/afs.c.
34047 (grub_fstest_SOURCES): Likewise.
34048 (afs_mod_SOURCES): New variable.
34049 (afs_mod_CFLAGS): Likewise.
34050 (afs_mod_LDFLAGS): Likewise.
34051
34052 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
34053 (grub_emu_SOURCES): Likewise.
34054
34055 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34056
34057 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34058
34059 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34060
34061 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34062
34063 * fs/afs.c: New file.
34064
17c74c21 340652008-03-30 Pavel Roskin <proski@gnu.org>
34066
4cb68e89 34067 * disk/host.c: Include grub/misc.h to fix a warning.
34068 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
34069 warnings about implicit declarations.
34070
8790bb04 34071 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
34072 variable.
34073 * include/grub/i386/loader.h: Change declaration of
34074 grub_linux_boot() to match what grub_loader_set() expects.
34075 * util/getroot.c (grub_guess_root_device): Return const char* to
34076 fix a warning.
34077 * util/grub-probe.c (probe): Fix a warning about uninitialized
34078 abstraction_name variable.
34079 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
34080 second argument as unused to fix a warning.
34081
9a3f3296 34082 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
34083 missing grub_error() call.
34084
0ecef90d 34085 * util/update-grub_lib.in: Define datarootdir, since Autoconf
34086 2.60 and newer uses it to define datadir.
34087
0bf6d401 34088 * commands/sleep.c: Fix warning about implicit declaration.
34089 * disk/memdisk.c: Likewise.
34090 * loader/aout.c: Likewise.
34091 * loader/i386/bsd_normal.c: Likewise.
34092 * util/grub-probe.c: Likewise.
34093
7cdacf97 34094 * commands/i386/cpuid.c (has_longmode): Make static.
34095 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
34096 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
34097
17c74c21 34098 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
34099 GDT. This is more robust, as %ds can change.
34100 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
34101 calling real_to_prot().
34102 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
34103
80a3e68b 341042008-03-28 Pavel Roskin <proski@gnu.org>
34105
34106 * kern/i386/pc/startup.S: Assert that uncompressed functions
34107 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
34108 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
34109 code, as they push parts of the code (error handlers) beyond
34110 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34111 code as correctness and size.
34112
77bcd272 341132008-03-28 Pavel Roskin <proski@gnu.org>
34114
34115 * kern/i386/pc/startup.S
34116 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34117 data block address to the real mode, keep offset minimal. This
34118 works around a bug in AWARD BIOS on old Athlon systems, which
34119 makes CD detection hang.
34120
c5dfd43b 341212008-03-26 Pavel Roskin <proski@gnu.org>
34122
34123 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34124 const.
34125 * include/grub/normal.h: Add grub_parse_color_name_pair()
34126 declaration.
34127
bf962df2 341282008-03-24 Bean <bean123ch@gmail.com>
34129
34130 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34131 (cd_count): Removed.
34132 (cd_drive): New variable.
34133 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34134 (grub_biosdisk_call_hook): Likewise.
34135 (grub_biosdisk_iterate): Change cdrom detection method.
34136 (grub_biosdisk_open): Replace cd_start with cd_drive.
34137 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34138 detect cdrom device.
34139
34140 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34141 Removed.
34142 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34143 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34144 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34145 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34146 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34147 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34148 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34149 (grub_biosdisk_cdrp): New structure.
34150 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34151
34152 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34153
34154 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34155 device.
34156
34157 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34158 New function.
34159
68e7fc7a 341602008-03-20 Robert Millan <rmh@aybabtu.com>
34161
34162 Remove 2 TiB limit in ata.mod.
34163 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34164 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34165 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34166 grub_uint64_t instead of grub_uint32_t.
34167
38ad2cf5 341682008-03-05 Bean <bean123ch@gmail.com>
34169
34170 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34171 (grub_multiboot): Set boot device.
34172
34173 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
34174
2b89344e 341752008-03-02 Bean <bean123ch@gmail.com>
34176
34177 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
34178 symlink_buffer.
34179
87a95d1f 341802008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
34181
34182 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
34183 texinfo.tex.
34184
34185 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
34186 modified.
34187
34188 * docs/fdl.texi: New file.
f19dbdb7 34189
87a95d1f 34190 * docs/mdate-sh: New file. Copied from gnulib.
34191 * docs/texinfo.tex: Likewise.
34192
34193 * config.guess: Updated from gnulib.
34194 * install-sh: Likewise.
34195
7dc15d8e 341962008-02-28 Robert Millan <rmh@aybabtu.com>
34197
34198 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
34199 (aout_mod_SOURCES): New variable.
34200 (aout_mod_CFLAGS): Likewise.
34201 (aout_mod_LDFLAGS): Likewise.
34202
34203 * conf/i386-ieee1275.rmk: Likewise.
34204
b00ab696 342052008-02-28 Robert Millan <rmh@aybabtu.com>
34206
34207 * util/update-grub.in: Reorganise terminal validity check. Accept
34208 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
34209 Based on suggestion by Franklin PIAT.
34210
79ca2d78 342112008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
34212
34213 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
34214 function.
34215 * util/getroot.c (grub_util_check_block_device): New function that
34216 returns the given argument if it is a block device and returns NULL else.
34217 * util/grub-probe.c (argument_is_device): New variable.
34218 (probe): Promote device_name from a variable to an argument. Receive
34219 device_name from grub_util_check_block_device() if path is NULL and from
34220 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 34221 (options): Introduce new parameter '-d, --device'.
79ca2d78 34222 (main): Add description of the new parameter to the help screen.
34223 Rename path variable to argument. Set argument_is_device if the '-d'
34224 option is given. Pass argument to probe() depending on
34225 argument_is_device.
34226
0d16e571 342272008-02-24 Bean <bean123ch@gmail.com>
34228
34229 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
34230 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
34231 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
34232 (GRUB_ISO9660_VOLDESC_PART): Likewise.
34233 (GRUB_ISO9660_VOLDESC_END): Likewise.
34234 (grub_iso9660_primary_voldesc): New member escape.
34235 (grub_iso9660_data): New member joliet.
34236 (grub_iso9660_convert_string): New function.
34237 (grub_iso9660_mount): Detect joliet extension.
34238 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
34239 (grub_iso9660_iso9660_label): Likewise.
34240
34241 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
34242 (grub_setup_SOURCES): Add fs/udf.c.
34243 (grub_fstest_SOURCES): Likewise.
34244 (udf_mod_SOURCES): New variable.
34245 (udf_mod_CFLAGS): Likewise.
34246 (udf_mod_LDFLAGS): Likewise.
34247
34248 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
34249 (grub_emu_SOURCES): Likewise.
34250
34251 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34252
34253 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34254
34255 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34256
34257 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34258
34259 * fs/udf.c: New file.
34260
8a594a17 342612008-02-24 Robert Millan <rmh@aybabtu.com>
34262
34263 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
34264 (normal/lexer.c_DEPENDENCIES): New variables.
34265 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34266 (normal/lexer.c_DEPENDENCIES): Likewise.
34267 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
34268 (normal/lexer.c_DEPENDENCIES): Likewise.
34269 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
34270 (normal/lexer.c_DEPENDENCIES): Likewise.
34271 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34272 (normal/lexer.c_DEPENDENCIES): Likewise.
34273 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34274 (normal/lexer.c_DEPENDENCIES): Likewise.
34275
2dc33c03 342762008-02-23 Robert Millan <rmh@aybabtu.com>
34277
34278 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
34279 since they were intended to be in hex. This didn't break previously
34280 because of a bug in gpt_partition_map_iterate() (see below).
34281
34282 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
34283 when checking the validity of GPT header.
34284 Remove `partno', since it always provides the same information as `i'.
34285
f6f4cfb0 342862008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
34287
34288 * include/grub/efi/time.h: Fix a wrong comment.
34289
79ff665f 342902008-02-19 Pavel Roskin <proski@gnu.org>
34291
34292 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
34293 message.
34294
d38e24c2 342952008-02-19 Bean <bean123ch@gmail.com>
34296
34297 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
34298 (aout_mod_SOURCES): New variable.
34299 (aout_mod_CFLAGS): Likewise.
34300 (aout_mod_LDFLAGS): Likewise.
34301 (_bsd_mod_SOURCES): New variable.
34302 (_bsd_mod_CFLAGS): Likewise.
34303 (_bsd_mod_LDFLAGS): Likewise.
34304 (bsd_mod_SOURCES): New variable.
34305 (bsd_mod_CFLAGS): Likewise.
34306 (bsd_mod_LDFLAGS): Likewise.
34307
34308 * include/grub/aout.h: New file.
34309
34310 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
34311
34312 * include/grub/i386/bsd.h: New file.
34313
34314 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
34315 to make it public.
34316
34317 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
34318 function is called, so that it's possible to change it inside the hook.
34319 (grub_elf64_load): Likewise.
34320 (grub_elf_file): Don't close the file if elf header is not found.
34321 (grub_elf_close): Close the file if grub_elf_file fails (The new
34322 grub_elf_file won't close it).
34323 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
34324 (grub_elf64_size): Likewise.
34325
34326 * kern/i386/loader.S (grub_unix_real_boot): New function.
34327
34328 * loader/aout.c: New file.
34329
34330 * loader/i386/bsd.c: New file.
34331
34332 * loader/i386/bsd_normal.c: New file.
34333
34334 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
34335
34336 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 34337 can test other formats.
d38e24c2 34338
b93bdb0f 343392008-02-19 Robert Millan <rmh@aybabtu.com>
34340
34341 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
34342 (grub_gpt_partition_type_empty): Redefine with macro from
34343 `<grub/gpt_partition.h>'.
34344 (gpt_partition_map_iterate): Adjust partition type comparison.
34345
34346 Export `entry' as partmap-specific `part.data' struct.
34347 (grub_gpt_header, grub_gpt_partentry): Move from here ...
34348
34349 * include/grub/gpt_partition.h (grub_gpt_header)
34350 (grub_gpt_partentry): ... to here (new file).
34351
34352 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
34353
34354 (grub_gpt_partition_type_bios_boot): New const variable, defined
34355 with macro from `<grub/gpt_partition.h>'.
34356
34357 (setup): Replace `first_start' with `embed_region', which keeps
34358 track of the embed region (and is partmap-agnostic).
34359
34360 Replace find_first_partition_start() with find_usable_region(),
34361 which finds a usable region for embedding using partmap-specific
34362 knowledge (supports PC/MSDOS and GPT).
34363
34364 Fix all assumptions that the embed region start at sector 1, using
34365 `embed_region.start' from now on. Similarly, use `embed_region.end'
34366 rather than `first_start' to calculate available size.
34367
34368 In grub_util_info() message, replace "into after the MBR" with an
34369 indication of the specific sector our embed region starts at.
34370
66cb40f6 343712008-02-19 Robert Millan <rmh@aybabtu.com>
34372
34373 * DISTLIST: Replace `commands/ieee1275/halt.c' and
34374 `commands/ieee1275/reboot.c' with `commands/halt.c' and
34375 `commands/reboot.c'.
34376 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34377 (halt_mod_SOURCES): Likewise.
34378 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34379 (halt_mod_SOURCES): Likewise.
34380
b7202015 343812008-02-17 Christian Franke <franke@computer.org>
34382
34383 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
34384
32b0fc49 343852008-02-17 Robert Millan <rmh@aybabtu.com>
34386
34387 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34388 set `first_start' to 0 for non-PC/MSDOS partition maps.
34389
aca63502 343902008-02-16 Robert Millan <rmh@aybabtu.com>
34391
34392 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34393 do not assume partition map is PC/MSDOS before performing checks that
34394 are specific to that layout.
34395
0de8be86 343962008-02-13 Robert Millan <rmh@aybabtu.com>
34397
34398 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
34399 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
34400 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
34401
c3db8364 344022008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
34403
34404 * configure.ac: Only a cosmetic change on the handling of
34405 -fno-stack-protector.
34406
f714229e 344072008-02-12 Alexandre Boeglin <alex@boeglin.org>
34408
c3db8364 34409 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
34410 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
34411 reboot.c.
f714229e 34412 (grub_install_SOURCES): Add halt.mod and reboot.mod.
34413 (halt_mod_SOURCES): New variable.
34414 (halt_mod_CFLAGS): Likewise.
34415 (halt_mod_LDFLAGS): Likewise.
34416 (reboot_mod_SOURCES): Likewise.
34417 (reboot_mod_CFLAGS): Likewise.
34418 (reboot_mod_LDFLAGS): Likewise.
34419
c3db8364 34420 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
34421 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
34422 reboot.c.
f714229e 34423 (halt_mod_SOURCES): Likewise.
34424 (reboot_mod_SOURCES): Likewise.
34425
c3db8364 34426 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
34427 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 34428 (reboot_mod_SOURCES): Likewise.
34429
34430 * commands/i386/pc/reboot.c: merge this file ...
34431
34432 * commands/ieee1275/reboot.c: ... and this file ...
34433
34434 * commands/reboot.c: ... to this file.
c3db8364 34435 Add some precompiler directive to include the correct header for
34436 each machine.
f714229e 34437
34438 * commands/ieee1275/halt.c: move this file ...
34439
34440 * commands/halt.c: ... to here.
c3db8364 34441 Add some precompiler directive to include the correct header for
34442 each machine.
f714229e 34443
34444 * include/grub/efi/efi.h (grub_reboot): New function declaration.
34445 (grub_halt): Likewise.
34446
34447 * kern/efi/efi.c (grub_reboot): New function.
34448 (grub_halt): Likewise.
34449
c74493e0 344502008-02-12 Robert Millan <rmh@aybabtu.com>
34451
34452 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
34453 /dev (like it is done for /dev/mapper). This doesn't provide support
34454 for EVMS, but at least it is now easy to identify the problem when it
34455 arises.
34456
d0db4b04 344572008-02-11 Robert Millan <rmh@aybabtu.com>
34458
34459 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
34460 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
34461 comparing it with -1, not 0.
34462
bf748642 344632008-02-10 Robert Millan <rmh@aybabtu.com>
34464
34465 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
34466 `disk/lvm.c'.
34467 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34468 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34469
34470 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
34471 `disk/lvm.c' to the end of the list.
34472 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34473 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34474
b5db202a 344752008-02-10 Robert Millan <rmh@aybabtu.com>
34476
34477 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
34478 grub_print_error() instead. This will let user know why we're entering
34479 rescue mode.
34480 Based on suggestions from Sam Morris.
34481
83abee31 344822008-02-10 Alexandre Boeglin <alex@boeglin.org>
34483
34484 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
34485 on remaining N args, instead of "--" arg N times.
34486
78d5a08b 344872008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
34488
34489 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
34490 (fill_with_default_glyph): Changed to use unknown_glyph for fill
34491 pattern for unknown glyphs.
34492
68807e5f 344932008-02-09 Robert Millan <rmh@aybabtu.com>
34494
34495 * configure.ac: Probe for `help2man'.
34496 * Makefile.in (builddir): New variable.
34497 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
34498 or otherwise add a few flags/options to it.
34499 (install-local): For every executable utility or script that is
34500 installed, invoke $(HELP2MAN) to install a manpage based on --help
34501 output.
34502
34503 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
34504 that it doesn't prevent --help from working in build tree.
34505
34506 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
34507 with `bug-grub@gnu.org'.
34508 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
34509 * util/update-grub.in (usage): New function.
34510 Implement proper argument check, with support for --help and --version
34511 (as well as existing -y).
34512
345132008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 34514
34515 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
34516 avoid overwriting previous output.
34517 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
34518
c1962162 345192008-02-09 Robert Millan <rmh@aybabtu.com>
34520
34521 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
34522 drawing the menu.
34523
3dac2e3f 345242008-02-09 Robert Millan <rmh@aybabtu.com>
34525
34526 * commands/sleep.c: New file.
34527 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
34528 (sleep_mod_SOURCES): New variable.
34529 (sleep_mod_CFLAGS): Likewise.
34530 (sleep_mod_LDFLAGS): Likewise.
34531
7a634e08 345322008-02-09 Robert Millan <rmh@aybabtu.com>
34533
34534 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
34535 situations in which we can deduce the RAID size and the superblock
34536 doesn't match it.
34537
b92f0c18 345382008-02-09 Robert Millan <rmh@aybabtu.com>
34539
34540 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
34541 and return a grub_diskmemberlist_t composed of LVM physical volumes.
34542 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
34543
34544 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
34545 and return a grub_diskmemberlist_t composed of physical array members.
34546 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
34547
34548 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
34549 prototype.
34550 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
34551 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
34552 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
34553
34554 * util/grub-probe.c (probe): Move partmap probing code from here ...
34555 (probe_partmap): ... to here.
34556 (probe): Use probe_partmap() once for the disk we're probing, and
34557 additionally, when such disk contains a memberlist() struct member,
34558 once for each disk that is contained in the structure returned by
34559 memberlist().
34560
91a4bf68 345612008-02-09 Robert Millan <rmh@aybabtu.com>
34562
34563 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
34564 environment variable to 'all' in order to obtain debug output from
34565 non-util/ code.
34566 * util/i386/pc/grub-setup.c (main): Likewise.
34567
a96f9caa 345682008-02-08 Robert Millan <rmh@aybabtu.com>
34569
34570 * disk/raid.c (grub_raid_scan_device): Check for
34571 `array->device[sb.this_disk.number]' rather than for
34572 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 34573 guaranteed to be accessible.
a96f9caa 34574
b37a9222 345752008-02-08 Robert Millan <rmh@aybabtu.com>
34576
34577 * disk/raid.c: Update copyright.
34578 * fs/cpio.c: Likewise.
34579 * include/grub/raid.h: Likewise.
34580 * loader/i386/pc/multiboot.c: Likewise.
34581 * util/hostfs.c: Likewise.
34582
5626aee1 345832008-02-08 Robert Millan <rmh@aybabtu.com>
34584
34585 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
34586 to a grub_disk_t array.
34587 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
34588 `device[x]'.
34589 (grub_raid_scan_device): Replace `device[x].name' accesses with
34590 `device[x]->name'. Simplify initialization of `array->device[x]'.
34591
554f0187 345922008-02-08 Robert Millan <rmh@aybabtu.com>
34593
34594 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
34595 grub_dprintf() calls.
34596 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
34597 error message.
34598
1ec8425d 345992008-02-07 Christian Franke <franke@computer.org>
34600
34601 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
34602 instead of fseek and ftell to support large files.
34603 (grub_hostfs_read): Likewise.
34604
f2156fda 346052008-02-07 Robert Millan <rmh@aybabtu.com>
34606
34607 Patch from Jeroen Dekkers.
34608 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 34609 failure, since successfully reading all array members might not be
f2156fda 34610 required.
34611
9216e0e7 346122008-02-06 Robert Millan <rmh@aybabtu.com>
34613
34614 * util/grub-probe.c (probe): Simplify partmap probing (with the
34615 assumption that the first word up to the underscore equals to
34616 the module name).
34617
b0dfd29a 346182008-02-06 Christian Franke <franke@computer.org>
34619
34620 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
34621 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
34622 last block of a cpio or tar stream.
34623 Check for "TRAILER!!!" instead of any empty data
34624 block to detect last block of a cpio stream.
34625 (grub_cpio_dir): Fix constness of variable np.
34626 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
34627 cpio or tar trailer is detected. This fixes a crash
34628 on open of a non existing file.
34629
c32865bf 346302008-02-05 Bean <bean123ch@gmail.com>
34631
34632 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
34633 address of entry.
34634 (grub_multiboot_load_elf64): Likewise.
34635 (grub_multiboot): Initialize mbi structure.
34636
34637 * util/grub-fstest.c: Don't include unused header file script.h.
34638
fe6b695a 34639 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 34640 of file.
34641 (grub_fstest_SOURCES): Likewise.
34642
409480b7 346432008-02-05 Robert Millan <rmh@aybabtu.com>
34644
34645 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
34646 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
34647 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
34648 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
34649
34650 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
34651 (translation_table): Replace hardcoded values with macros
34652 provided by `<grub/term.h>'.
34653
34654 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
34655 (keyboard_map): Correct/add a few values, with macros provided
34656 by `<grub/term.h>'.
34657 (keyboard_map_shift): Zero values that don't differ from their
34658 `keyboard_map' equivalents.
34659 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
34660 Discard the second scan code that is always sent by Caps lock.
34661 Only use `keyboard_map_shift' when it provides a non-zero value,
34662 otherwise fallback to `keyboard_map'.
34663
99fadbaa 346642008-02-04 Bean <bean123ch@gmail.com>
34665
34666 * Makefile.in (enable_grub_fstest): New variable.
34667
34668 * conf/common.rmk (grub_fstest_init.lst): New rule.
34669 (grub_fstest_init.h): Likewise.
34670 (grub_fstest_init.c): Likewise.
34671 (util/grub-fstest.c_DEPENDENCIES): New variable.
34672 (grub_fstest_SOURCES): Likewise.
34673
34674 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
34675
34676 * util/grub-fstest.c: New file.
34677
bf567c50 346782008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34679
34680 Make grub-setup handle a separate root device.
f19dbdb7 34681
bf567c50 34682 * util/i386/pc/grub-setup.c (setup): Always open the root device,
34683 so that the root device can be compared with the destination
34684 device.
34685 When embedding the core image, if the root and destination devices
34686 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
34687 0xFF.
34688 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 34689
9be6b98b 346902008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34691
34692 Add support for having a grub directory in a different drive. This
34693 is still only the data handling part.
f19dbdb7 34694
9be6b98b 34695 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
34696 (codestart): Save %dh in GRUB_ROOT_DRIVE.
34697 (grub_root_drive): New variable.
34698
34699 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
34700 instead of GRUB_BOOT_DRIVE to construct a device name. Set
34701 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
34702 as it was.
34703
34704 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
34705
34706 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
34707 macro.
34708 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
34709
34710 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
34711 is bogus, because PXE booting does not specify any drive
34712 correctly.
34713
34714 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
34715 am not sure if this is really correct.
34716
34717 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
34718 is always identical to the boot drive when booting from a CD.
34719
34720 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
34721 longer.
34722 (root_drive): New variable.
34723 (real_start): Unconditionally set %dh to ROOT_DRIVE.
34724 (setup_sectors): Push %dx right after popping it, because %dh will
34725 be modified later.
34726 (copy_buffer): Restore %dx.
34727
e0ca0677 347282008-02-03 Robert Millan <rmh@aybabtu.com>
34729
34730 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
34731 use `cdboot.img' for cdrom images.
34732
3b3f6629 347332008-02-03 Robert Millan <rmh@aybabtu.com>
34734
34735 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
34736 only setup gfxterm when `font' command has succeeded.
34737
d42b3672 347382008-02-03 Robert Millan <rmh@aybabtu.com>
34739
34740 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
34741 (grub_rescue_cmd_multiboot_loader)
34742 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
34743
fa370ea6 347442008-02-03 Pavel Roskin <proski@gnu.org>
34745
e0c5dacb 34746 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 34747 %edx and %esi from stack only after grub_gate_a20() is called.
34748 grub_gate_a20() clobbers %edx.
34749
f2a76e1d 347502008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34751
34752 * configure.ac (AC_INIT): Bumped to 1.96.
34753
34754 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
34755 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
34756 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
34757 video/readers/png.c.
34758
90fd32d1 347592008-02-03 Bean <bean123ch@gmail.com>
9be665dd 34760
34761 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
34762 (cdboot_img_SOURCES): New variable.
34763 (cdboot_img_ASFLAGS): New variable.
34764 (cdboot_img_LDFLAGS): New variable.
34765
34766 * boot/i386/pc/cdboot.S: New file.
34767
34768 * disk/i386/pc/biosdisk.c (cd_start): New variable.
34769 (cd_count): Likewise.
34770 (grub_biosdisk_get_drive): Add support for cd device.
34771 (grub_biosdisk_call_hook): Likewise.
34772 (grub_biosdisk_iterate): Likewise.
34773 (grub_biosdisk_open): Likewise.
34774 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
34775 (grub_biosdisk_rw): Support reading from cd device.
34776 (GRUB_MOD_INIT): Iterate cd devices.
34777
34778 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
34779 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
34780 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
34781
34782 * kern/i386/pc/init.c (make_install_device): Check for cd device.
34783
4020aa53 347842008-02-02 Robert Millan <rmh@aybabtu.com>
34785
34786 * commands/read.c: New file.
34787 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
34788 (read_mod_SOURCES): New variable.
34789 (read_mod_CFLAGS): Likewise.
34790 (read_mod_LDFLAGS): Likewise.
34791
e03a1132 347922008-02-02 Robert Millan <rmh@aybabtu.com>
34793
34794 * normal/main.c (grub_normal_execute): Check for `menu->size' when
34795 determining whether menu has to be displayed.
34796
58c69220 347972008-02-02 Marco Gerards <marco@gnu.org>
34798
34799 * bus/pci.c: New file.
34800
34801 * include/grub/pci.h: Likewise.
34802
34803 * include/grub/i386/pc/pci.h: Likewise.
34804
34805 * commands/lspci.c: Likewise.
34806
34807 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
34808 `lspci.mod'.
34809 (pci_mod_SOURCES): New variable.
34810 (pci_mod_CFLAGS): Likewise.
34811 (pci_mod_LDFLAGS): Likewise.
34812 (lspci_mod_SOURCES): Likewise.
34813 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 34814 (lspci_mod_LDFLAGS): Likewise.
58c69220 34815
c004e1b4 348162008-02-02 Bean <bean123ch@gmail.com>
34817
34818 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
34819 (grub_ufs_get_file_block): Fix indirect block calculation problem.
34820
34821 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
34822 (grub_xfs_btree_node): New structure.
34823 (grub_xfs_btree_root): New structure.
34824 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
34825 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
34826 (GRUB_XFS_EXTENT_BLOCK): Likewise.
34827 (GRUB_XFS_EXTENT_SIZE): Likewise.
34828 (grub_xfs_read_block): Support btree format type.
34829 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
34830 Use directory block as basic unit.
34831
34832 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
34833
34834 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
34835 __attribute__ ((__regparm__ (1))).
34836
f95562bf 348372008-02-01 Robert Millan <rmh@aybabtu.com>
34838
34839 Correct a mistake in previous commit.
34840
34841 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
34842 top.
34843 (normal/command.c_DEPENDENCIES): New variable.
34844
7d31f41f 348452008-02-01 Robert Millan <rmh@aybabtu.com>
34846
34847 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
34848 top.
34849 (normal/command.c_DEPENDENCIES): New variable.
34850 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
34851 * conf/i386-ieee1275.rmk: Likewise.
34852 * conf/i386-linuxbios.rmk: Likewise.
34853 * conf/i386-pc.rmk: Likewise.
34854 * conf/sparc64-ieee1275.rmk: Likewise.
34855 * conf/powerpc-ieee1275.rmk: Likewise.
34856 (grub_emu_SOURCES): Add `fs/fshelp.c'.
34857
34858 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
34859
60b6be74 348602008-02-01 Robert Millan <rmh@aybabtu.com>
34861
34862 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
34863 call at beginning of function.
34864
078522ab 348652008-01-31 Pavel Roskin <proski@gnu.org>
34866
34867 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 34868 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
34869 (grub_mkrescue_SOURCES): Likewise.
078522ab 34870 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
34871
ccaa8a5f 348722008-01-30 Robert Millan <rmh@aybabtu.com>
34873
34874 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
34875 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
34876 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
34877 (grub_probe_SOURCES): ... to here.
34878
34879 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
34880 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
34881 * conf/i386-ieee1275.rmk: Likewise.
34882 * conf/i386-linuxbios.rmk: Likewise.
34883 * conf/powerpc-ieee1275.rmk: Likewise.
34884
ae5a9cd7 348852008-01-30 Tristan Gingold <gingold@free.fr>
34886
34887 * kern/rescue.c: Silently accept empty lines.
34888
70bc2ef2 348892008-01-29 Bean <bean123ch@gmail.com>
34890
34891 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
34892 (real_code_2): Code cleanup and change comment style.
34893 (move_memory): Avoid using 32-bit address mode.
34894
6a4d50ea 348952008-01-29 Bean <bean123ch@gmail.com>
34896
34897 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
34898 (png_mod_SOURCES): New variable.
34899 (png_mod_CFLAGS): Likewise.
34900 (png_mod_LDFLAGS): Likewise.
34901
34902 * video/readers/png.c: New file.
34903
11cc30ac 349042008-01-28 Robert Millan <rmh@aybabtu.com>
34905
34906 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
34907 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
34908 `ifndef GRUB_MOD_GAP' hack.
34909 * util/elf/grub-mkimage.c (add_segments): Likewise.
34910
3abc589f 349112008-01-27 Robert Millan <rmh@aybabtu.com>
34912
34913 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
34914 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 34915 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 34916
e1907778 349172008-01-27 Robert Millan <rmh@aybabtu.com>
34918
34919 Get grub-emu to build again (including parallel builds).
34920
34921 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
34922 Split into ...
34923 (util/grub-emu.c_DEPENDENCIES): ... this, ...
34924 (normal/execute.c_DEPENDENCIES): ... this, ...
34925 (grub-emu_DEPENDENCIES): ... and this.
34926
34927 * conf/i386-efi.rmk: Likewise.
34928 * conf/i386-linuxbios.rmk: Likewise.
34929 * conf/i386-ieee1275.rmk: Likewise.
34930 * conf/powerpc-ieee1275.rmk: Likewise.
34931 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
34932
2216b101 349332008-01-27 Robert Millan <rmh@aybabtu.com>
34934
34935 * NEWS: Add a few items.
34936
f75172d9 349372008-01-27 Robert Millan <rmh@aybabtu.com>
34938
34939 Fix parallel builds with grub-emu. Based on earlier commit for
34940 grub-probe and grub-setup.
34941
34942 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34943 (util/grub-emu.c_DEPENDENCIES): ... this.
34944 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34945 (util/grub-emu.c_DEPENDENCIES): ... this.
34946 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34947 (util/grub-emu.c_DEPENDENCIES): ... this.
34948 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34949 (util/grub-emu.c_DEPENDENCIES): ... this.
34950 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34951 (util/grub-emu.c_DEPENDENCIES): ... this.
34952
3f51de77 349532008-01-27 Pavel Roskin <proski@gnu.org>
34954
34955 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
34956 to create a gap between _end and the modules added to the image
34957 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
34958 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
34959 * util/elf/grub-mkimage.c (add_segments): Likewise.
34960
2033f53e 349612008-01-26 Pavel Roskin <proski@gnu.org>
34962
34963 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
34964 just return an error.
34965
22da1f6f 349662008-01-26 Bean <bean123ch@gmail.com>
34967
34968 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
34969 (grub_reiserfs_get_item): Save offset of the next item.
34970 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
34971
2a9525e6 349722008-01-25 Robert Millan <rmh@aybabtu.com>
34973
34974 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
34975 make all filesystem sources appear together (possibly fixing omissions
34976 while at it).
34977 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34978 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34979 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34981
34982 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
34983 add `kern/file.c'.
34984 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
34985 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34986 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
34987 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34988
34989 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
34990 (probe): Add a sanity check to make sure of our ability to read
34991 requested files when probing for filesystem type.
34992
34993 * genmk.rb: Update copyright year (2007).
34994
34995 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
34996 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
34997 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
34998 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
34999 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
35000 : Remove function prototypes.
35001
b95f71b5 350022008-01-25 Robert Millan <rmh@aybabtu.com>
35003
35004 Revert my previous commits (based on wrong assumption of how grub_errno
35005 works).
35006
fe6b695a 35007 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 35008 * kern/file.c (grub_file_open): Likewise.
35009
d08bbb49 350102008-01-24 Pavel Roskin <proski@gnu.org>
35011
35012 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
35013 that hang if GRUB tries to setup colors.
35014 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
35015 colors for firmwares that don't support it.
35016 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
35017 Recognize Open Hack'Ware, set flags to work around its
35018 limitations.
35019
605e36ed 350202008-01-24 Robert Millan <rmh@aybabtu.com>
35021
35022 * kern/file.c (grub_file_open): Do not account previous failures of
35023 unrelated functions when grub_errno is checked for.
35024 Reported by Oleg Strikov.
35025
bac332a1 350262008-01-24 Bean <bean123ch@gmail.com>
35027
35028 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
35029 (grub_ufs_sblock): New member volume name.
35030 (grub_ufs_find_file): Fix string copy bug.
35031 (grub_ufs_label): Implement this function properly.
35032
35033 * fs/hfs.c (grub_hfs_cnid_type): New enum.
35034 (grub_hfs_iterate_records): Use the correct file number for extents
35035 and catalog file. Fix problem in next index calculation.
35036 (grub_hfs_find_node): Replace recursive function call with loop.
35037 (grub_hfs_iterate_dir): Replace recursive function call with loop.
35038
15c80c09 350392008-01-23 Robert Millan <rmh@aybabtu.com>
35040
35041 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
35042 `<grub/symbol.h>' and `<grub/multiboot.h>'.
35043 (grub_multiboot2_real_boot): New function prototype.
35044
35045 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
35046 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
35047
35048 * kern/i386/ieee1275/init.c (grub_os_area_addr)
35049 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
35050
305338fd 350512008-01-23 Robert Millan <rmh@aybabtu.com>
35052
35053 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
35054 #ifdef'ed out grub_printf().
35055
3ea52685 350562008-01-23 Robert Millan <rmh@aybabtu.com>
35057
35058 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
35059 grub_dprintf calls, since they make "debug=all" mode unusable.
35060 (grub_console_checkkey): Likewise.
35061
5882ae4b 350622008-01-23 Robert Millan <rmh@aybabtu.com>
35063
35064 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35065 `term/i386/pc/at_keyboard.c'.
35066 (pkglib_MODULES): Add `serial.mod'.
35067 (serial_mod_SOURCES): New variable.
35068 (serial_mod_CFLAGS): Likewise.
35069 (serial_mod_LDFLAGS): Likewise.
35070
35071 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
35072 `<grub/powerpc/ieee1275/console.h>'.
35073 (grub_keyboard_controller_init): New function prototype.
35074 (grub_console_checkkey): Likewise.
35075 (grub_console_getkey): Likewise.
35076
35077 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
35078 keyboard on i386.
35079
35080 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
35081 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
35082
06ab5303 350832008-01-23 Robert Millan <rmh@aybabtu.com>
35084
35085 * kern/i386/pc/init.c (make_install_device): When memdisk image is
35086 present, "(memdisk)/boot/grub" becomes the default prefix.
35087
35088 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
35089 a memdisk tarball with all the modules. Add --overlay=DIR option that
35090 allows users to overlay additional files into the image.
35091
dbb475a4 350922008-01-23 Robert Millan <rmh@aybabtu.com>
35093
35094 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
35095 and `machine/memory.h'.
35096 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
35097 (_multiboot_mod_SOURCES): New variable.
35098 (_multiboot_mod_CFLAGS): Likewise.
35099 (_multiboot_mod_LDFLAGS): Likewise.
35100 (multiboot_mod_SOURCES): Likewise.
35101 (multiboot_mod_CFLAGS): Likewise.
35102 (multiboot_mod_LDFLAGS): Likewise.
35103
35104 * include/grub/i386/ieee1275/loader.h: New file.
35105
35106 * include/grub/i386/ieee1275/machine.h: Likewise.
35107
35108 * include/grub/i386/ieee1275/memory.h: Likewise.
35109
35110 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35111 variable declaration.
35112 (grub_os_area_size): Likewise.
35113
35114 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35115 (grub_lower_mem, grub_upper_mem): New variables.
35116 (grub_stop_floppy): New function (just to make
35117 grub_multiboot2_real_boot() happy).
35118
35119 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35120 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35121 (grub_stop): New function.
35122 Include `"../realmode.S"' and `"../loader.S"'.
35123
35124 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35125 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35126
35127 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35128 rely on grub_multiboot2_real_boot() for final boot.
35129
25638629 351302008-01-22 Robert Millan <rmh@aybabtu.com>
35131
35132 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35133 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35134 device that doesn't look like an SD card.
35135 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35136 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35137 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35138 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35139 found.
35140
9dad816d 351412008-01-22 Robert Millan <rmh@aybabtu.com>
35142
35143 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35144 avoid claiming over our own code.
35145
34842f2d 351462008-01-22 Bean <bean123ch@gmail.com>
35147
35148 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35149 (jpeg_mod_SOURCES): New variable.
35150 (jpeg_mod_CFLAGS): Likewise.
35151 (jpeg_mod_LDFLAGS): Likewise.
35152
35153 * video/readers/jpeg.c : New file.
35154
44023a28 351552008-01-22 Bean <bean123ch@gmail.com>
35156
35157 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35158 there are no more items.
35159
bc2d8ac6 351602008-01-21 Robert Millan <rmh@aybabtu.com>
35161
35162 * kern/mm.c (grub_mm_init_region): Improve debug message.
35163
261bd4bc 351642008-01-21 Robert Millan <rmh@aybabtu.com>
35165
35166 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35167 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35168 address.
35169 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35170 a C macro.
35171 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35172 Indicates start of upper memory.
35173 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
35174 (generate_image): Abort when image size is big enough to corrupt
35175 upper memory.
35176
35177 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
35178 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
35179 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35180 instead of hardcoding 0xA0000.
35181 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
35182 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35183 instead of hardcoding 0xA0000.
35184
f970b55e 351852008-01-21 Robert Millan <rmh@aybabtu.com>
35186
35187 * disk/memdisk.c (memdisk_size): New variable.
35188 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
35189 `memdisk_size'.
35190 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
35191 image to dynamic memory.
35192 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
35193 `memdisk_size'. Free memdisk block.
35194
1a8b0526 351952008-01-21 Robert Millan <rmh@aybabtu.com>
35196
35197 Fix detection of very small filesystems (like tar).
35198
35199 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
35200 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
35201 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
35202 a problem with this disk).
35203
6e9b4aab 352042008-01-21 Robert Millan <rmh@aybabtu.com>
35205
35206 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
35207 on grub_biosdisk_rw_standard() error.
35208
0d8837b2 352092008-01-21 Robert Millan <rmh@aybabtu.com>
35210
35211 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
35212 recent changes.
35213 * kern/elf.c: Likewise.
35214 * kern/ieee1275/ieee1275.c: Likewise.
35215 * kern/powerpc/ieee1275/openfw.c: Likewise.
35216 * term/ieee1275/ofconsole.c: Likewise.
35217
ffd36e34 352182008-01-21 Robert Millan <rmh@aybabtu.com>
35219
35220 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
35221
3f0093d0 35222 * include/grub/kernel.h (grub_arch_memdisk_addr)
35223 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 35224
3f0093d0 35225 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
35226 (grub_arch_memdisk_size): ... to here.
ffd36e34 35227
6c391b21 352282008-01-21 Robert Millan <rmh@aybabtu.com>
35229
35230 Mostly based on bugfix from Bean.
35231
35232 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
35233 attribute with hook() parameter.
35234 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
35235 declaration.
35236 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
35237 attribute with hook() parameter.
35238 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
35239 declaration.
35240
55a581dc 352412008-01-21 Robert Millan <rmh@aybabtu.com>
35242
35243 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
35244 (pkglib_MODULES): Add `memdisk.mod'.
35245 (memdisk_mod_SOURCES): New variable.
35246 (memdisk_mod_CFLAGS): Likewise.
35247 (memdisk_mod_LDFLAGS): Likewise.
35248
35249 * disk/memdisk.c: New file.
35250
35251 * include/grub/disk.h (grub_disk_dev_id): Add
35252 `GRUB_DISK_DEVICE_MEMDISK_ID'.
35253
35254 * include/grub/i386/pc/kernel.h
35255 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
35256 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
35257 (grub_kernel_image_size): New variable declaration.
35258 (grub_total_module_size): Likewise.
35259 (grub_memdisk_image_size): Likewise.
35260
35261 * include/grub/i386/pc/memory.h
35262 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
35263
35264 * include/grub/kernel.h: Include `<grub/symbol.h>'.
35265 (grub_arch_memdisk_addr): New variable declaration.
35266 (grub_arch_memdisk_size): Likewise.
35267
35268 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
35269 (grub_arch_memdisk_size): Likewise.
35270
35271 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
35272 (codestart): Replace hardcoded `0x100000' with
35273 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
35274
35275 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
35276 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
35277 not NULL, append the contents of the file it refers to, at the end of
35278 the compressed kernel image. Initialize `grub_memdisk_image_size'
35279 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
35280 (options): Add "memdisk"|'m' option.
35281 (main): Parse --memdisk|-m option, and pass user-provided path as
35282 parameter to generate_image().
35283
3d7f54c9 352842008-01-20 Robert Millan <rmh@aybabtu.com>
35285
35286 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
35287 grub_dprintf() calls from here ...
35288 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
35289
0bf74728 352902008-01-20 Robert Millan <rmh@aybabtu.com>
35291
35292 Fix detection of "real mode" when /options/real-mode? doesn't exist.
35293
35294 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
35295 declaration.
35296 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
35297 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
35298 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 35299 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 35300 property).
35301 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
35302 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
35303
33bf70a7 353042008-01-19 Robert Millan <rmh@aybabtu.com>
35305
fe6b695a 35306 Get rid of confusing function (superseded by
33bf70a7 35307 `grub_ieee1275_get_integer_property')
35308 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
35309 prototype.
35310 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
35311 function.
35312 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
35313 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 35314 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 35315
e2da7d26 353162008-01-19 Robert Millan <rmh@aybabtu.com>
35317
35318 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
35319 command after "shut-down", since implementations differ on which
35320 the command for halt is.
35321
59f1fd8d 353222008-01-19 Robert Millan <rmh@aybabtu.com>
35323
35324 * include/grub/i386/linuxbios/console.h: Add header protection.
35325 (grub_keyboard_controller_init): New function prototype.
35326 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
35327 (KEYBOARD_COMMAND_READ): Likewise.
35328 (KEYBOARD_COMMAND_WRITE): Likewise.
35329 (KEYBOARD_SCANCODE_SET1): Likewise.
35330 (grub_keyboard_controller_write): New function.
35331 (grub_keyboard_controller_read): Likewise.
35332 (grub_keyboard_controller_init): Likewise.
35333
35334 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
35335 (grub_console_init): On coreboot/LinuxBIOS, call
35336 grub_keyboard_controller_init().
35337
5f5a7c15 353382008-01-19 Robert Millan <rmh@aybabtu.com>
35339
35340 PowerPC changes provided by Pavel Roskin.
35341
35342 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
35343 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
35344 don't rely on cmain() doing it.
35345 * kern/i386/ieee1275/startup.S (_start): Store %eax in
35346 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
35347
1210e168 353482008-01-16 Robert Millan <rmh@aybabtu.com>
35349
35350 * include/grub/i386/linuxbios/memory.h
35351 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
35352 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
35353 receive `table_header' as argument. Instead, probe for it in the
35354 known memory ranges where it can be present.
35355 (grub_available_iterate): Do not pass a fixed `table_header' address
35356 to grub_linuxbios_table_iterate().
35357
3d04eab8 353582008-01-15 Robert Millan <rmh@aybabtu.com>
35359
35360 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
35361 * conf/i386-ieee1275.rmk: New file.
35362 * include/grub/i386/ieee1275/console.h: Likewise.
35363 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
35364 * include/grub/i386/ieee1275/kernel.h: Likewise.
35365 * include/grub/i386/ieee1275/time.h: Likewise.
35366 * kern/i386/ieee1275/init.c: Likewise.
35367 * kern/i386/ieee1275/startup.S: Likewise.
35368
d1bc1b73 353692008-01-15 Robert Millan <rmh@aybabtu.com>
35370
35371 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
35372 when pointers are 32-bit (but still do set it to one when they are
35373 64-bit).
35374
66a65807 353752008-01-15 Robert Millan <rmh@aybabtu.com>
35376
35377 * include/grub/ieee1275/ieee1275.h
35378 (grub_ieee1275_get_integer_property): New function prototype.
35379
35380 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
35381 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 35382 grub_ieee1275_get_property() to handle endianness.
66a65807 35383
35384 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
35385 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 35386 where appropriate.
66a65807 35387 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
35388 (grub_map): Likewise.
35389 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
35390
a83ccafd 353912008-01-15 Bean <bean123ch@gmail.com>
35392
35393 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
35394 (grub_script_execute_cmdline): Reset grub_errno.
35395
35396 * normal/main.c (read_config_file): Reset grub_errno.
35397
35398 * normal/parse.y (script_init): New.
35399 (script): Move function and menuentry here.
35400 (delimiter): New.
35401 (command): Add delimiter at the end of command.
35402 (commands): Adjust to match the new command.
35403 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 35404 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 35405 (if): Use the new commands.
35406
35407 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
35408
df6ecfc6 354092008-01-15 Robert Millan <rmh@aybabtu.com>
35410
35411 * normal/menu.c (run_menu): Move timeout message from here ...
35412 (print_timeout): ... to here.
35413 (run_menu): Use print_timeout() once during initial draw to print
35414 the whole message, and again in every clock tick to update only
35415 the number of seconds.
35416
87ae25eb 354172008-01-15 Robert Millan <rmh@aybabtu.com>
35418
35419 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
35420 actual size of `available' from grub_ieee1275_get_property(), and
35421 restrict parsing to that bound.
35422
47bf09a4 354232008-01-15 Christian Franke <franke@computer.org>
35424
35425 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
35426 (argp_program_version): Remove variable.
35427 (argp_program_bug_address): Likewise.
35428 (options): Convert from struct argp_option to struct option.
35429 (struct arguments): Remove.
35430 (parse_opt): Remove.
35431 (usage): New function.
35432 (main): Replace struct args members by simple variables.
35433 Replace argp_parse() by getopt_long().
35434 Add switch to evaluate options.
35435 Add missing "(...)" around root_dev in prefix string.
35436
c86f1469 354372008-01-14 Robert Millan <rmh@aybabtu.com>
35438
35439 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
35440 for grub_ieee1275_exit(), in order to improve portability.
35441
e622c559 354422008-01-14 Robert Millan <rmh@aybabtu.com>
35443
35444 * util/grub.d/10_linux.in (prefix): Define.
35445 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
35446
44cb1ec8 354472008-01-13 Pavel Roskin <proski@gnu.org>
35448
35449 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
35450 grub_errno if no errors have been detected.
35451
1eb8c802 354522008-01-12 Robert Millan <rmh@aybabtu.com>
35453
35454 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
35455 (grub_util_get_dev_abstraction): New function prototype.
35456
35457 * util/getroot.c: Include `<grub/util/getroot.h>'
35458 (grub_util_get_grub_dev): Move detection of abstraction type to ...
35459 (grub_util_get_dev_abstraction): ... here (new function).
35460
35461 * util/grub-probe.c: Convert PRINT_* to an enum. Add
35462 `PRINT_ABSTRACTION'.
35463 (probe): Probe for abstraction type when requested.
35464 (main): Understand `--target=abstraction'.
35465
35466 * util/i386/efi/grub-install.in: Add abstraction module to core
35467 image when it is found to be necessary.
35468 * util/i386/pc/grub-install.in: Likewise.
35469 * util/powerpc/ieee1275/grub-install.in: Likewise.
35470
35471 * util/update-grub_lib.in (font_path): Return system path without
35472 converting to GRUB path.
35473 * util/update-grub.in: Convert system path returned by font_path()
35474 to a GRUB path. Use `grub-probe -t abstraction' to determine what
35475 abstraction module is needed for loading fonts (if any). Export
35476 that as `GRUB_PRELOAD_MODULES'.
35477 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
35478 insmod commands).
35479
52bd3de9 354802008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
35481
35482 Remove some unused code from reiserfs.
f19dbdb7 35483
52bd3de9 35484 * fs/reiserfs.c (struct grub_reiserfs_key)
35485 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
35486 (struct grub_reiserfs_node_body): Removed.
35487 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35488 Likewise.
35489 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35490 Likewise.
35491 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35492 Likewise.
35493 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35494 Likewise.
35495 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35496 Likewise.
35497 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
35498 Likewise.
35499 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35500 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35501 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35502
2f80039d 355032008-01-10 Robert Millan <rmh@aybabtu.com>
35504
35505 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
35506 Determines if a file is garbage left by packaging systems, etc.
35507 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
35508 for processing /etc/grub.d scripts.
35509 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
35510 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
35511 as a condition for processing Linux images.
35512
87888032 355132008-01-10 Pavel Roskin <proski@gnu.org>
35514
35515 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
35516 to compile reiserfs.c on PowerPC.
35517
7e54fced 355182008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 35519
35520 * kern/device.c (grub_device_iterate): Do not abort device iteration
35521 when one of the devices cannot be opened.
35522 * kern/disk.c (grub_disk_open): Do not account previous failures of
35523 unrelated functions when grub_errno is checked for.
35524
5aa541e6 355252008-01-08 Robert Millan <rmh@aybabtu.com>
35526
35527 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
35528 `! grub_linux_is_bzimage', change order of address comparison to make
35529 it more intuitive, and improve "too big zImage" error message.
35530
7076340d 355312008-01-08 Robert Millan <rmh@aybabtu.com>
35532
35533 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
35534 `$(update-grub_DATA)'.
35535 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
35536 targets.
35537
9ca70333 355382008-01-07 Robert Millan <rmh@aybabtu.com>
35539
35540 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
35541 which instruction is modified by grub-setup during installation
35542 (since it wasn't obvious by only looking at this file).
35543
38ccf575 355442008-01-07 Robert Millan <rmh@aybabtu.com>
35545
35546 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
35547 listing actual TODO items.
35548
f5db4291 355492008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35550
868967cf 35551 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
35552 correctly.
35553 (grub_reiserfs_get_key_offset): Likewise.
35554 (grub_reiserfs_set_key_offset): Likewise.
35555 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 35556 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 35557
35558 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
35559 better to remove the bitfield version completely.
f19dbdb7 35560
868967cf 355612008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35562
f5db4291 35563 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
35564 allocated from the heap, due to the fshelp implementation.
35565 (grub_reiserfs_dir): Free NODE, due to the same reason.
35566
492e6d9d 355672008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35568
35569 Mostly from Vincent Pelletier:
f19dbdb7 35570
492e6d9d 35571 * fs/reiserfs.c: New file.
f19dbdb7 35572
492e6d9d 35573 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
35574 (reiserfs_mod_SOURCES): New variable.
35575 (reiserfs_mod_CFLAGS): Likewise.
35576 (reiserfs_mod_LDFLAGS): Likewise.
35577
35578 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
35579 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
35580 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
35581 normal/color.c.
35582
9ce3e7c1 355832008-01-06 Robert Millan <rmh@aybabtu.com>
35584
35585 * normal/color.c: Remove `<grub/env.h>'.
35586
f3b58148 355872008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
35588
35589 * include/grub/normal.h: Include <grub/env.h>.
35590
7ac3bcfa 355912008-01-05 Robert Millan <rmh@aybabtu.com>
35592
35593 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
35594 usage example with `(hd0,1)'.
fb358190 35595 Reported by Samuel Thibault.
7ac3bcfa 35596
c8ee99d7 355972008-01-05 Robert Millan <rmh@aybabtu.com>
35598
35599 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
35600 (grub_linux_boot_zimage): Rename to ...
35601 (grub_linux_boot): ... this.
35602 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
35603 (grub_linux_boot_zimage): Conditionalize zImage copy.
35604
35605 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
35606 (grub_linux_boot_bzimage): Remove prototype.
35607 (grub_linux_boot_zimage): Rename to ...
35608 (grub_linux_boot): ... this.
35609
35610 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
35611 (grub_linux_boot): Remove function.
35612
0ece25b1 356132008-01-05 Robert Millan <rmh@aybabtu.com>
35614
35615 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
35616 (grub_env_write_color_highlight): Likewise.
35617 (grub_wait_after_message): Likewise.
35618
35619 * normal/color.c: New file.
35620
35621 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35622 (normal_mod_DEPENDENCIES): Likewise.
35623
35624 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35625 (normal_mod_DEPENDENCIES): Likewise.
35626
35627 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35628 (normal_mod_DEPENDENCIES): Likewise.
35629
35630 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35631 (normal_mod_DEPENDENCIES): Likewise.
35632
35633 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
35634 for waiting after a message is printed.
35635 * normal/main.c (read_config_file): Likewise.
35636 (grub_normal_init): Register grub_env_write_color_normal() and
35637 grub_env_write_color_highlight() hooks. Mark `color_normal' and
35638 `color_highlight' variables as global.
35639
35640 * normal/menu.c (grub_wait_after_message): New function.
35641 (grub_color_menu_normal): New variable. Replaces ...
35642 (GRUB_COLOR_MENU_NORMAL): ... this macro.
35643 (grub_color_menu_highlight): New variable. Replaces ...
35644 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
35645 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
35646 `GRUB_TERM_COLOR_STANDARD'.
35647 (print_message): Use `grub_setcolorstate' to reload colors. Rename
35648 `normal_code' and `highlight_code' to `old_color_normal' and
35649 `old_color_highlight', respectively.
35650 (grub_menu_init_page): Update colors when drawing the menu, based on
35651 `menu_color_normal' and `menu_color_highlight' variables.
35652 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
35653 a message is printed.
35654
182dd4e5 356552008-01-05 Robert Millan <rmh@aybabtu.com>
35656
35657 * kern/env.c (grub_env_context_open): Propagate hooks for global
35658 variables to new context.
35659
35660 * kern/main.c (grub_set_root_dev): Export `root' variable.
35661
ddf8f6ad 356622008-01-05 Robert Millan <rmh@aybabtu.com>
35663
35664 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 35665 discs unconditionally, since udev and others have options to provide
ddf8f6ad 35666 them.
35667
d8b43d9b 356682008-01-05 Robert Millan <rmh@aybabtu.com>
35669
35670 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
35671
2bff2de3 356722008-01-04 Christian Franke <franke@computer.org>
35673
35674 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
35675 of eisa_mmap.
35676
97eab917 356772008-01-03 Pavel Roskin <proski@gnu.org>
35678
35679 * kern/i386/linuxbios/init.c: Put "void" to all function
35680 declarations with no arguments.
35681 * kern/powerpc/ieee1275/init.c: Likewise.
35682 * term/i386/pc/at_keyboard.c: Likewise.
35683 * term/i386/pc/vga_text.c: Likewise.
35684 * util/grub-mkdevicemap.c: Likewise.
35685
b9416d00 356862008-01-02 Robert Millan <rmh@aybabtu.com>
35687
35688 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
35689 message when loaded image is out of bounds.
35690 (grub_multiboot_load_elf64): Likewise.
35691
92695df9 356922008-01-02 Pavel Roskin <proski@gnu.org>
35693
35694 * util/grub.d/10_linux.in: Try version without ".old" when
35695 looking for initrd. It's better to use initrd from the newer
35696 kernel of the same version than no initrd at all.
35697
d98d9cad 356982008-01-01 Robert Millan <rmh@aybabtu.com>
35699
35700 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
35701
dbfdce36 357022008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
35703
f19dbdb7 35704 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 35705 grub_video_get_active_render_target.
35706 (grub_video_adapter): Added unmap_color and get_active_render_target.
35707
f19dbdb7 35708 * video/video.c: Added grub_video_unmap_color and
dbfdce36 35709 grub_video_get_active_render_target.
35710 (grub_video_get_info): Changed method to accept NULL pointer as an
35711 argument to allow detection of active video adapter.
35712
35713 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
35714 grub_video_vbe_unmap_color_int.
35715 Added grub_video_vbe_unmap_color and
35716 grub_video_vbe_get_active_render_target.
35717 (grub_video_vbe_adapter): Added unmap_color and
35718 get_active_render_target.
35719
f19dbdb7 35720 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 35721 with grub_video_vbe_unmap_color_int.
35722
35723 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
35724 (DEFAULT_NORMAL_COLOR): Likewise.
35725 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
35726 (DEFAULT_FG_COLOR): Removed.
35727 (DEFAULT_BG_COLOR): Likewise.
35728 (DEFAULT_CURSOR_COLOR): Changed value.
35729 (grub_virtual_screen): Added standard_color_setting,
35730 normal_color_setting, highlight_color_setting and term_color.
35731 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
35732 (bitmap_width): Added.
35733 (bitmap_height): Likewise.
35734 (bitmap): Likewise.
35735 (set_term_color): Likewise.
35736 (grub_virtual_screen_setup): Changed to use new terminal coloring
35737 settings.
35738 (grub_gfxterm_init): Added init for bitmap.
35739 (grub_gfxterm_fini): Added destroy for bitmap.
35740 (redraw_screen_rect): Updated to use background bitmap and new
35741 terminal coloring.
35742 (scroll_up): Added optimization for case when there is no bitmap.
35743 (grub_gfxterm_cls): Fixed to use correct background color.
35744 (grub_virtual_screen_setcolorstate): Changed to use new terminal
35745 coloring.
35746 (grub_virtual_screen_setcolor): Likewise.
35747 (grub_virtual_screen_getcolor): Added.
35748 (grub_gfxterm_background_image_cmd): Likewise.
35749 (grub_video_term): Added setcolor and getcolor.
35750 (MOD_INIT): Added registration of background_image command.
35751 (MOD_TERM): Added unregistration for background_image command.
35752
c3c20931 357532007-12-30 Pavel Roskin <proski@gnu.org>
35754
35755 * loader/multiboot_loader.c: Fix multiboot command
35756 unregistration. Fix all typos in the word "multiboot".
35757
df266716 357582007-12-29 Pavel Roskin <proski@gnu.org>
94239199 35759
35760 * util/grub.d/10_linux.in: Refactor search for initrd. Add
35761 support for initrd names used in Fedora.
35762
fc6e896c 357632007-12-26 Bean <bean123ch@gmail.com>
35764
35765 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
35766 (cpio_mod_SOURCES): New variable.
35767 (cpio_mod_CFLAGS): Likewise.
35768 (cpio_mod_LDFLAGS): Likewise.
35769
35770 * fs/cpio.c: New file.
35771
35772 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
35773
35774 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35775
35776 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35777
35778 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35779
533110ad 357802007-12-25 Robert Millan <rmh@aybabtu.com>
35781
35782 * include/grub/term.h (struct grub_term): Add `getcolor' function.
35783 (grub_getcolor): New function.
35784
35785 * kern/term.c (grub_getcolor): New function.
35786 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
35787 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
35788 (print_entry): Set normal and highlight colors to
35789 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
35790 respectively, before printing and restore them to old
35791 values afterwards.
35792 (grub_menu_init_page): Likewise. Fill an additional colored space
35793 that would otherwise be left blank.
35794
35795 * term/efi/console.c (grub_console_getcolor): New function.
35796 (struct grub_console_term.getcolor): New variable.
35797 * term/i386/pc/console.c (grub_console_getcolor): New function.
35798 (struct grub_console_term.getcolor): New variable.
35799 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
35800 (struct grub_console_term.getcolor): New variable.
35801
35802 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
35803 (struct grub_console_term.setcolor): Remove variable.
35804 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
35805 (struct grub_console_term.setcolor): Remove variable.
35806 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
35807 (struct grub_console_term.setcolor): Remove variable.
35808 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
35809 (struct grub_console_term.setcolor): Remove variable.
35810
4931827f 358112007-12-25 Robert Millan <rmh@aybabtu.com>
35812
35813 * configure.ac: Search for possible unifont.hex locations, and
35814 define UNIFONT_HEX if found.
35815
35816 * Makefile.in (UNIFONT_HEX): Define variable.
35817 (DATA): Rename to ...
35818 (PKGLIB): ... this. Update all users.
35819 (PKGDATA): New variable.
35820 (pkgdata_IMAGES): Rename to ...
35821 (pkglib_IMAGES): ... this. Update all users.
35822 (pkgdata_MODULES): Rename to ...
35823 (pkglib_MODULES): ... this. Update all users.
35824 (pkgdata_PROGRAMS): Rename to ...
35825 (pkglib_PROGRAMS): ... this. Update all users.
35826 (pkgdata_DATA): Rename to ...
35827 (pkglib_DATA): ... this. Update all users.
35828 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
35829 (unicode.pff, ascii.pff): New rules.
35830 (all-local): Add `$(PKGDATA)' dependency.
35831 (install-local): Process `$(PKGDATA)'.
35832
35833 * util/update-grub_lib.in (font_path): Search for *.pff files in
35834 a few more locations, including `${pkgdata}'.
35835
57e57e31 358362007-12-23 Robert Millan <rmh@aybabtu.com>
35837
35838 Patch from Bean <bean123ch@gmail.com>:
35839 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
35840 `size'.
35841
4bc72aa9 358422007-12-21 Bean <bean123ch@gmail.com>
35843
35844 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
35845 (ntfscomp_mod_SOURCES): New variable.
35846 (ntfscomp_mod_CFLAGS): Likewise.
35847 (ntfscomp_mod_LDFLAGS): Likewise.
35848
35849 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
35850 (grub_probe_SOURCES): Likewise.
35851 (grub_emu_SOURCES): Likewise.
35852
35853 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35854 (grub_emu_SOURCES): Likewise.
35855
35856 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35857 (grub_emu_SOURCES): Likewise.
35858
35859 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35860 (grub_emu_SOURCES): Likewise.
35861
35862 * fs/ntfs.c (grub_ntfscomp_func): New variable.
35863 (read_run_list): Renamed to grub_ntfs_read_run_list.
35864 (decomp_nextvcn): Moved to ntfscomp.c.
35865 (decomp_getch): Likewise.
35866 (decomp_get16): Likewise.
35867 (decomp_block): Likewise.
35868 (read_block): Likewise.
35869 (read_data): Partially moved to ntfscomp.c.
35870 (fixup): Change unsigned to grub_uint16_t.
35871 (read_mft): Change unsigned long to grub_uint32_t.
35872 (read_attr): Likewise.
35873 (read_data): Likewise.
35874 (read_run_data): Likewise.
35875 (read_run_list): Likewise.
35876 (read_mft): Likewise.
35877
35878 * fs/ntfscomp.c: New file.
35879
35880 * include/grub/ntfs.h: New file.
35881
af680a87 358822007-12-16 Robert Millan <rmh@aybabtu.com>
35883
35884 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
35885 IDE disk check, since Linux is known to support 20 IDE disks.
35886 Reported by Colin Watson.
35887
84be7599 358882007-12-15 Bean <bean123ch@gmail.com>
35889
35890 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
35891 (lnxboot_img_SOURCES): New variable.
35892 (lnxboot_img_ASFLAGS): Likewise.
35893 (lnxboot_img_LDFLAGS): Likewise.
35894
35895 * boot/i386/pc/lnxboot.S: New file.
35896
6af9db01 358972007-11-24 Pavel Roskin <proski@gnu.org>
35898
35899 * configure.ac: Test if '--build-id=none' is supported by the
35900 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
35901 objcopy to generate incorrect binary files (binutils
35902 2.17.50.0.18-1 as shipped by Fedora 8).
35903 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
35904 linking, so that build ID doesn't break the test.
35905
7361cfe6 359062007-11-24 Pavel Roskin <proski@gnu.org>
35907
35908 * include/grub/i386/time.h: use "void" in the argument list
35909 of grub_cpu_idle().
35910 * include/grub/powerpc/time.h: Likewise.
35911 * include/grub/sparc64/time.h: Likewise.
35912
1593e10c 359132007-11-18 Christian Franke <franke@computer.org>
35914
35915 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
35916 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
35917 This fixes the problem that function keys did not work in grub-emu.
35918
3b8db1a8 359192007-11-18 Christian Franke <franke@computer.org>
35920
35921 * disk/host.c (grub_host_open): Remove attribute unused from
35922 name parameter. Add check for "host". This fixes the problem
35923 that grub-emu does not find partitions.
35924
2e29408d 359252007-11-18 Christian Franke <franke@computer.org>
35926
35927 * util/hostfs.c (is_dir): New function.
35928 (grub_hostfs_dir): Handle missing dirent.d_type case.
35929 (grub_hostfs_read): Add missing fseek().
35930 (grub_hostfs_label): Clear label pointer. This fixes a crash
35931 of grub-emu on "ls (host)".
35932
398cd047 359332007-11-18 Christian Franke <franke@computer.org>
35934
35935 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
35936 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
35937 to 64 bit boundary by default.
35938
c405c391 359392007-11-18 Bean <bean123ch@gmail.com>
35940
35941 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
35942 (hexdump_mod_SOURCES): New variable.
35943 (hexdump_mod_CFLAGS): Likewise.
35944 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 35945
c405c391 35946 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35947
35948 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35949
35950 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35951
35952 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35953
35954 * include/grub/hexdump.h: New file.
35955
35956 * commands/hexdump.c: New file.
35957
5cced7fd 359582007-11-10 Robert Millan <rmh@aybabtu.com>
35959
35960 * commands/i386/pc/play.c (beep_off): Switch order of arguments
35961 in grub_outb() calls.
35962 (beep_on): Likewise.
35963
8b714eb0 359642007-11-10 Christian Franke <franke@computer.org>
35965
35966 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
35967 (grub_menu_run): Likewise.
35968
ce0f1839 359692007-11-10 Robert Millan <rmh@aybabtu.com>
35970
35971 * include/grub/i386/efi/machine.h: New file.
35972 * include/grub/i386/linuxbios/machine.h: Likewise.
35973 * include/grub/i386/pc/machine.h: Likewise.
35974 * include/grub/powerpc/ieee1275/machine.h: Likewise.
35975 * include/grub/sparc64/ieee1275/machine.h: Likewise.
35976
35977 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
35978 (serial_hw_io_addr): New variable.
35979 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
35980 instead of `(unsigned short *) 0x400'.
35981
270c237d 359822007-11-10 Bean <bean123ch@gmail.com>
35983
35984 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
35985
a87783bf 359862007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
35987
35988 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
35989 (vga_mod_SOURCES): Added.
35990 (vga_mod_CFLAGS): Likewise.
35991 (vga_mod_LDFLAGS): Likewise.
35992
35993 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
35994 grub_outb() calls.
35995 (set_map_mask): Likewise.
35996 (set_read_map): Likewise.
35997 (set_read_address): Likewise.
35998 (vga_font): Removed variable.
35999 (get_vga_glyph): Removed function.
36000 (invalidate_char): Likewise.
36001 (write_char): Changed to use grub_font_get_glyph() for font
36002 information.
36003 (grub_vga_putchar): Likewise.
36004 (grub_vga_getcharwidth): Likewise.
36005
6433b448 360062007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36007
36008 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
36009 flags.
36010 (pxeboot_img_LDFLAGS): Likewise.
36011 (diskboot_img_LDFLAGS): Likewise.
36012 (kernel_img_LDFLAGS): Likewise.
36013
49178511 360142007-11-06 Robert Millan <rmh@aybabtu.com>
36015
36016 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
36017 in grub_outb() calls.
36018 (serial_hw_init): Likewise.
36019
53b052de 360202007-11-05 Robert Millan <rmh@aybabtu.com>
36021
36022 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
36023 spaces. Skip non-regular files.
36024
5ab33bba 360252007-11-05 Robert Millan <rmh@aybabtu.com>
36026
36027 * kern/disk.c (grub_disk_firmware_fini)
36028 (grub_disk_firmware_is_tainted): New variables.
36029
36030 * include/grub/disk.h (grub_disk_firmware_fini)
36031 (grub_disk_firmware_is_tainted): Likewise.
36032
36033 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
36034 (grub_disk_biosdisk_fini): ... to here.
36035 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
36036 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
36037 is set. Register grub_disk_biosdisk_fini() in
36038 `grub_disk_firmware_fini'.
36039
36040 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
36041 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
36042 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
36043 to finish existing firmware disk interface.
36044
36045 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
36046 (ata_mod_SOURCES): New variable.
36047 (ata_mod_CFLAGS): Likewise.
36048 (ata_mod_LDFLAGS): Likewise.
36049
0149ab7c 360502007-11-05 Robert Millan <rmh@aybabtu.com>
36051
36052 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
36053 (grub_ata_wait): Reimplement using grub_millisleep().
36054
36055 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
36056 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
36057
be7ac41e 360582007-11-03 Marco Gerards <marco@gnu.org>
36059
36060 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
36061 (CRTC_ADDR_PORT): New macro.
36062 (CRTC_DATA_PORT): Likewise.
36063 (CRTC_CURSOR): Likewise.
36064 (CRTC_CURSOR_ADDR_HIGH): Likewise.
36065 (CRTC_CURSOR_ADDR_LOW): Likewise.
36066 (update_cursor): New function.
36067 (grub_console_real_putchar): Call `update_cursor'.
36068 (grub_console_gotoxy): Likewise.
36069 (grub_console_cls): Set the default color when clearing the
36070 screen.
36071 (grub_console_setcursor): Implemented.
36072
bb06ab2e 360732007-11-03 Marco Gerards <marco@gnu.org>
36074
36075 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
36076 become activate.
36077 (grub_ata_pio_write): Likewise.
36078
36079 (grub_atapi_identify): Wait after issuing an ATA command.
36080 (grub_atapi_packet): Likewise.
36081 (grub_ata_identify): Likewise.
36082 (grub_ata_readwrite): Likewise.
36083
cf8f780b 360842007-11-03 Marco Gerards <marco@gnu.org>
36085
36086 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
36087 (grub_ata_pio_write): Likewise.
36088 (grub_ata_readwrite): Use `grub_error', instead of
36089 returning `grub_errno'.
36090
ed649e54 360912007-11-03 Marco Gerards <marco@gnu.org>
36092
36093 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
36094 grub_ata_pio_write once for every single sector, instead of for
36095 multiple sectors.
36096
ca25d8f0 360972007-10-31 Robert Millan <rmh@aybabtu.com>
36098
36099 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
36100
36101 * conf/i386-linuxbios.rmk: New file.
36102
36103 * kern/i386/pc/hardware.c: Likewise.
36104 * term/i386/pc/at_keyboard.c: Likewise.
36105 * term/i386/pc/vga_text.c: Likewise.
36106
36107 * include/grub/i386/linuxbios/boot.h: Likewise.
36108 * include/grub/i386/linuxbios/console.h: Likewise.
36109 * include/grub/i386/linuxbios/init.h: Likewise.
36110 * include/grub/i386/linuxbios/kernel.h: Likewise.
36111 * include/grub/i386/linuxbios/loader.h: Likewise.
36112 * include/grub/i386/linuxbios/memory.h: Likewise.
36113 * include/grub/i386/linuxbios/serial.h: Likewise.
36114 * include/grub/i386/linuxbios/time.h: Likewise.
36115
36116 * kern/i386/linuxbios/init.c: Likewise.
36117 * kern/i386/linuxbios/startup.S: Likewise.
36118 * kern/i386/linuxbios/table.c: Likewise.
36119
e911ecc1 361202007-10-31 Marco Gerards <marco@gnu.org>
36121
36122 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36123 (ata_mod_SOURCES): New variable.
36124 (ata_mod_CFLAGS): Likewise.
36125 (ata_mod_LDFLAGS): Likewise.
36126
36127 * disk/ata.c: New file.
36128
36129 * include/grub/disk.h (grub_disk_dev_id): Add
36130 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 36131
7f66d0e0 361322007-10-31 Robert Millan <rmh@aybabtu.com>
36133
36134 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36135 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36136
36137 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36138 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36139
36140 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36141 `<grub/types.h>'.
36142
36143 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36144
5cd7dd46 361452007-10-27 Robert Millan <rmh@aybabtu.com>
36146
3236ca65 36147 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 36148
2ebfc90f 361492007-10-22 Robert Millan <rmh@aybabtu.com>
36150
36151 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36152 `"../realmode.S"'.
36153 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36154
73fcb0f3 361552007-10-22 Robert Millan <rmh@aybabtu.com>
36156
36157 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36158 (pkgdata_MODULES): Add `biosdisk.mod'.
36159 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36160 variables.
36161
36162 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36163 (grub_biosdisk_init): Replace with ...
36164 (GRUB_MOD_INIT(biosdisk)): ... this.
36165 (grub_biosdisk_fini): Replace with ...
36166 (GRUB_MOD_FINI(biosdisk)): ... this.
36167
36168 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36169 (grub_machine_init): Remove call to grub_biosdisk_init().
36170 (grub_machine_fini): Remove call to grub_machine_fini().
36171
36172 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36173
3381d274 361742007-10-22 Robert Millan <rmh@aybabtu.com>
36175
36176 * include/grub/time.h: New file.
36177 * include/grub/i386/time.h: Likewise.
36178 * include/grub/powerpc/time.h: Likewise.
36179 * include/grub/sparc64/time.h: Likewise.
36180
36181 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
36182 instances to ...
36183 (KERNEL_MACHINE_TIME_HEADER): ... this.
36184 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36185 instances to ...
36186 (KERNEL_MACHINE_TIME_HEADER): ... this.
36187 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36188 instances to ...
36189 (KERNEL_MACHINE_TIME_HEADER): ... this.
36190
36191 * kern/i386/efi/init.c: Include `<grub/time.h>'.
36192 (grub_millisleep): New function.
36193 * kern/i386/pc/init.c: Include `<grub/time.h>'.
36194 (grub_millisleep): New function.
36195 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
36196 Remove `grub/machine/time.h' include.
36197 (grub_millisleep): New function.
36198 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
36199 Remove `grub/machine/time.h' include.
36200 (grub_millisleep): New function.
36201
36202 * include/grub/misc.h (grub_div_roundup): New function.
36203
36204 * kern/misc.c: Include `<grub/time.h>'.
36205 (grub_millisleep_generic): New function.
36206
36207 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
36208 Add `time.h'.
36209 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
36210 Add `time.h'.
36211 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
36212 `machine/time.h'. Add `time.h'.
36213 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36214
a39a0312 362152007-10-21 Robert Millan <rmh@aybabtu.com>
36216
36217 * include/grub/misc.h (grub_max): New function.
36218
2aad70e2 362192007-10-21 Robert Millan <rmh@aybabtu.com>
36220
36221 * util/misc.c (grub_util_info): Call fflush() before returning.
36222
54b71c4b 362232007-10-20 Robert Millan <rmh@aybabtu.com>
36224
36225 * genmk.rb (Image): Copy `extra_flags' from here ...
36226 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
36227
36228 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
36229 to `argc' and `args' arguments.
36230
a979f513 362312007-10-17 Robert Millan <rmh@aybabtu.com>
36232
36233 * kern/i386/loader.S: New file.
36234
36235 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
36236 * kern/i386/loader.S (grub_linux_prot_size)... to here.
36237 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
36238 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
36239 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
36240 * kern/i386/loader.S (grub_linux_real_addr)... to here.
36241 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
36242 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
36243 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
36244 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
36245 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
36246 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
36247 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
36248 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
36249
36250 * kern/i386/realmode.S: New file.
36251
36252 * kern/i386/pc/startup.S (protstack): Moved from here ...
36253 * kern/i386/realmode.S (protstack)... to here.
36254 * kern/i386/pc/startup.S (gdt): Moved from here ...
36255 * kern/i386/realmode.S (gdt)... to here.
36256 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
36257 * kern/i386/realmode.S (prot_to_real)... to here.
36258
36259 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
36260 `kern/i386/realmode.S'.
36261
825fc8fd 362622007-10-17 Robert Millan <rmh@aybabtu.com>
36263
36264 * include/grub/i386/loader.h: New file.
36265
36266 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
36267 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36268 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36269 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36270 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
36271 * include/grub/i386/loader.h (grub_linux_prot_size)
36272 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36273 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36274 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36275 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
36276
36277 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
36278
e179b2f4 362792007-10-15 Robert Millan <rmh@aybabtu.com>
36280
36281 * normal/misc.c (grub_normal_print_device_info): Do not probe for
36282 filesystem when dev->disk is unset.
36283 Do probe for filesystem even when dev->disk->has_partitions is set.
36284 In case a filesystem is found, always report it.
36285 In case it isn't, if dev->disk->has_partitions is set, report that
36286 a partition table was found instead of reporting that no filesystem
36287 could be identified.
36288
5db82af6 362892007-10-12 Robert Millan <rmh@aybabtu.com>
36290
36291 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
36292 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
36293
68f6ac74 36294 * include/grub/types.h (grub_host_to_target16): New macro.
36295 (grub_host_to_target32): Likewise.
36296 (grub_host_to_target64): Likewise.
36297 (grub_target_to_host16): Likewise.
36298 (grub_target_to_host32): Likewise.
36299 (grub_target_to_host64): Likewise.
5db82af6 36300
36301 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36302 Renamed from to ...
36303 (GRUB_MOD_ALIGN): ...this. Update all users.
36304
68f6ac74 36305 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
36306 grub_host_to_target32.
36307 Replace grub_be_to_cpu32 with grub_target_to_host32.
36308 (load_modules): Likewise.
36309 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
36310 Replace grub_be_to_cpu32 with grub_target_to_host32.
36311 Replace grub_cpu_to_be16 with grub_host_to_target16.
36312 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 36313
3cf497cc 363142007-10-12 Robert Millan <rmh@aybabtu.com>
36315
36316 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
36317 * util/elf/grub-mkimage.c: ... here.
36318
36319 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
36320 `util/powerpc/ieee1275/grub-mkimage.c'.
36321
c8cc3692 363222007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 36323
c8cc3692 36324 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
36325 and make it easier to figure out.
36326 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
36327 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
36328 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
36329 leave us with less than HEAP_MIN_SIZE total heap.
36330 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 36331
5c58b791 363322007-10-03 Robert Millan <rmh@aybabtu.com>
36333
36334 * include/grub/i386/io.h: New file.
36335 * commands/i386/pc/play.c (inb): Removed.
36336 (outb): Removed.
36337 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36338 with grub_outb().
afcd2ef8 36339 * term/i386/pc/serial.c (inb): Removed.
36340 (outb): Removed.
36341 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36342 with grub_outb().
36343 * term/i386/pc/vga.c (inb): Removed.
36344 (outb): Removed.
36345 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36346 with grub_outb().
5c58b791 36347
1a477ed6 363482007-10-02 Robert Millan <rmh@aybabtu.com>
36349
36350 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
36351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36352 Reported by Marcin Kurek.
36353
6b5d80fa 363542007-09-07 Robert Millan <rmh@aybabtu.com>
36355
36356 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
36357 SmartFirmware version updates (as released by Sven Luther), and avoid
36358 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
36359 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
36360 known broken.
36361
5618afbf 363622007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36363
36364 From Hitoshi Ozeki:
36365 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
36366 when merging two regions.
36367
6139dcd9 363682007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36369
508e39ee 36370 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
36371 * normal/completion.c (grub_normal_do_completion): Likewise.
36372 Reported by Hitoshi Ozeki.
36373
363742007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36375
6139dcd9 36376 Do not use devices at boot in chainloading.
f19dbdb7 36377
6139dcd9 36378 * loader/i386/pc/chainloader.c (boot_drive): New variable.
36379 (boot_part_addr): Likewise.
36380 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
36381 with BOOT_DRIVE and BOOT_PART_ADDR.
36382 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
36383 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
36384
38da6516 363852007-08-29 Robert Millan <rmh@aybabtu.com>
36386
36387 Patch from Simon Peter <dn.tlp@gmx.net>:
36388 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
36389 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
36390 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
36391 util/i386/pc/grub-setup.c_DEPENDENCIES.
36392 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
36393 util/grub-probe.c_DEPENDENCIES.
36394 * conf/powerpc-ieee1275.rmk: Likewise.
36395
29d0928c 363962007-08-28 Robert Millan <rmh@aybabtu.com>
36397
36398 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
36399 to tell grub-mkdevicemap how to name devices.
36400 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
36401 feature).
36402
36403 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
36404 util/i386/get_disk_name.c.
36405 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
36406 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
36407 util/ieee1275/get_disk_name.c.
36408
36409 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
36410
36411 * DISTLIST: Add util/i386/get_disk_name.c and
36412 util/ieee1275/get_disk_name.c.
36413
36414 * util/grub-mkdevicemap.c: Replace device naming logic with
36415 grub_util_get_disk_name() calls.
36416
5a0d3cca 364172007-08-20 Robert Millan <rmh@aybabtu.com>
36418
36419 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
36420 (so that it works for both plural and singular quantities).
36421
8b72db2f 364222007-08-05 Robert Millan <rmh@aybabtu.com>
36423
36424 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
36425 so that [xz] isn't taken into account when determining order.
36426
352466bf 364272007-08-02 Marco Gerards <marco@gnu.org>
36428
36429 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
36430 `include/multiboot2.h', `include/grub/elfload.h',
36431 `include/multiboot.h', `include/grub/multiboot.h',
36432 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
36433 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
36434 `kern/elf.c', `loader/multiboot_loader.c',
36435 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
36436 `loader/i386/pc/multiboot2.c',
36437 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
36438 `util/i386/pc/grub-mkrescue.in'. Remove
36439 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
36440 `include/grub/i386/pc/util/biosdisk.h' and
36441 `include/grub/powerpc/ieee1275/multiboot.h'.
36442
8f096014 364432007-08-02 Bean <bean123ch@gmail.com>
36444
36445 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
36446 (ntfs_mod_SOURCES): New variable.
36447 (ntfs_mod_CFLAGS): Likewise.
36448 (ntfs_mod_LDFLAGS): Likewise.
36449
36450 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
36451 (grub_probe_SOURCES): Likewise.
36452 (grub_emu_SOURCES): Likewise.
36453
36454 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36455 (grub_emu_SOURCES): Likewise.
36456
36457 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36458 (grub_emu_SOURCES): Likewise.
f19dbdb7 36459
8f096014 36460 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
36461
36462 * fs/ntfs.c: New file.
36463
9959f7db 364642007-08-02 Bean <bean123ch@gmail.com>
36465
36466 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
36467
36468 * file.h (grub_file): Likewise.
36469
36470 * fshelp.h (grub_fshelp_read_file): Likewise.
36471
36472 * util/i386/pc/grub-setup.c (setup): Likewise.
36473 (save_first_sector): Likewise.
36474 (save_blocklists): Likewise.
f19dbdb7 36475
9959f7db 36476 * fs/affs.c (grub_affs_read_file): Likewise.
36477
36478 * fs/ext2.c (grub_ext2_read_file): Likewise.
36479
36480 * fs/fat.c (grub_fat_read_data): Likewise.
36481
36482 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
36483
36484 * fs/hfs.c (grub_hfs_read_file): Likewise.
36485
36486 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36487
36488 * fs/jfs.c (grub_jfs_read_file): Likewise.
36489
36490 * fs/minix.c (grub_minix_read_file): Likewise.
36491
36492 * fs/sfs.c (grub_sfs_read_file): Likewise.
36493
36494 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 36495
9959f7db 36496 * fs/xfs.c (grub_xfs_read_file): Likewise.
36497
36498 * command/blocklist.c (read_blocklist): Likewise.
36499 (print_blocklist): Likewise.
36500
0a203f83 365012007-08-02 Marco Gerards <marco@gnu.org>
36502
36503 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
36504 `util/hostfs.c'.
36505
36506 * disk/host.c: New file.
36507
36508 * util/hostfs.c: Likewise.
36509
36510 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
36511 return `GRUB_ERR_BAD_FS'.
36512 * fs/sfs.c (grub_sfs_mount): Likewise.
36513 * fs/xfs.c (grub_xfs_mount): Likewise.
36514
36515 * include/grub/disk.h (enum grub_disk_dev_id): Add
36516 `GRUB_DISK_DEVICE_HOST_ID'.
36517
36518 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
36519
e5dfe777 365202007-07-24 Jerone Young <jerone@gmail.com>
36521
f19dbdb7 36522 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 36523 modules for compilation.
36524 * conf/powerpc-ieee1275.rmk: Likewise.
36525
36526 * include/multiboot.h: Move multiboot definitions to one file. Rename
36527 many definitions to not get grub specific.
36528 * include/multiboot2.h: Create header with multiboot 2 definitions.
36529 * include/grub/multiboot.h: Header for grub specific function
36530 prototypes and definitions.
36531 * include/grub/multiboot2.h: Likewise.
36532 * include/grub/multiboot_loader.h: Likewise.
36533 * include/grub/i386/pc/multiboot.h: Removed.
36534 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
36535
36536 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
36537 and 2 to allow for one multiboot and module commands.
36538 * loader/multiboot2.c: Add multiboot2 functionality.
36539 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
36540 and definition names.
36541 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
36542 2 functions.
36543 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
36544 ieee1275 specific multiboot2 code.
36545
36546 * kern/i386/pc/startup.S: Change headers and definition names for
36547 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
36548
daf0f0ba 365492007-07-22 Robert Millan <rmh@aybabtu.com>
36550
36551 * geninitheader.sh: Process file specified in first parameter rather
36552 than hardcoding grub_modules_init.lst.
fe6b695a 36553 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 36554 than hardcoding grub_modules_init.h.
36555
36556 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
36557 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
36558 grub_probe_init.[ch] and grub_setup_init.[ch].
36559
36560 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
36561 grub_modules_init.h with grub_emu_init.h.
36562 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
36563 grub_probe_init.[ch] files.
36564 * conf/i386-efi.rmk: Likewise.
36565 * conf/i386-pc.rmk: Likewise.
36566 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
36567 grub_setup_init.[ch] files.
36568
36569 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
36570 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
36571 to initialize modules rather than a list of hardcoded functions.
36572 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
36573 grub_init_all() to initialize modules rather than a list of hardcoded
36574 functions.
36575
54cdc1cc 365762007-07-22 Robert Millan <rmh@aybabtu.com>
36577
36578 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
36579 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
36580
ad0686cc 365812007-07-22 Robert Millan <rmh@aybabtu.com>
36582
36583 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36584 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
36585 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
36586 flag when running on SmartFirmware.
36587 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
36588 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
36589 was set.
36590
36591 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36592 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
36593 rather than decreasing it.
36594
36595 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
36596 there's not enough space to do it, fail in the same way as when it
36597 can't be done because there are no partitions.
36598
36599 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
36600 when nvsetenv failed.
36601
969c02ec 366022007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36603
36604 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
36605 because this rule is automatically generated.
36606 (grub-mkrescue): Removed for the same reason as above.
36607
5a79f472 366082007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36609
36610 Migrate to GNU General Public License Version 3.
f19dbdb7 36611
5a79f472 36612 * COPYING: Replaced with the plain text version of GPLv3.
36613
36614 * config.guess: Updated from gnulib.
36615 * config.sub: Likewise.
36616
36617 * geninit.sh: Output a GPLv3 copyright notice.
36618 * geninitheader.sh: Likewise.
36619 * genmodsrc.sh: Likewise.
36620 * gensymlist.sh.in: Likewise.
36621
36622 * boot/i386/pc/boot.S: Upgraded to GPLv3.
36623 * boot/i386/pc/diskboot.S: Likewise.
36624 * boot/i386/pc/pxeboot.S: Likewise.
36625 * commands/blocklist.c: Likewise.
36626 * commands/boot.c: Likewise.
36627 * commands/cat.c: Likewise.
36628 * commands/cmp.c: Likewise.
36629 * commands/configfile.c: Likewise.
36630 * commands/echo.c: Likewise.
36631 * commands/help.c: Likewise.
36632 * commands/ls.c: Likewise.
36633 * commands/search.c: Likewise.
36634 * commands/terminal.c: Likewise.
36635 * commands/test.c: Likewise.
36636 * commands/videotest.c: Likewise.
36637 * commands/i386/cpuid.c: Likewise.
36638 * commands/i386/pc/halt.c: Likewise.
36639 * commands/i386/pc/play.c: Likewise.
36640 * commands/i386/pc/reboot.c: Likewise.
36641 * commands/i386/pc/vbeinfo.c: Likewise.
36642 * commands/i386/pc/vbetest.c: Likewise.
36643 * commands/ieee1275/halt.c: Likewise.
36644 * commands/ieee1275/reboot.c: Likewise.
36645 * commands/ieee1275/suspend.c: Likewise.
36646 * disk/loopback.c: Likewise.
36647 * disk/lvm.c: Likewise.
36648 * disk/raid.c: Likewise.
36649 * disk/efi/efidisk.c: Likewise.
36650 * disk/i386/pc/biosdisk.c: Likewise.
36651 * disk/ieee1275/ofdisk.c: Likewise.
36652 * font/manager.c: Likewise.
36653 * fs/affs.c: Likewise.
36654 * fs/ext2.c: Likewise.
36655 * fs/fat.c: Likewise.
36656 * fs/fshelp.c: Likewise.
36657 * fs/hfs.c: Likewise.
36658 * fs/hfsplus.c: Likewise.
36659 * fs/iso9660.c: Likewise.
36660 * fs/jfs.c: Likewise.
36661 * fs/minix.c: Likewise.
36662 * fs/sfs.c: Likewise.
36663 * fs/ufs.c: Likewise.
36664 * fs/xfs.c: Likewise.
36665 * hello/hello.c: Likewise.
36666 * include/grub/acorn_filecore.h: Likewise.
36667 * include/grub/arg.h: Likewise.
36668 * include/grub/bitmap.h: Likewise.
36669 * include/grub/boot.h: Likewise.
36670 * include/grub/cache.h: Likewise.
36671 * include/grub/device.h: Likewise.
36672 * include/grub/disk.h: Likewise.
36673 * include/grub/dl.h: Likewise.
36674 * include/grub/elfload.h: Likewise.
36675 * include/grub/env.h: Likewise.
36676 * include/grub/err.h: Likewise.
36677 * include/grub/file.h: Likewise.
36678 * include/grub/font.h: Likewise.
36679 * include/grub/fs.h: Likewise.
36680 * include/grub/fshelp.h: Likewise.
36681 * include/grub/gzio.h: Likewise.
36682 * include/grub/hfs.h: Likewise.
36683 * include/grub/kernel.h: Likewise.
36684 * include/grub/loader.h: Likewise.
36685 * include/grub/lvm.h: Likewise.
36686 * include/grub/misc.h: Likewise.
36687 * include/grub/mm.h: Likewise.
36688 * include/grub/net.h: Likewise.
36689 * include/grub/normal.h: Likewise.
36690 * include/grub/parser.h: Likewise.
36691 * include/grub/partition.h: Likewise.
36692 * include/grub/pc_partition.h: Likewise.
36693 * include/grub/raid.h: Likewise.
36694 * include/grub/rescue.h: Likewise.
36695 * include/grub/script.h: Likewise.
36696 * include/grub/setjmp.h: Likewise.
36697 * include/grub/symbol.h: Likewise.
36698 * include/grub/term.h: Likewise.
36699 * include/grub/terminfo.h: Likewise.
36700 * include/grub/tparm.h: Likewise.
36701 * include/grub/types.h: Likewise.
36702 * include/grub/video.h: Likewise.
36703 * include/grub/efi/api.h: Likewise.
36704 * include/grub/efi/chainloader.h: Likewise.
36705 * include/grub/efi/console.h: Likewise.
36706 * include/grub/efi/console_control.h: Likewise.
36707 * include/grub/efi/disk.h: Likewise.
36708 * include/grub/efi/efi.h: Likewise.
36709 * include/grub/efi/pe32.h: Likewise.
36710 * include/grub/efi/time.h: Likewise.
36711 * include/grub/i386/linux.h: Likewise.
36712 * include/grub/i386/setjmp.h: Likewise.
36713 * include/grub/i386/types.h: Likewise.
36714 * include/grub/i386/efi/kernel.h: Likewise.
36715 * include/grub/i386/efi/loader.h: Likewise.
36716 * include/grub/i386/efi/time.h: Likewise.
36717 * include/grub/i386/pc/biosdisk.h: Likewise.
36718 * include/grub/i386/pc/boot.h: Likewise.
36719 * include/grub/i386/pc/chainloader.h: Likewise.
36720 * include/grub/i386/pc/console.h: Likewise.
36721 * include/grub/i386/pc/init.h: Likewise.
36722 * include/grub/i386/pc/kernel.h: Likewise.
36723 * include/grub/i386/pc/loader.h: Likewise.
36724 * include/grub/i386/pc/memory.h: Likewise.
36725 * include/grub/i386/pc/multiboot.h: Likewise.
36726 * include/grub/i386/pc/serial.h: Likewise.
36727 * include/grub/i386/pc/time.h: Likewise.
36728 * include/grub/i386/pc/vbe.h: Likewise.
36729 * include/grub/i386/pc/vbeblit.h: Likewise.
36730 * include/grub/i386/pc/vbefill.h: Likewise.
36731 * include/grub/i386/pc/vbeutil.h: Likewise.
36732 * include/grub/i386/pc/vga.h: Likewise.
36733 * include/grub/ieee1275/ieee1275.h: Likewise.
36734 * include/grub/ieee1275/ofdisk.h: Likewise.
36735 * include/grub/powerpc/libgcc.h: Likewise.
36736 * include/grub/powerpc/setjmp.h: Likewise.
36737 * include/grub/powerpc/types.h: Likewise.
36738 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
36739 * include/grub/powerpc/ieee1275/console.h: Likewise.
36740 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
36741 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
36742 * include/grub/powerpc/ieee1275/loader.h: Likewise.
36743 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
36744 * include/grub/powerpc/ieee1275/time.h: Likewise.
36745 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
36746 * include/grub/sparc64/libgcc.h: Likewise.
36747 * include/grub/sparc64/setjmp.h: Likewise.
36748 * include/grub/sparc64/types.h: Likewise.
36749 * include/grub/sparc64/ieee1275/console.h: Likewise.
36750 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36751 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36752 * include/grub/sparc64/ieee1275/time.h: Likewise.
36753 * include/grub/util/biosdisk.h: Likewise.
36754 * include/grub/util/getroot.h: Likewise.
36755 * include/grub/util/lvm.h: Likewise.
36756 * include/grub/util/misc.h: Likewise.
36757 * include/grub/util/raid.h: Likewise.
36758 * include/grub/util/resolve.h: Likewise.
36759 * io/gzio.c: Likewise.
36760 * kern/device.c: Likewise.
36761 * kern/disk.c: Likewise.
36762 * kern/dl.c: Likewise.
36763 * kern/elf.c: Likewise.
36764 * kern/env.c: Likewise.
36765 * kern/err.c: Likewise.
36766 * kern/file.c: Likewise.
36767 * kern/fs.c: Likewise.
36768 * kern/loader.c: Likewise.
36769 * kern/main.c: Likewise.
36770 * kern/misc.c: Likewise.
36771 * kern/mm.c: Likewise.
36772 * kern/parser.c: Likewise.
36773 * kern/partition.c: Likewise.
36774 * kern/rescue.c: Likewise.
36775 * kern/term.c: Likewise.
36776 * kern/efi/efi.c: Likewise.
36777 * kern/efi/init.c: Likewise.
36778 * kern/efi/mm.c: Likewise.
36779 * kern/i386/dl.c: Likewise.
36780 * kern/i386/efi/init.c: Likewise.
36781 * kern/i386/efi/startup.S: Likewise.
36782 * kern/i386/pc/init.c: Likewise.
36783 * kern/i386/pc/lzo1x.S: Likewise.
36784 * kern/i386/pc/startup.S: Likewise.
36785 * kern/ieee1275/ieee1275.c: Likewise.
36786 * kern/powerpc/cache.S: Likewise.
36787 * kern/powerpc/dl.c: Likewise.
36788 * kern/powerpc/ieee1275/cmain.c: Likewise.
36789 * kern/powerpc/ieee1275/crt0.S: Likewise.
36790 * kern/powerpc/ieee1275/init.c: Likewise.
36791 * kern/powerpc/ieee1275/openfw.c: Likewise.
36792 * kern/sparc64/cache.S: Likewise.
36793 * kern/sparc64/dl.c: Likewise.
36794 * kern/sparc64/ieee1275/init.c: Likewise.
36795 * kern/sparc64/ieee1275/openfw.c: Likewise.
36796 * loader/efi/chainloader.c: Likewise.
36797 * loader/efi/chainloader_normal.c: Likewise.
36798 * loader/i386/efi/linux.c: Likewise.
36799 * loader/i386/efi/linux_normal.c: Likewise.
36800 * loader/i386/pc/chainloader.c: Likewise.
36801 * loader/i386/pc/chainloader_normal.c: Likewise.
36802 * loader/i386/pc/linux.c: Likewise.
36803 * loader/i386/pc/linux_normal.c: Likewise.
36804 * loader/i386/pc/multiboot.c: Likewise.
36805 * loader/i386/pc/multiboot_normal.c: Likewise.
36806 * loader/powerpc/ieee1275/linux.c: Likewise.
36807 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36808 * normal/arg.c: Likewise.
36809 * normal/cmdline.c: Likewise.
36810 * normal/command.c: Likewise.
36811 * normal/completion.c: Likewise.
36812 * normal/execute.c: Likewise.
36813 * normal/function.c: Likewise.
36814 * normal/lexer.c: Likewise.
36815 * normal/main.c: Likewise.
36816 * normal/menu.c: Likewise.
36817 * normal/menu_entry.c: Likewise.
36818 * normal/misc.c: Likewise.
36819 * normal/parser.y: Likewise.
36820 * normal/script.c: Likewise.
36821 * normal/i386/setjmp.S: Likewise.
36822 * normal/powerpc/setjmp.S: Likewise.
36823 * normal/sparc64/setjmp.S: Likewise.
36824 * partmap/acorn.c: Likewise.
36825 * partmap/amiga.c: Likewise.
36826 * partmap/apple.c: Likewise.
36827 * partmap/gpt.c: Likewise.
36828 * partmap/pc.c: Likewise.
36829 * partmap/sun.c: Likewise.
36830 * term/gfxterm.c: Likewise.
36831 * term/terminfo.c: Likewise.
36832 * term/efi/console.c: Likewise.
36833 * term/i386/pc/console.c: Likewise.
36834 * term/i386/pc/serial.c: Likewise.
36835 * term/i386/pc/vesafb.c: Likewise.
36836 * term/i386/pc/vga.c: Likewise.
36837 * term/ieee1275/ofconsole.c: Likewise.
36838 * util/biosdisk.c: Likewise.
36839 * util/console.c: Likewise.
36840 * util/genmoddep.c: Likewise.
36841 * util/getroot.c: Likewise.
36842 * util/grub-emu.c: Likewise.
36843 * util/grub-mkdevicemap.c: Likewise.
36844 * util/grub-probe.c: Likewise.
36845 * util/lvm.c: Likewise.
36846 * util/misc.c: Likewise.
36847 * util/raid.c: Likewise.
36848 * util/resolve.c: Likewise.
36849 * util/update-grub.in: Likewise.
36850 * util/update-grub_lib.in: Likewise.
36851 * util/grub.d/00_header.in: Likewise.
36852 * util/grub.d/10_hurd.in: Likewise.
36853 * util/grub.d/10_linux.in: Likewise.
36854 * util/i386/efi/grub-install.in: Likewise.
36855 * util/i386/efi/grub-mkimage.c: Likewise.
36856 * util/i386/pc/grub-install.in: Likewise.
36857 * util/i386/pc/grub-mkimage.c: Likewise.
36858 * util/i386/pc/grub-mkrescue.in: Likewise.
36859 * util/i386/pc/grub-setup.c: Likewise.
36860 * util/i386/pc/misc.c: Likewise.
36861 * util/powerpc/ieee1275/grub-install.in: Likewise.
36862 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
36863 * util/powerpc/ieee1275/misc.c: Likewise.
36864 * video/bitmap.c: Likewise.
36865 * video/video.c: Likewise.
36866 * video/i386/pc/vbe.c: Likewise.
36867 * video/i386/pc/vbeblit.c: Likewise.
36868 * video/i386/pc/vbefill.c: Likewise.
36869 * video/i386/pc/vbeutil.c: Likewise.
36870 * video/readers/tga.c: Likewise.
36871
3572d015 368722007-07-02 Robert Millan <rmh@aybabtu.com>
36873
36874 * conf/i386-efi.rmk: Replace obsolete reference to
36875 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
36876 with util/getroot.c.
36877 * conf/powerpc-ieee1275.rmk: Likewise.
36878 * conf/sparc64-ieee1275.rmk: Likewise.
36879
36880 * util/grub-emu.c (main): Fix unchecked pointer handling.
36881
2c2a681b 368822007-07-02 Robert Millan <rmh@aybabtu.com>
36883
36884 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
36885 invocation to fail, in order to support partition-less media.
36886
36887 * util/i386/pc/grub-install.in: Likewise.
36888
36889 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
36890 which fs or partmap modules are needed (akin to its sister scripts).
36891
36892 Also use grub-probe to get rid of unportable /proc/mounts check.
36893
36894 Print the same informational message that the other scripts do, before
fe6b695a 36895 exiting.
2c2a681b 36896
6193defe 368972007-06-23 Robert Millan <rmh@aybabtu.com>
36898
fe6b695a 36899 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 36900 a font file can be found and, if so, echo the GRUB path to it.
36901
36902 * util/update-grub.in: Handle multiple terminals depending on user
36903 input, platform availability and font file presence. Propagate
36904 variables of our findings to /etc/grub.d/ children.
36905
36906 * util/grub.d/00_header.in: Handle multiple terminals, based on
36907 environment setup by update-grub.
36908
eface1dc 369092007-06-23 Robert Millan <rmh@aybabtu.com>
36910
ba50d28f 36911 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 36912
bf697e28 369132007-06-21 Robert Millan <rmh@aybabtu.com>
36914
36915 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
36916 indicate end of data section in kernel image.
36917 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
36918 GRUB_KERNEL_MACHINE_DATA_END.
36919
36920 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
36921 space for it.
36922 * kern/i386/efi/startup.S: Likewise.
36923
36924 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
36925 during image generation. Implement --prefix option to override this
36926 patch.
36927 * util/i386/efi/grub-mkimage.c: Likewise.
36928
36929 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
36930 code to make path relative to its root into a separate function.
36931
36932 * util/i386/pc/grub-install.in: Use newly provided
36933 make_system_path_relative_to_its_root() to convert ${grubdir}, then
36934 pass the result to grub-install --prefix.
36935
baa574b4 369362007-06-13 Robert Millan <rmh@aybabtu.com>
36937
36938 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
36939 DEFAULT_DEVICE_MAP.
36940 * util/grub-emu.c: Use above definitions from misc.h instead of
36941 defining them.
36942 * util/grub-mkdevicemap.c: Likewise.
36943 * util/i386/pc/grub-setup.c: Likewise.
36944 * util/grub-probe.c: Likewise.
36945 (probe): Abort with grub_util_error() when either
36946 grub_guess_root_device or grub_util_get_grub_dev fails.
36947
0215dcbf 369482007-06-12 Robert Millan <rmh@aybabtu.com>
36949
36950 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
36951 "pager" assignment.
36952 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
36953 "pcdata".
36954 * util/grub-probe.c (probe): Likewise for "drive_name".
36955
8af2ab7b 369562007-06-11 Robert Millan <rmh@aybabtu.com>
36957
36958 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
36959 not just the cdrom one.
36960
59d31694 369612007-06-11 Robert Millan <rmh@aybabtu.com>
36962
36963 * util/i386/pc/grub-mkrescue.in: Add "set -e".
36964 Add --pkglibdir=DIR option to override pkglibdir.
36965 Mention --image-type=TYPE in help output.
36966 Fix --grub-mkimage (it was a no-op).
fe6b695a 36967 Abort gracefully when no parameter is given.
59d31694 36968
7ee367e4 369692007-06-11 Robert Millan <rmh@aybabtu.com>
36970
36971 * util/i386/pc/grub-mkrescue.in: New file.
36972 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
36973 * Makefile.in: Handle bin_SCRIPTS.
36974
29b0ed46 369752007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
36976
36977 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
36978 list of video modes.
36979
c0f90770 369802007-06-06 Robert Millan <rmh@aybabtu.com>
36981
36982 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
36983 file doesn't exist, or if it is in a filesystem grub can't read.
36984
36985 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
36986 not abort if GRUB_DRIVE could not be defined. Rearrange generated
36987 header comment to fit in 80 columns when the variables are resolved.
36988
36989 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
36990 could be identified by update-grub. Remove redundant check for
fe6b695a 36991 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 36992 handles that).
36993
fb36dc26 369942007-06-04 Robert Millan <rmh@aybabtu.com>
36995
36996 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
36997
36998 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
36999
37000 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
37001
0c68c93e 370022007-06-04 Robert Millan <rmh@aybabtu.com>
37003
37004 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
37005
37006 * include/grub/partition.h: Declare grub_apple_partition_map_init and
37007 grub_apple_partition_map_fini.
37008
37009 * util/biosdisk.c
37010 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
37011 to access >2 TiB disks).
37012
37013 Print disk->total_sectors with %llu instead of %lu, since this
37014 variable is always 64-bit (prevents wrong disk size from being displayed
37015 on either >2 TiB disk or big-endian CPU).
37016
37017 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
37018 into a generic case that supports all (sane) partition maps.
37019
37020 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
37021 breaks big-endian.
37022
37023 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
37024 and grub_apple_partition_map_fini() after that.
37025
0f23eb74 370262007-06-01 Robert Millan <rmh@aybabtu.com>
37027
37028 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
37029
37030 * util/grub.d/00_header.in: Only enable gfxterm when
37031 convert_system_path_to_grub_path() succeeds.
37032
42c71976 370332007-05-20 Robert Millan <rmh@aybabtu.com>
37034
37035 * util/update-grub_lib.in: New file.
37036 * DISTLIST: Add update-grub_lib.in.
37037 * conf/common.rmk: Generate update-grub_lib and install it in
37038 $(lib_DATA).
37039 * Makefile.in: Add install routine for $(lib_DATA).
37040
37041 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
37042 function provided by update-grub_lib to support arbitrary paths of
37043 unifont.pff.
37044 * util/update-grub.in: Use convert_system_path_to_grub_path() to
37045 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
37046
5beb2291 370472007-05-19 Robert Millan <rmh@aybabtu.com>
37048
37049 * commands/i386/cpuid.c: New module.
37050 * DISTLIST: Add it.
37051 * conf/i386-efi.rmk: Enable cpuid.mod.
37052 * conf/i386-pc.rmk: Likewise.
37053
7262eca1 370542007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37055
37056 * kern/disk.c (grub_disk_read): Check return value of
37057 grub_realloc().
37058
260ba823 370592007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37060
37061 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
37062 arrays.
37063 * disk/raid.c (grub_raid_open): Likewise.
37064
1ecb6cf2 370652007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37066
37067 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
37068 stack instead of on the heap.
37069
37070 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
37071 before doing a read on it.
37072
37073 * configure.ac: Only use -fno-stack-protector for the target
37074 environment.
f19dbdb7 37075
21c8cbb1 370762007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37077
37078 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
37079 __attribute_ ((unused)) to mode_type argument.
37080
37081 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 37082
21c8cbb1 37083 * kern/misc.c (memcmp): Fix prototype.
37084
37085 * include/grub/partition.h [GRUB_UTIL]
37086 (grub_gpt_partition_map_init): Add prototype.
37087 (grub_gpt_partition_map_fini): Likewise.
37088
37089 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
37090 at the right place.
37091
37092 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
37093 (grub_fat_read_data): Likewise.
37094 (grub_fat_find_dir): Likewise.
37095
37096 * font/manager.c (find_glyph): Make table a const.
37097 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 37098
849d55d3 370992007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
37100
37101 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
37102 code, first search for device in /dev/mapper, then in /dev.
37103 (grub_util_get_grub_dev): New function.
37104 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
37105 prototype.
37106 * util/grub-probe.c (probe): Remove check for RAID, call
37107 grub_util_get_grub_dev() instead of
37108 grub_util_biosdisk_get_grub_dev().
37109 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37110 grub_util_biosdisk_get_grub_dev().
37111 * util/i386/pc/grub-setup.c (main): Likewise.
37112
8fff7c2f 371132007-05-16 Robert Millan <rmh@aybabtu.com>
37114
37115 * DISTLIST: Update for the latest changes.
37116 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37117 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37118 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37119 grub/util/biosdisk.h.
37120 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37121 grub/util/biosdisk.h.
37122
48e12b52 371232007-05-16 Robert Millan <rmh@aybabtu.com>
37124
37125 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37126
46b9d128 371272007-05-16 Robert Millan <rmh@aybabtu.com>
37128
37129 * util/i386/efi/grub-install.in: New.
37130 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37131 newly added grub-install.
37132 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37133 include.
37134 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37135 grub/util/biosdisk.h.
37136 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37137 grub/util/biosdisk.h.
37138
2d1a40a9 371392007-05-16 Robert Millan <rmh@aybabtu.com>
37140
37141 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37142 * include/grub/util/biosdisk.h: ... here.
37143 * util/i386/pc/biosdisk.c: Moved to ...
37144 * util/biosdisk.c: ... here.
37145 * util/i386/pc/getroot.c: Moved to ...
37146 * util/getroot.c: ... here.
37147 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37148 * util/grub-mkdevicemap.c: ... here.
37149 * util/i386/pc/grub-probe.c: Moved to ...
37150 * util/grub-probe.c: ... here.
37151
9e26e3bc 371522007-05-15 Robert Millan <rmh@aybabtu.com>
37153
37154 * util/update-grub.in: Remove duplicated line in grub.cfg header
37155 message.
37156
57f96397 371572007-05-13 Robert Millan <rmh@aybabtu.com>
37158
37159 * util/update-grub.in: Fix a few assumptions about the devices holding
37160 /, /boot and /boot/grub being the same.
37161 * util/grub.d/00_header.in: Likewise.
37162 * util/grub.d/10_hurd.in: Likewise.
37163 * util/grub.d/10_linux.in: Likewise.
37164
37165 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37166 patterns. Use that to define the `.old' suffix as older than `'.
37167
37168 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37169
37170 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37171 the grub.cfg header message.
37172
2e610d62 371732007-05-11 Robert Millan <rmh@aybabtu.com>
37174
37175 * util/update-grub.in: Create device.map if it doesn't already exist,
37176 before attempting to run grub-probe.
37177 Check for grub-probe and grub-mkdevicemap with the same code
37178 grub-install is using.
37179 Remove test mode.
37180
3f6a10ef 371812007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
37182
37183 * Makefile.in: Add the datarootdir autoconf variable.
37184
02e7b75e 371852007-05-09 Robert Millan <rmh@aybabtu.com>
37186
37187 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 37188 fail gracefully if dev->disk->partition == NULL.
02e7b75e 37189
75f396cc 371902007-05-07 Robert Millan <rmh@aybabtu.com>
37191
37192 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
37193 determine partition map module.
37194 * util/i386/pc/grub-install.in: Use this feature to decide which
37195 partition module to load, instead of hardcoding pc and gpt.
37196
da65cb36 371972007-05-07 Robert Millan <rmh@aybabtu.com>
37198
37199 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
37200 source directory differs from build directory.
37201
b57d6a91 372022007-05-05 Robert Millan <rmh@aybabtu.com>
37203
37204 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
37205 initialisation.
37206
509d00f1 372072007-05-05 Robert Millan <rmh@aybabtu.com>
37208
37209 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
37210
c48f23ef 372112007-05-05 Robert Millan <rmh@aybabtu.com>
37212
37213 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
37214 command-line arguments via ${GRUB_CMDLINE_LINUX}.
37215
20b97658 372162007-05-05 Robert Millan <rmh@aybabtu.com>
37217
37218 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
37219 (grub_probe_SOURCES): Likewise.
37220 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
37221 GPT and initialize dos_part and bsd_part accordingly.
37222 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
37223 install_bsd_part.
37224 (main): Activate gpt module for use during partition identification,
37225 and deactivate it afterwards.
37226 * util/i386/pc/grub-install.in: Add gpt module to core.img.
37227 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
37228 partition identification, and deactivate it afterwards.
37229
99123174 372302007-05-05 Robert Millan <rmh@aybabtu.com>
37231
37232 * term/i386/pc/console.c (grub_console_fini): Call
37233 grub_term_set_current() before grub_term_unregister().
37234
ebd97f6e 372352007-05-04 Robert Millan <rmh@aybabtu.com>
37236
37237 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
37238 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
37239 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
37240 and update-grub_DATA.
37241 * conf/common.rmk: Build and install update-grub components.
37242 * conf/common.mk: Regenerate.
37243 * util/update-grub.in: New. Core of update-grub.
37244 * util/grub.d/00_header.in: New. Generates grub.cfg header.
37245 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
37246 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
37247 * util/grub.d/README: New. Document grub.d directory layout.
37248
b06a264d 372492007-05-01 Robert Millan <rmh@aybabtu.com>
37250
37251 * util/grub-emu.c: Move initialization functions
37252 grub_util_biosdisk_init() and grub_init_all() before
37253 grub_util_biosdisk_get_grub_dev(), which relies on them.
37254
41f0050e 372552007-04-19 Robert Millan <rmh@aybabtu.com>
37256
37257 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
37258 it is used later.
37259
04582bb3 372602007-04-18 Jerone Young <jerone@gmail.com>
37261
f19dbdb7 37262 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 37263 stanza.
37264
08db4632 372652007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 37266
08db4632 37267 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
37268 continue on and look for device node with real device name.
37269
801b76be 372702007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 37271
fe6b695a 37272 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 37273 ability.
37274 * Makefile.in: Add autoconf package transformation code.
37275 * util/i386/pc/grub-install.in: Likewise.
37276 * util/powerpc/ieee1275/grub-install.in: Likewise.
37277
6795c4e1 372782007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37279
37280 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
37281 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
37282 (EXT2_REVISION): Likewise.
37283 (EXT2_INODE_SIZE): Likewise.
37284 (struct grub_ext2_block_group): Added a missing member
37285 "used_dirs".
37286 (grub_ext2_read_inode): Divide by the inode size in a superblock
37287 instead of 128 to obtain INODES_PER_BLOCK.
37288 Use the macro EXT2_INODE_SIZE instead of directly using
37289 SBLOCK->INODE_SIZE.
37290
d70af616 372912007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37292
37293 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
37294 superblock instead of the structure size to compute an
37295 offset. This fixes the problem that GRUB could not read a
37296 filesystem when inode size is different from 128-byte.
37297
3b801603 372982007-03-05 Marco Gerards <marco@gnu.org>
37299
37300 * normal/main.c (read_config_file): When "menu" is not set, create
37301 an initial context.
37302
4785bfe4 373032007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37304
37305 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
37306 (HEAP_LIMIT): New macro.
37307 (grub_claim_heap): Claim memory up to `heaplimit'.
37308
a0cbb023 373092007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37310
37311 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
37312 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
37313 (_start): Likewise.
37314 (grub_arch_modules_addr): Return address after `_end'.
37315 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
37316 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
37317 (add_segments): Calculate `_end' from phdr size and location.
37318 (ALIGN_UP): Moved to ...
37319 * include/grub/misc.h: here.
37320 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37321 New macro.
37322 (GRUB_IEEE1275_MODULE_BASE): Removed.
37323
fd7d8eba 373242007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37325
37326 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
37327 loop boundary.
37328
9b09e6fc 373292007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37330
37331 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
37332 All users updated.
37333 (grub_elf64_load_hook_t): Likewise.
37334 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
37335 debug output.
37336
3ce27299 373372007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37338
37339 * kern/mm.c: Update copyright.
37340 (grub_mm_debug): Correct syntax error.
37341 (grub_mm_dump_free): New function.
37342 (grub_debug_free): Call `grub_free'.
37343 * include/grub/mm.h: Update copyright.
37344 (grub_mm_dump_free): Add declaration.
37345
077d5fee 373462007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37347
37348 * include/grub/ieee1275/ieee1275.h: Update copyright.
37349 * kern/powerpc/ieee1275/init.c: Likewise.
37350 * kern/powerpc/ieee1275/openfw.c: Likewise.
37351
37352 * loader/powerpc/ieee1275/linux.c: Likewise.
37353 * include/grub/elfload.h: Likewise.
37354 * kern/elf.c: Likewise.
37355 (grub_elf32_load): Pass `base' and `size' parameters. Update all
37356 callers.
37357 (grub_elf64_load): Likewise.
37358 (grub_elf32_load_segment): Move to a nested function.
37359 (grub_elf64_load_segment): Likewise.
37360
dc946850 373612007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37362
37363 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
37364 prototype.
37365 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
37366 (grub_heap_len): Likewise.
37367 (HEAP_SIZE): New macro.
37368 (grub_claim_heap): New function.
37369 (grub_machine_init): Don't claim heap directly. Call
37370 `grub_claim_heap'.
37371 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
37372 (grub_available_iterate): New function.
37373
baa2a121 373742007-02-03 Thomas Schwinge <tschwinge@gnu.org>
37375
37376 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
37377 * configure.ac: Use it for testing the HOST and TARGET compilers.
37378
4fe9862e 373792006-12-13 Thomas Schwinge <tschwinge@gnu.org>
37380
37381 * Makefile.in (enable_grub_emu): New variable.
37382 * configure.ac (--enable-grub-emu): New option.
37383 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
37384 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
37385 * conf/i386-pc.rmk: Likewise.
37386 * conf/powerpc-ieee1275.rmk: Likewise.
37387 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
37388
a8aa5762 373892006-12-12 Marco Gerards <marco@gnu.org>
37390
37391 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
37392
37393 * kern/env.c (grub_env_unset): Don't free the member `value' when
37394 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
37395 pointer.
37396
37397 * normal/main.c (current_menu): Removed.
37398 (free_menu): Unset the `menu' environment variable.
37399 (grub_normal_menu_addentry): Make use of the environment variable
37400 `menu', instead of using the global `current_menu'. Allocate
37401 memory for the sourcecode of this entry.
37402 (read_config_file): New argument `nested', changed all callers.
37403 Only in the case of a new context, initialize a new menu. Set the
37404 `menu' environment variable.
37405 (grub_normal_execute): Don't set and unset the environment
37406 variable `menu' here anymore. Only free the menu when leaving the
37407 context.
37408
37409 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
37410 leak.
37411
957b3a3e 374122006-12-11 Marco Gerards <marco@gnu.org>
37413
37414 * normal/menu_entry.c (run): Fix off by one bug so the last line
37415 is executed. Move the loader check to outside the loop.
37416
ef875714 374172006-12-08 Hollis Blanchard <hollis@penguinppc.org>
37418
37419 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
37420
4e739985 374212006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
37422
37423 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
37424 the number of sectors. Reported by Andrey Shuvikov
37425 <mr_hyro@yahoo.com>.
f19dbdb7 37426
790707f2 374272006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
37428
37429 * kern/disk.c (grub_disk_read): When there is a read error, always
37430 try to read only the necessary data.
f19dbdb7 37431
790707f2 37432 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
37433 disk/raid.c.
37434 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
37435 prototype.
37436 [GRUB_UTIL] (grub_raid_fini): Likewise.
37437 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 37438 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 37439 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
37440 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
37441 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
37442 and grub_raid_fini().
f19dbdb7 37443
03e58196 374442006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37445
37446 * include/grub/types.h (__unused): Rename to UNUSED.
37447 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
37448 (grub_elf64_size): Likewise.
f19dbdb7 37449
ae4f23bf 374502006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37451
37452 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
37453 grub_error_push and grub_error_pop in the error-handling path.
37454 (grub_elf32_load_segment): Only call grub_file_read with non-zero
37455 length.
37456
2166cc83 374572006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37458
37459 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
37460 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37461 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37462 (kernel_elf_SOURCES): Likewise.
37463 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
37464 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
37465 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37466 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37467 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
37468 (elf_mod_SOURCES): New variable.
37469 (elf_mod_CFLAGS): Likewise.
37470 (elf_mod_LDFLAGS): Likewise.
37471 * include/grub/types.h (__unused): New macro.
37472 * include/grub/elfload.h: New file.
37473 * kern/elf.c: Likewise.
37474 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
37475 (ELF32_LOADMASK): New macro.
37476 (ELF64_LOADMASK): Likewise.
37477 (vmlinux): Removed.
37478 (grub_linux_load32): New function.
37479 (grub_linux_load64): Likewise.
37480 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
37481 Use grub_elf_t instead of grub_file_t.
37482
a09d5aa5 374832006-11-02 Hollis Blanchard <hollis@penguinppc.org>
37484
37485 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
37486 `catch_result' to struct set_color_args.
37487
d976fc51 374882006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37489
37490 * normal/menu.c: Include grub/script.h.
37491 * normal/menu_entry.c: Likewise.
37492 * include/grub/normal.h: Do not include grub/script.h.
37493
67507549 374942006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37495
37496 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
37497
69203a99 374982006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37499
37500 * kern/disk.c (grub_disk_open): Print debug messages when opening a
37501 disk.
37502 (grub_disk_close): Print debug messages when closing a disk.
37503 (grub_disk_read): Print debug messages when disk read fails.
37504 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
37505 filesystem type.
37506 * kern/partition.c: Include misc.h.
37507 (grub_partition_iterate): Print debug messages when detecting
37508 partition type.
37509
e2b8278c 375102006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37511
37512 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
37513 is negative.
37514 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
37515
97b2f2ff 375162006-10-26 Hollis Blanchard <hollis@penguinppc.org>
37517
37518 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37519 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
37520
6555d655 375212006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
37522
37523 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
37524 instead of sizeof(lv). Patch by Michael Guntsche.
37525
4d42b77f 375262006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
37527
37528 * disk/lvm.c: Rename VGS to VG_LIST.
37529 (grub_lvm_iterate): Change VGS->LV to VG-LV.
37530 (grub_lvm_open): Likewise.
37531 Thanks to Michael Guntsche for finding this bug.
37532
5d74d927 375332006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37534
37535 * configure.ac (AC_INIT): Bumped to 1.95.
37536
a1bb27e4 375372006-10-14 Robert Millan <rmh@aybabtu.com>
37538
37539 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
37540 with "/dev/.static/dev/md".
37541
e0994b8b 375422006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37543
37544 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
37545 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
37546 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
37547 DRIVE_NAME are always freed.
37548
37549 * util/i386/pc/biosdisk.c (make_device_name): Add one into
37550 DOS_PART, as a DOS partition is counted from one instead of zero
37551 now. Reported by Robert Millan.
37552
ddd5cee9 375532006-10-14 Robert Millan <rmh@aybabtu.com>
37554
37555 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
37556 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
37557 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
37558 string returned by grub_guess_root_device.
37559 * util/i386/pc/grub-setup.c: Likewise.
37560 * util/i386/pc/grub-probefs.c: Likewise.
37561
37562 * util/i386/pc/grub-probefs.c: Rename to ...
37563 * util/i386/pc/grub-probe.c: ... this.
37564 * DISTLIST: Remove grub-probefs, add grub-probe.
37565 * conf/i386-efi.rmk: Likewise.
37566 * conf/i386-pc.rmk: Likewise.
37567 * util/i386/pc/grub-install.in: Likewise.
37568
37569 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
37570 choose which information we want to print.
37571
2b002173 375722006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37573
37574 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
37575 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
37576 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
37577 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
37578 video/readers/tga.c and video/i386/pc/vbeutil.c.
37579
375802006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
37581
37582 Added support for RAID and LVM.
f19dbdb7 37583
2b002173 37584 * disk/lvm.c: New file.
37585 * disk/raid.c: Likewise.
37586 * include/grub/lvm.h: Likewise.
f19dbdb7 37587 * include/grub/raid.h: Likewise.
2b002173 37588 * include/grub/util/lvm.h: Likewise.
37589 * include/grub/util/raid.h: Likewise.
37590 * util/lvm.c: Likewise.
37591 * util/raid.c: Likewise.
37592
37593 * include/grub/disk.h (grub_disk_dev_id): Add
37594 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
37595 (grub_disk_get_size): New prototype.
37596 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
37597 returns a partition.
37598 (grub_disk_get_size): New function.
f19dbdb7 37599
2b002173 37600 * kern/i386/pc/init.c (make_install_device): Copy the prefix
37601 verbatim if grub_install_dos_part is -2.
37602
37603 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
37604 and LVM devices.
37605
37606 * util/i386/pc/grub-setup.c (setup): New argument
37607 MUST_EMBED. Force embedding of GRUB when the argument is
37608 true. Close FILE before returning.
37609 (main): Add support for RAID and LVM.
f19dbdb7 37610
2b002173 37611 * conf/common.rmk: Add RAID and LVM modules.
37612 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
37613 util/lvm.c.
37614 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
37615
37616 * kern/misc.c (grub_strstr): New function.
37617 * include/grub/misc.h (grub_strstr): New prototype.
37618
050548d0 376192006-10-10 Tristan Gingold <tristan.gingold@bull.net>
37620
37621 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
37622
da849d2d 376232006-10-05 Tristan Gingold <tristan.gingold@bull.net>
37624
37625 * kern/misc.c (grub_strtoull): Guess the base only if not
37626 specified.
37627
97b2f2ff 376282006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 37629
37630 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
37631 PowerMac support.
37632
97b2f2ff 376332006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 37634
37635 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
37636
37637 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
37638 Remove `flags' argument. All callers changed.
37639 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
37640 (IEEE1275_IHANDLE_INVALID): New variable.
37641 (IEEE1275_CELL_INVALID): New variable.
37642 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37643 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
37644 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
37645 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
37646 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
37647 codes from Open Firmware. All callers updated.
37648 (grub_ieee1275_next_property): Directly return Open Firmware return
37649 code.
37650 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37651 Standardize error checking from `grub_ieee1275_get_property'.
37652 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
37653 `devalias' to `aliases'. Correct comments. Consolidate error paths.
37654
97b2f2ff 376552006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 37656
37657 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
37658 `instance_to_package_args' to `instance_to_path_args'.
37659
37660 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
37661 `grub_ieee1275_chosen'.
37662
37663 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
37664 `grub_ieee1275_interpret'.
37665
97b2f2ff 376662006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 37667
37668 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
37669
97b2f2ff 376702006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 37671
37672 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
37673 (__cmpdi): Likewise.
37674
37675 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
37676 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
37677 `grub_ssize_t'.
37678
02bb8acc 37679 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 37680
37681 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
37682 to type `grub_ssize_t'.
37683 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
37684
7f9a8531 376852006-09-22 Marco Gerards <marco@gnu.org>
37686
37687 * normal/script.c (grub_script_create_cmdmenu): Skip leading
37688 newlines.
37689
b5ef1102 376902006-09-22 Marco Gerards <marco@gnu.org>
37691
37692 * commands/echo.c: New file.
37693
37694 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
37695
37696 * conf/common.rmk (echo_mod_SOURCES): New variable.
37697 (echo_mod_CFLAGS): Likewise.
37698 (echo_mod_LDFLAGS): Likewise.
37699
2cff3677 377002006-09-22 Marco Gerards <marco@gnu.org>
37701
37702 * normal/main.c (get_line): Malloc memory instead of using
37703 preallocated memory. Removed the arguments `cmdline' and
37704 `max_len'. Updated all callers.
37705
6ba4688b 377062006-09-22 Marco Gerards <marco@gnu.org>
37707
37708 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
37709 (normal_mod_DEPENDENCIES): Likewise.
37710
37711 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
37712 (normal_mod_DEPENDENCIES): Likewise.
37713
37714 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
37715
e02ac02c 377162006-09-22 Johan Rydberg <jrydberg@gnu.org>
37717
37718 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
37719 programs.
37720 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
37721 (normal_mod_DEPENDENCIES): Likewise.
37722 * conf/i386-pc.mk: Regenerate.
37723 * conf/i386-efi.mk: Likewise
37724 * conf/common.mk: Likewise.
37725 * conf/powerpc-ieee1275.mk: Likewise.
37726 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37727
8d252e44 377282006-09-22 Robert Millan <rmh@aybabtu.com>
37729
37730 Sync with i386 version.
37731 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
37732 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
37733
209bf7ac 377342006-09-21 Robert Millan <rmh@aybabtu.com>
37735
37736 Import from GRUB Legacy (lib/device.c):
37737 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
37738 (init_device_map) [__linux__]: Add support for I2O devices.
37739
6b146090 377402006-09-14 Marco Gerards <marco@gnu.org>
37741
37742 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
37743 `-melf_i386'.
37744
e38600a8 377452006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 37746
37747 * util/i386/pc/grub-install.in: Skip menu.lst when removing
37748 /boot/grub/*.lst.
78fa1790 37749
2952da5d 37750 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 37751
2952da5d 37752 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
37753 before adding it to device.map.
37754
01b82a64 377552006-08-15 Johan Rydberg <jrydberg@gnu.org>
37756
fe6b695a 37757 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 37758 compiles a file; using the -MD option.
37759 * conf/common.mk: Regenerate.
37760 * conf/i386-pc.mk: Likewise.
37761 * conf/i386-efi.mk: Likewise.
37762 * conf/powerpc-ieee1275.mk: Likewise.
37763 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37764
1064790d 377652006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
37766
37767 Move the prototypes of grub_setjmp and grub_longjmp to
37768 cpu/setjmp.h, so that each architecture may specify different
37769 attributes.
f19dbdb7 37770
1064790d 37771 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
37772 (grub_longjmp): Likewise.
37773 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
37774 (grub_longjmp): Likewise.
37775 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
37776 (grub_longjmp): Likewise.
37777
37778 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
37779 [!GRUB_UTIL] (grub_longjmp): Removed.
37780
29dda3ed 377812006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
37782
37783 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
37784 "color!" method does not return any value.
37785
ad2a06ed 377862006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37787
37788 * include/grub/bitmap.h: New file.
37789
37790 * include/grub/i386/pc/vbeutil.h: Likewise.
37791
37792 * video/bitmap.c: Likewise.
37793
37794 * video/readers/tga.c: Likewise.
37795
37796 * video/i386/pc/vbeutil.c: Likewise.
37797
37798 * commands/videotest.c: Code cleanup and updated to reflect to new
37799 video API.
37800
37801 * term/gfxterm.c: Likewise.
37802
37803 * video/video.c: Likewise.
37804
37805 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
37806 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
37807 (bitmap_mod_SOURCES): New entry.
37808 (bitmap_mod_CFLAGS): Likewise.
37809 (bitmap_mod_LDFLAGS): Likewise.
37810 (tga_mod_SOURCES): Likewise.
37811 (tga_mod_CFLAGS): Likewise.
37812 (tga_mod_LDFLAGS): Likewise.
37813
37814 * include/grub/video.h (grub_video_blit_operators): New enum type.
37815 (grub_video_render_target): Changed as forward declaration and moved
37816 actual definition to be video driver specific.
37817 (grub_video_adapter.blit_bitmap): Added blitting operator.
37818 (grub_video_adapter.blit_render_target): Likewise.
37819 (grub_video_blit_bitmap): Likewise.
37820 (grub_video_blit_render_target): Likewise.
37821
37822 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
37823 driver specific render target definition.
37824 (grub_video_vbe_map_rgba): Added driver internal helper.
37825 (grub_video_vbe_unmap_color): Updated to use
37826 grub_video_i386_vbeblit_info.
37827 (grub_video_vbe_get_video_ptr): Likewise.
37828
37829 * include/grub/i386/pc/vbeblit.h
37830 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
37831 grub_video_i386_vbeblit_info.
37832 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37833 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37834 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37835 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37836 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37837 (grub_video_i386_vbeblit_index_index): Likewise.
37838 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
37839 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37840 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37841 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
37842 operator.
37843 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
37844 operator.
37845
37846 * video/i386/pc/vbeblit.c: Updated to reflect changes on
37847 include/grub/i386/pc/vbeblit.h.
37848
37849 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
37850 Updated to use grub_video_i386_vbeblit_info.
37851 (grub_video_i386_vbefill_R8G8B8): Likewise.
37852 (grub_video_i386_vbefill_index): Likewise.
37853 (grub_video_i386_vbefill): Added generic filler.
37854
37855 * video/i386/pc/vbefill.c: Updated to reflect changes on
37856 include/grub/i386/pc/vbefill.h.
37857
37858 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
37859 grub_video_i386_vbeblit_info.
37860 (grub_video_vbe_unmap_color): Likewise.
37861 (grub_video_vbe_blit_glyph): Likewise.
37862 (grub_video_vbe_scroll): Likewise.
37863 (grub_video_vbe_draw_pixel): Removed function.
37864 (grub_video_vbe_get_pixel): Likewise.
37865 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
37866 updated code to use it.
37867 (common_blitter): Added common blitter for render target and bitmap.
37868 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
37869 (grub_video_vbe_blit_render_target): Likewise.
37870
bc8c036d 378712006-07-30 Johan Rydberg <jrydberg@gnu.org>
37872
37873 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
37874 is in text mode if there is no console control protocol instance
37875 available.
37876
684a8eff 378772006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37878
37879 * include/grub/video.h: Code cleanup.
37880
37881 * include/grub/i386/pc/vbe.h: Likewise.
37882
37883 * video/i386/pc/vbe.c: Likewise.
37884
37885 * video/i386/pc/vbeblit.c: Likewise.
37886
37887 * video/i386/pc/vbefill.c: Likewise.
37888
37889 * video/video.c: Likewise. Also added more comments.
37890
5915059b 378912006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37892
37893 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
37894 (struct grub_biosdisk_dap): Likewise.
37895
37896 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
37897 linkage settings for all functions.
37898
90ce5d56 378992006-07-12 Marco Gerards <marco@gnu.org>
37900
37901 * configure.ac (--enable-mm-debug): Fix typo.
37902
37903 * genkernsyms.sh.in: Use proper quoting for `CC'.
37904
43e7f879 379052006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
37906
37907 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
37908 (normal_mod_ASFLAGS): Remove "-m32".
37909
4889bdec 379102006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
37911
37912 * util/misc.c: Include config.h.
37913 [!HAVE_MEMALIGN]: Do not include malloc.h.
37914 (grub_memalign): Use posix_memalign, if present. Then, use
37915 memalign, if present. Otherwise, emit an error.
37916
37917 * util/grub-emu.c: Do not include malloc.h.
37918
37919 * include/grub/util/misc.h: Include unistd.h. This is required for
37920 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
37921 D. Eades III <hde@foobar-qux.org>.
37922
37923 * configure.ac (AC_GNU_SOURCE): Added.
37924 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
37925 type.
37926
fd39d4da 379272006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
37928
37929 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
37930 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
37931
b786f3b5 379322006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
37933
37934 * include/grub/types.h (grub_host_addr_t): Rename to
37935 grub_target_addr_t.
37936 (grub_host_off_t): Rename to grub_target_off_t.
37937 (grub_host_size_t): Rename to grub_target_size_t.
37938 (grub_host_ssize_t): Rename to grub_target_ssize_t.
37939 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
37940
37941 * include/grub/kernel.h (struct grub_module_header): Change type
37942 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
37943 (grub_module_info): Likewise.
f19dbdb7 37944
051988bb 379452006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37946
37947 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
37948 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
37949 Velazquez <jesus.velazquez@gmail.com>.
37950
deae281b 379512006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37952
37953 Count partitions from 1 instead of 0 in the string representation
37954 of partitions. Still use 0-based internally.
f19dbdb7 37955
deae281b 37956 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
37957 (sun_partition_map_iterate): Use grub_partition_t instead of
37958 struct grub_partition *. Cast DESC->START_CYLINDER to
37959 grub_uint64_t after converting the endian.
37960 (sun_partition_map_probe): Subtract 1 for PARTNUM.
37961 (sun_partition_map_get_name): Add 1 to P->INDEX.
37962
37963 * partmap/pc.c (grub_partition_parse): Subtract 1 for
37964 PCDATA->DOS_PART.
37965 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
37966
37967 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
37968 zero instead of one.
37969 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
37970 (gpt_partition_map_get_name): Add 1 into P->INDEX.
37971
37972 * partmap/apple.c (apple_partition_map_iterate): Change the type
37973 of POS to unsigned.
37974 (apple_partition_map_probe): Subtract 1 for PARTNUM.
37975 (apple_partition_map_get_name): Add 1 into P->INDEX.
37976
37977 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
37978 of POS to unsigned.
37979 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
37980 calculate the offset of a partition.
37981 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
37982 (amiga_partition_map_get_name): Add 1 into P->INDEX.
37983
37984 * partmap/acorn.c (acorn_partition_map_find): Change the type of
37985 SECTOR to grub_disk_addr_t.
37986 (acorn_partition_map_iterate): Likewise.
37987 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
37988 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
37989 top.
37990 (acorn_partition_map_get_name): Add 1 into P->INDEX.
37991
37992 * kern/i386/pc/init.c (make_install_device): Add 1 into
37993 GRUB_INSTALL_DOS_PART.
37994
37995 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
37996 conditional.
37997
524a1e6a 379982006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
37999
38000 Clean up the code to support 64-bit addressing in disks and
38001 files. This change is not enough for filesystems yet.
f19dbdb7 38002
524a1e6a 38003 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
38004 type of "start" to grub_uint64_t.
38005 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
38006 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
38007 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
38008 convert addresses.
38009
38010 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
38011 to grub_disk_addr_t.
38012
38013 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
38014 string.
38015
38016 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38017
38018 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
38019 to char *.
38020
38021 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
38022
38023 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
38024
38025 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
38026
38027 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
38028 to grub_off_t, to detect an error from grub_file_seek.
38029 (grub_multiboot_load_elf32): Likewise.
38030
38031 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
38032 maximum unsigned long value when an overflow is detected.
38033 (grub_strtoull): New function.
38034 (grub_divmod64): Likewise.
38035 (grub_lltoa): use grub_divmod64.
38036
38037 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
38038 grub_disk_addr_t.
38039 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
38040 the pointer to next character. Use grub_strtoull instead of
38041 grub_strtoul.
38042 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
38043 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
38044 respectively.
38045
fe6b695a 38046 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 38047 return value is signed.
38048 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
38049 test if OFFSET is less than zero, as OFFSET is unsigned now.
38050
38051 * kern/disk.c (struct grub_disk_cache): Change the type of
38052 "sector" to grub_disk_addr_t.
38053 (grub_disk_cache_get_index): Change the type of SECTOR to
38054 grub_disk_addr_t. Calculate the hash with SECTOR casted to
38055 unsigned after shifting.
38056 (grub_disk_cache_invalidate): Change the type of SECTOR to
38057 grub_disk_addr_t.
38058 (grub_disk_cache_unlock): Likewise.
38059 (grub_disk_cache_store): Likewise.
38060 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
38061 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
38062 grub_disk_addr_t and grub_uint64_t, respectively.
38063 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
38064 body, as the value of OFFSET is tweaked by
38065 grub_disk_check_range. Change the types of START_SECTOR, LEN and
38066 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
38067 respectively.
38068 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
38069 body, as the value of OFFSET is tweaked by
38070 grub_disk_check_range. Change the types of LEN and N to
38071 grub_size_t.
38072
38073 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
38074 and "saved_offset" to grub_off_t.
38075 (test_header): Cast BUF to char *.
38076 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
38077 to char *.
38078 (grub_gzio_read): Change the types of OFFSET and SIZE to
38079 grub_off_t and grub_size_t, respectively.
38080
38081 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
38082 Removed.
38083 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
38084 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
38085 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
38086 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
38087 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
38088
38089 * include/grub/types.h (grub_off_t): Unconditionally set to
38090 grub_uint64_t.
38091 (grub_disk_addr_t): Changed to grub_uint64_t.
38092
38093 * include/grub/partition.h (struct grub_partition): Change the
38094 types of "start", "len" and "offset" to grub_disk_addr_t,
38095 grub_uint64_t and grub_disk_addr_t, respectively.
38096 (grub_partition_get_start): Return grub_disk_addr_t.
38097 (grub_partition_get_len): Return grub_uint64_t.
38098
38099 * include/grub/misc.h (grub_strtoull): New prototype.
38100 (grub_divmod64): Likewise.
38101
38102 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
38103 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
38104 grub_off_t, respectively.
38105 All callers and references changed.
38106
38107 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
38108 grub_size_t in "read".
38109 All callers and references changed.
38110
38111 * include/grub/file.h (struct grub_file): Change the types of
38112 "offset" and "size" to grub_off_t and grub_off_t,
38113 respectively. Change the type of SECTOR to grub_disk_addr_t in
38114 "read_hook".
38115 (grub_file_read): Change the type of LEN to grub_size_t.
38116 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38117 grub_off_t.
38118 (grub_file_size): Return grub_off_t.
38119 (grub_file_tell): Likewise.
38120 All callers and references changed.
38121
38122 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38123 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38124 "write".
38125 (struct grub_disk): Change the type of "total_sectors" to
38126 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 38127 "read_hook".
524a1e6a 38128 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38129 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38130 (grub_disk_write): Likewise.
38131 All callers and references changed.
38132
38133 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38134 char * for grub_strncmp to silence gcc.
38135 (grub_iso9660_mount): Likewise.
38136 (grub_iso9660_mount): Likewise.
38137 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38138 return statement.
38139 (grub_iso9660_iterate_dir): Likewise.
38140 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38141
38142 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38143 LEN to grub_disk_addr_t and grub_size_t, respectively.
38144
38145 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38146
38147 * fs/jfs.c (grub_jfs_read_file): Likewise.
38148
38149 * fs/minix.c (grub_jfs_read_file): Likewise.
38150
38151 * fs/sfs.c (grub_jfs_read_file): Likewise.
38152
38153 * fs/ufs.c (grub_jfs_read_file): Likewise.
38154
38155 * fs/xfs.c (grub_jfs_read_file): Likewise.
38156
38157 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38158 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38159 respectively.
38160
38161 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38162 BLKNR to -1 instead of returning GRUB_ERRNO.
38163 (grub_ext2_read_file): Change the types of SECTOR and
38164 LEN to grub_disk_addr_t and grub_size_t, respectively.
38165
38166 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38167 LEN to grub_disk_addr_t and grub_size_t, respectively.
38168
38169 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38170 grub_file_read.
38171
38172 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38173 string. Do not cast SECTOR explicitly.
38174
38175 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
38176 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
38177 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
38178 grub_disk_addr_t and grub_size_t, respectively. If the sector is
38179 over 2TB and LBA mode is not supported, raise an error.
38180 (get_safe_sectors): New function.
38181 (grub_biosdisk_read): Use get_safe_sectors.
38182 (grub_biosdisk_write): Likewise.
38183
38184 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
38185 (grub_efidisk_write): Likewise.
38186
38187 * disk/loopback.c (delete_loopback): Cosmetic changes.
38188 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
38189 correctly.
38190 (grub_loopback_open): Likewise.
38191 (grub_loopback_read): Likewise. Also, change the type of POS to
38192 grub_off_t, and fix the usage of grub_memset.
38193
38194 * commands/i386/pc/play.c: Include grub/machine/time.h.
38195
38196 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
38197 print FILE->SIZE.
38198
38199 * commands/configfile.c: Include grub/env.h.
38200
38201 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
38202 GRUB_ERRNO directly instead. Change the type of POS to
38203 grub_off_t. Follow the coding standard.
38204
38205 * commands/blocklist.c: Include grub/partition.h.
38206 (grub_cmd_blocklist): Return an error if the underlying device is
38207 not a disk. Take the starting sector of a partition into account,
38208 if a partition is used.
38209
38210 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
38211 a length field.
38212 (lba_mode): Support 64-bit addresses.
38213 (chs_mode): Likewise.
38214 (copy_buffer): Adapted to the new offsets of a length field and a
38215 segment field.
38216 (blocklist_default_start): Allocate 64-bit space.
38217
38218 * boot/i386/pc/boot.S (force_lba): Removed.
38219 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 38220 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 38221 space.
38222 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
38223 is useless.
38224 (lba_mode): Refactored to support a 64-bit address. More size
38225 optimization.
38226 (setup_sectors): Likewise.
38227
53af98ad 382282006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38229
38230 * DISTLIST: Added include/grub/i386/linux.h. Removed
38231 include/grub/i386/pc/linux.h
38232
38233 * configure.ac (AC_INIT): Bumped to 1.94.
38234
38235 * config.guess: Updated from gnulib.
38236 * config.sub: Likewise.
38237 * install-sh: Likewise.
38238 * mkinstalldirs: Likewise.
38239
b4c1940a 382402006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38241
38242 * conf/common.rmk (grub_modules_init.lst): Depended on
38243 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
38244 MODSRCFILES.
38245
38246 * genmk.rb (PModule::rule): Reverted the previous change.
38247
cfca1cfd 382482006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38249
38250 * conf/common.rmk (grub_modules_init.lst): Depends on
38251 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
38252 that the target does not exist before producing.
38253 (grub_modules_init.h): Remove the target before generating.
38254 (grub_emu_init.c): Likewise.
38255
38256 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
38257
aa6d7826 382582006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
38259
38260 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
38261 for the target-specific tests. Make sure that we also have the
38262 up-to-date target variables for those tests.
38263
26c607b9 382642006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38265
38266 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
38267 (PModule::rule): Likewise.
38268
0162321a 382692006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38270
38271 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
38272 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
38273 target-specific flags should be prefixed.
38274 (PModule::rule): Likewise.
38275
6c826348 382762006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
38277
38278 * configure.ac (CMP): Check if cmp is available explicitly.
38279
b977bf01 382802006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
38281
38282 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
38283 (target_cpu): New variable.
38284 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 38285
b977bf01 38286 * util/i386/pc/grub-install.in (host_cpu): Removed.
38287 (target_cpu): New variable.
38288 (pkglibdir): Use target_cpu instead of host_cpu.
38289
38290 * util/genmoddep.c: Removed.
f19dbdb7 38291
b977bf01 38292 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
38293 instead of GRUB_HOST_SIZEOF_VOID_P.
38294 * kern/dl.c: Likewise.
38295
38296 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
38297 ...
38298 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38299 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38300 (GRUB_TARGET_SIZEOF_LONG): ... this.
38301 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38302 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38303 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38304 to ...
38305 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38306 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38307 (GRUB_TARGET_SIZEOF_LONG): ... this.
38308 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38309 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38310 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38311 to ...
38312 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38313 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38314 (GRUB_TARGET_SIZEOF_LONG): ... this.
38315 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38316 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38317
38318 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
38319 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
38320 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
38321 instead of GRUB_HOST_SIZEOF_LONG.
38322 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
38323 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
38324 GRUB_CPU_WORDS_BIGENDIAN.
38325 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
38326 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
38327 grub_host_ssize_t.
38328
38329 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
38330 (genmoddep_SOURCES): Likewise.
38331 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
38332 (genmoddep_SOURCES): Likewise.
38333 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
38334 (genmoddep_SOURCES): Likewise.
38335 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
38336 Likewise.
38337 (genmoddep_SOURCES): Likewise.
38338
38339 * genmoddep.awk: New file.
38340
38341 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
38342 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
38343 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
38344 (PModule::rule): Likewise.
38345 (Program::rule): Likewise.
38346 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
38347 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
38348 respectively.
38349
38350 * configure.ac: Rewritten intensively to use host and target
38351 instead of build and host, respectively.
38352
38353 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
38354 (host_cpu): Removed.
38355 (target_cpu): New variable.
38356 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
38357 (BUILD_CC): Removed.
38358 (BUILD_CFLAGS): Likewise.
38359 (BUILD_CPPFLAGS): Likewise.
38360 (TARGET_CC): New variable.
38361 (TARGET_CFLAGS): Likewise.
38362 (TARGET_CPPFLAGS): Likewise.
38363 (TARGET_LDFLAGS): Likewise.
38364 (AWK): Likewise.
38365 (include): Use target_cpu instead of host_cpu.
38366 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 38367
b977bf01 38368 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
38369
f09771a1 383702006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
38371
38372 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
38373 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
38374 field 'false' to 'exec_on_false'.
38375 (grub_script_create_cmdif): Renamed argument names to reflect above
38376 changes.
38377
38378 * normal/execute.c (grub_script_execute_cmdif): Likewise.
38379
38380 * normal/script.c (grub_script_create_cmdif): Likewise.
38381
118f4fb3 383822006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
38383
38384 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
38385 top.
38386 (grub_hfsplus_btree_recptr): Likewise.
38387 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
38388 FILEBLOCK both to pass a block number and store next block
38389 number.
38390 (grub_hfsplus_read_block): Rewritten heavily to support an extent
38391 overflow file correctly. Specify errors appropriately, because
38392 fshelp expects that GRUB_ERRNO is set when fails. Reuse
38393 grub_hfsplus_btree_recptr to get the pointer to a found key.
38394 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
38395 is found.
38396
38397 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
38398 linux.mod.
38399 (_linux_mod_SOURCES): New variable.
38400 (_linux_mod_CFLAGS): Likewise.
38401 (_linux_mod_LDFLAGS): Likewise.
38402 (linux_mod_SOURCES): Likewise.
38403 (linux_mod_CFLAGS): Likewise.
38404 (linux_mod_LDFLAGS): Likewise.
38405
38406 * DISTLIST: Added loader/i386/efi/linux.c,
38407 loader/i386/efi/linux_normal.c and
38408 include/grub/i386/efi/loader.h.
38409
38410 * loader/i386/efi/linux.c: New file.
38411 * loader/i386/efi/linux_normal.c: Likewise.
38412 * include/grub/i386/efi/loader.h: Likewise.
38413
89a7d726 384142006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
38415
38416 * commands/blocklist.c: New file.
38417
38418 * DISTLIST: Added commands/blocklist.c.
38419
38420 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 38421 color for the background, and a darker color for the foreground.
89a7d726 38422 (grub_console_checkkey): Return READ_KEY.
38423 (grub_console_cls): Set the background to
38424 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
38425
38426 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
38427
38428 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
38429 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
38430
38431 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
38432 prototype.
38433
38434 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
38435 BG. The spec is wrong again.
38436
38437 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
38438 prototype.
38439 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
38440
38441 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38442 commands/blocklist.c.
38443 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 38444
89a7d726 38445 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
38446 (blocklist_mod_SOURCES): New variable.
38447 (blocklist_mod_CFLAGS): Likewise.
38448 (blocklist_mod_LDFLAGS): Likewise.
38449
75c8f258 384502006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
38451
38452 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
38453 duplication.
38454 (lba_mode): Use %eax more intensively to reduce the code size.
38455
da2eb181 384562006-05-20 Marco Gerards <marco@gnu.org>
38457
38458 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
38459
38460 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
38461 for `menuentry'.
38462 (script): Accept leading newlines.
38463 (newlines): New rule to describe 0 or more newlines.
38464 (commands): Accept `command' with trailing newline. Fixed the
38465 order in which arguments were passed to `grub_script_add_cmd'.
38466 Accept commands separated by newlines.
38467 (function): Changed to accept newlines.
38468 (menuentry) Rewritten.
38469
38470 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
38471 front of the list, instead of to the end.
38472
577b4050 384732006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
38474
38475 * util/i386/pc/grub-install.in (bindir): New variable.
38476 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
38477 Shaver <lbgwjl@gmail.com>.
38478
0d6e1189 384792006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
38480
38481 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
38482 grub/machine/linux.h
38483 * loader/i386/pc/linux.c: Likewise.
38484
38485 * include/grub/i386/pc/linux.h: Moved to ...
38486 * include/grub/i386/linux.h: ... here.
38487
38488 * include/grub/i386/linux.h (struct linux_kernel_params): New
38489 struct.
f19dbdb7 38490
31b86e9f 384912006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
38492
38493 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
38494 checking.
38495 (grub_video_vbe_blit_glyph): Likewise.
38496 (grub_video_vbe_blit_bitmap): Likewise.
38497 (grub_video_vbe_blit_render_target): Likewise.
38498
83b984de 384992006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
38500
38501 * configure.ac (--with-platform): Properly quote the square
38502 brackets.
38503
5f0413bd 385042006-05-08 Marco Gerards <marco@gnu.org>
38505
38506 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
38507 this...
38508 (kernel_elf_HEADERS): ...to this. Updated all users.
38509 (grubof_symlist.c): Renamed from this...
38510 (kernel_elf_symlist.c): ...to this. Updated all users.
38511 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38512 (grubof_SOURCES): Renamed from this...
38513 (kernel_elf_SOURCES): ...to this.
38514 (grubof_HEADERS): Renamed from this...
38515 (kernel_elf_HEADERS): ...to this.
38516 (grubof_CFLAGS): Renamed from this...
38517 (kernel_elf_CFLAGS): ...to this.
38518 (grubof_ASFLAGS): Renamed from this...
38519 (kernel_elf_ASFLAGS): ...to this.
38520 (grubof_LDFLAGS): Renamed from this...
38521 (kernel_elf_LDFLAGS): ...to this.
38522
38523 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
38524 this...
38525 (kernel_elf_HEADERS): ...to this. Updated all users.
38526 (grubof_symlist.c): Renamed from this...
38527 (kernel_elf_symlist.c): ...to this. Updated all users.
38528 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38529 (grubof_SOURCES): Renamed from this...
38530 (kernel_elf_SOURCES): ...to this.
38531 (grubof_HEADERS): Renamed from this...
38532 (kernel_elf_HEADERS): ...to this.
38533 (grubof_CFLAGS): Renamed from this...
38534 (kernel_elf_CFLAGS): ...to this.
38535 (grubof_ASFLAGS): Renamed from this...
38536 (kernel_elf_ASFLAGS): ...to this.
38537 (grubof_LDFLAGS): Renamed from this...
38538 (kernel_elf_LDFLAGS): ...to this.
38539
38540 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
38541 `kernel.elf' instead of `grubof'.
38542
05568c2e 385432006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
38544
38545 Add --with-platform to configure. Use pkglibdir instead of
38546 pkgdatadir. This is reported by Roger Leigh.
38547
38548 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
38549 (host_vendor): Likewise.
38550 (host_os): Likewise.
38551 (pkgdatadir): Likewise.
38552 (platform): New variable.
38553 (pkglibdir): Likewise.
38554 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 38555
05568c2e 38556 * util/i386/pc/grub-install.in (datadir): Removed.
38557 (host_vendor): Likewise.
38558 (host_os): Likewise.
38559 (pkgdatadir): Likewise.
38560 (platform): New variable.
38561 (pkglibdir): Likewise.
38562 Use PKGLIBDIR instead of PKGDATADIR.
38563
38564 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
38565 instead of GRUB_DATADIR.
38566 (main): Likewise.
38567 * util/i386/pc/grub-mkimage.c (usage): Likewise.
38568 (main): Likewise.
38569 * util/i386/efi/grub-mkimage.c (usage): Likewise.
38570 (main): Likewise.
38571
38572 * configure.ac (--with-platform): New option.
38573 Use PLATFORM instead of HOST_VENDOR to specify a platform.
38574
38575 * Makefile.in: Include a makefile based on PLATFORM instead of
38576 HOST_VENDOR.
38577 (pkgdatadir): Not appended by the machine type.
38578 (pkglibdir): Appended by the machine type.
38579 (host_vendor): Removed.
38580 (platform): New variable.
38581 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
38582 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
38583 (uninstall): Likewise.
38584
4e93851c 385852006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
38586
38587 Use the environment context in the menu. Remove the commands
38588 "default" and "timeout", and use variables instead.
f19dbdb7 38589
4e93851c 38590 * normal/menu.c: Include grub/env.h.
38591 (print_entry): Cast TITLE to silence gcc.
38592 (get_timeout): New function.
38593 (set_timeout): Likewise.
38594 (get_entry_number): Likewise.
38595 (run_menu): Use a default entry, a fallback entry and a timeout
38596 in the environment variables "default", "fallback" and
38597 "timeout". Also, tweak the default entry if it is not within the
38598 current menu entries.
38599 (grub_menu_run): Use a fallback entry in the environment variable
38600 "fallback".
38601
38602 * normal/main.c (read_config_file): Do not initialize
38603 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
38604 NEWMENU->TIMEOUT.
38605 (grub_normal_execute): Use a data slot to store the menu.
38606
38607 * include/grub/normal.h (struct grub_menu): Removed default_entry,
38608 fallback_entry and timeout.
38609 (struct grub_menu_list): Removed.
38610 (grub_menu_list_t): Likewise.
38611 (struct grub_context): Likewise.
38612 (grub_context_t): Likewise.
38613 (grub_context_get): Likewise.
38614 (grub_context_get_current_menu): Likewise.
38615 (grub_context_push_menu): Likewise.
38616 (grub_context_pop_menu): Likewise.
38617 (grub_default_init): Likewise.
38618 (grub_default_fini): Likewise.
38619 (grub_timeout_init): Likewise.
38620 (grub_timeout_fini): Likewise.
38621
38622 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
38623 and timeout.mod.
38624 (normal_mod_SOURCES): Removed normal/context.c.
38625
38626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
38627 commands/default.c, commands/timeout.c and normal/context.c.
38628 (normal_mod_SOURCES): Removed normal/context.c.
38629
38630 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
38631 commands/timeout.c and normal/context.c.
38632 (normal_mod_SOURCES): Removed normal/context.c.
38633
38634 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
38635 commands/default.c, commands/timeout.c and normal/context.c.
38636 (normal_mod_SOURCES): Removed normal/context.c.
38637
38638 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
38639 timeout.mod.
38640 (default_mod_SOURCES): Removed.
38641 (default_mod_CFLAGS): Likewise.
38642 (default_mod_LDFLAGS): Likewise.
38643 (timeout_mod_SOURCES): Removed.
38644 (timeout_mod_CFLAGS): Likewise.
38645 (timeout_mod_LDFLAGS): Likewise.
38646
38647 * DISTLIST: Removed commands/default.c, commands/timeout.c and
38648 normal/context.c.
38649
38650 * commands/default.c: Removed.
38651 * commands/timeout.c: Likewise.
38652 * normal/context.c: Likewise.
38653
1eb9cc1d 386542006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
38655
38656 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
38657
385bd9c1 386582006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
38659
38660 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
38661 "next" to "prev" for readability.
38662 (struct grub_env_sorted_var): New struct.
38663 (grub_env_context): Renamed to ...
38664 (initial_context): ... this.
38665 (grub_env_var_context): Renamed to ...
38666 (current_context): ... this.
38667 (grub_env_find): Look only at CURRENT_CONTEXT.
38668 (grub_env_context_open): Rewritten to copy exported variables from
38669 previous context.
38670 (grub_env_context_close): Rewritten according to the new
38671 scheme. Also, add an assertion to prevent the initial context from
38672 removed.
38673 (grub_env_insert): Removed the code for the sorted list.
38674 (grub_env_remove): Likewise.
38675 (grub_env_export): Simply mark the variable with
38676 GRUB_ENV_VAR_GLOBAL.
38677 (grub_env_set): A cosmetic change for naming consistency.
38678 (grub_env_get): Likewise.
38679 (grub_env_unset): Likewise.
38680 (grub_env_iterate): Rewritten to sort variables within this
38681 function.
38682 (grub_register_variable_hook): Fixed for naming consistency. Call
38683 grub_env_find again, only if NAME is not found at the first time.
38684 (mangle_data_slot_name): New function.
38685 (grub_env_set_data_slot): Likewise.
38686 (grub_env_get_data_slot): Likewise.
38687 (grub_env_unset_data_slot): Likewise.
38688
38689 * include/grub/env.h (grub_env_var_type): New enum.
38690 (GRUB_ENV_VAR_LOCAL): New constant.
38691 (GRUB_ENV_VAR_GLOBAL): Likewise.
38692 (GRUB_ENV_VAR_DATA): Likewise.
38693 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
38694 "type".
38695 (grub_env_set): Replace VAR with NAME for consistency.
38696 (grub_register_variable_hook): Likewise.
38697 (grub_env_export): Specify the name of the argument.
38698 (grub_env_set_data_slot): New prototype.
38699 (grub_env_get_data_slot): Likewise.
38700 (grub_env_unset_data_slot): Likewise.
38701
7f362539 387022006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38703
38704 Extend the loader so that GRUB can accept a loader which comes
38705 back to GRUB when a loaded image exits. Also, this change adds
38706 support for a chainloader on EFI.
f19dbdb7 38707
7f362539 38708 * term/efi/console.c: Include grub/misc.h.
38709 (grub_console_checkkey): Display a scan code on the top for
38710 debugging. This will be removed once the EFI port gets stable.
38711 Correct the scan code mapping.
38712
38713 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
38714 allocate memory from larger regions, in order to reduce the number
38715 of allocated regions. Otherwise, the MacOSX loader panics.
38716 (filter_memory_map): Avoid less than 1MB for compatibility with
38717 other loaders.
38718 (add_memory_regions): Allocate from the tail of a region, if
38719 possible, to avoid allocating a region near to 1MB, for the MacOSX
38720 loader.
38721
38722 * kern/efi/init.c (grub_efi_set_prefix): Specify
38723 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
38724
38725 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
38726 argument IMAGE_HANDLE and specify it to get a loaded image.
38727 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
38728 grub_efi_get_loaded_image.
fe6b695a 38729 (grub_efi_get_filename): Divide the length by the size of
7f362539 38730 grub_efi_char16_t.
38731 (grub_efi_get_device_path): New function.
38732 (grub_efi_print_device_path): Print End Device Path nodes. Divide
38733 the length by the size of grub_efi_char16_t for a file path device
38734 path node.
38735
38736 * kern/loader.c (grub_loader_noreturn): New variable.
38737 (grub_loader_set): Accept a new argument NORETURN. Set
38738 GRUB_LOADER_NORETURN to NORETURN.
38739 All callers changed.
38740 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
38741 grub_machine_fini.
38742
38743 * include/grub/efi/efi.h (grub_efi_get_device_path): New
38744 prototype.
38745 (grub_efi_get_loaded_image): Take an argument to specify an image
38746 handle.
38747
38748 * include/grub/loader.h (grub_loader_set): Added one more argument
38749 NORETURN.
38750
38751 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
38752 instead of grub_efi_open_protocol.
38753 (grub_efidisk_get_device_name): Likewise.
38754 (grub_efidisk_close): Print a newline.
38755 (grub_efidisk_get_device_handle): Fixed to use
38756 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
38757 GRUB_EFI_DEVICE_PATH_TYPE.
38758
38759 * disk/efi/efidisk.c (device_path_guid): Moved to ...
38760 * kern/efi/efi.c (device_path_guid): ... here.
38761
38762 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
38763 chain.mod.
38764 (kernel_mod_HEADERS): Added efi/disk.h.
38765 (_chain_mod_SOURCES): New variable.
38766 (_chain_mod_CFLAGS): Likewise.
38767 (_chain_mod_LDFLAGS): Likewise.
38768 (chain_mod_SOURCES): Likewise.
38769 (chain_mod_CFLAGS): Likewise.
38770 (chain_mod_LDFLAGS): Likewise.
38771
38772 * DISTLIST: Added include/grub/efi/chainloader.h,
38773 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
38774
38775 * include/grub/efi/chainloader.h: New file.
38776 * loader/efi/chainloader.c: Likewise.
38777 * loader/efi/chainloader_normal.c: Likewise.
38778
c0111d6e 387792006-04-30 Marco Gerards <marco@gnu.org>
38780
38781 * commands/configfile.c (grub_cmd_source): New function.
38782 (GRUB_MOD_INIT): Register the commands `source' and `.'.
38783 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
38784
df5341da 387852006-04-30 Marco Gerards <marco@gnu.org>
38786
38787 * normal/execute.c (grub_script_execute_cmd): Change the return
38788 type to `grub_err_t'. Correctly return the error.
38789 (grub_script_execute_cmdline): In case a command line is not a
38790 command or a function, try to interpret it as an assignment.
38791
f85934bd 387922006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38793
38794 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
38795 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
38796 skip a node whose name is obviously invalid as UTF-16,
38797 i.e. contains a NUL character. Stop the iteration when the last
38798 directory entry is found. Instead of using the return value of
38799 grub_hfsplus_btree_iterate_node, store the value in RET and use
38800 it, because the iterator can be stopped by the last directory
38801 entry.
38802
8f8a2cf8 388032006-04-30 Marco Gerards <marco@gnu.org>
38804
38805 * include/grub/env.h (grub_env_export): New prototype. Reported
38806 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
38807
a27e84ce 388082006-04-30 Marco Gerards <marco@gnu.org>
38809
38810 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
38811 size of the extents in a catalog file record.
38812
eaef0553 388132006-04-29 Marco Gerards <marco@gnu.org>
38814
38815 * commands/configfile.c (grub_cmd_configfile): Execute the
38816 configfile within its own context.
38817
38818 * include/grub/env.h (grub_env_context_open): New prototype.
38819 (grub_env_context_close): Likewise.
38820
38821 * kern/env.c (grub_env): Removed.
38822 (grub_env_sorted): Likewise.
38823 (grub_env_context): New variable.
38824 (grub_env_var_context): Likewise.
38825 (grub_env_find): Search both the active context and the global
38826 context.
38827 (grub_env_context_open): New function.
38828 (grub_env_context_close): Likewise.
38829 (grub_env_insert): Likewise.
38830 (grub_env_remove): Likewise.
38831 (grub_env_export): Likewise.
38832 (grub_env_set): Changed to use helper functions to avoid code
38833 duplication.
38834 (grub_env_iterate): Rewritten so both the current context and the
38835 global context are being used.
38836
38837 * normal/command.c (export_command): New function.
38838 (grub_command_init): Register the `export' function.
38839
7b455f4d 388402006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
38841
38842 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
38843 explicitly to suppress gcc's warnings.
38844 * fs/fat.c (grub_fat_find_dir): Likewise.
38845 (grub_fat_label): Likewise.
38846 * fs/xfs.c (grub_xfs_read_inode): Likewise.
38847 (grub_xfs_mount): Likewise.
38848 (grub_xfs_label): Likewise.
38849 * fs/affs.c (grub_affs_mount): Likewise.
38850 (grub_affs_label): Likewise.
38851 (grub_affs_iterate_dir): Likewise.
38852 * fs/sfs.c (grub_sfs_mount): Likewise.
38853 (grub_sfs_iterate_dir): Likewise.
38854 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
38855 * fs/hfs.c (grub_hfs_mount): Likewise.
38856 (grub_hfs_cmp_catkeys): Likewise.
38857 (grub_hfs_find_dir): Likewise.
38858 (grub_hfs_dir): Likewise.
38859 (grub_hfs_label): Likewise.
38860 * fs/jfs.c (grub_jfs_mount): Likewise.
38861 (grub_jfs_opendir): Likewise.
38862 (grub_jfs_getent): Likewise.
38863 (grub_jfs_lookup_symlink): Likewise.
38864 (grub_jfs_label): Likewise.
38865 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
38866 (grub_hfsplus_iterate_dir): Likewise.
38867 (grub_hfsplus_btree_iterate_node): Made static.
38868
38869 * util/grub-emu.c (prefix): New variable.
38870 (grub_machine_set_prefix): New function.
38871 (main): Do not set the environment variable "prefix" here. Only
38872 set PREFIX, which is used later by grub_machine_set_prefix.
38873
38874 * include/grub/video.h: Do not include grub/symbol.h.
38875 (grub_video_register): Not exported. This symbol is not defined in
38876 the kernel.
38877 (grub_video_unregister): Likewise.
38878 (grub_video_iterate): Likewise.
38879 (grub_video_setup): Likewise.
38880 (grub_video_restore): Likewise.
38881 (grub_video_get_info): Likewise.
38882 (grub_video_get_blit_format): Likewise.
38883 (grub_video_set_palette): Likewise.
38884 (grub_video_get_palette): Likewise.
38885 (grub_video_set_viewport): Likewise.
38886 (grub_video_get_viewport): Likewise.
38887 (grub_video_map_color): Likewise.
38888 (grub_video_map_rgb): Likewise.
38889 (grub_video_map_rgba): Likewise.
38890 (grub_video_fill_rect): Likewise.
38891 (grub_video_blit_glyph): Likewise.
38892 (grub_video_blit_bitmap): Likewise.
38893 (grub_video_blit_render_target): Likewise.
38894 (grub_video_scroll): Likewise.
38895 (grub_video_swap_buffers): Likewise.
38896 (grub_video_create_render_target): Likewise.
38897 (grub_video_delete_render_target): Likewise.
38898 (grub_video_set_active_render_target): Likewise.
38899
38900 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
38901 Undefined.
38902 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
38903
38904 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
38905 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38906 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38907 instead of $(srcdir)/genkernsyms.sh.
38908
38909 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
38910 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38911 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38912 instead of $(srcdir)/genkernsyms.sh.
38913
38914 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
38915 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38916 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38917 instead of $(srcdir)/genkernsyms.sh.
38918
38919 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
38920 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38921 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38922 instead of $(srcdir)/genkernsyms.sh.
38923
38924 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
38925 genkernsyms.sh.
38926
38927 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
38928 genkernsyms.sh.
38929 (gensymlist.sh): New target.
38930 (genkernsyms.sh): Likewise.
38931
38932 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
38933 genkernsyms.sh.in and gensymlist.sh.in.
38934
38935 * genkernsyms.sh: Removed.
38936 * gensymlist.sh: Likewise.
f19dbdb7 38937
7b455f4d 38938 * genkernsyms.sh.in: New file.
38939 * gensymlist.sh.in: Likewise.
38940
1885bb27 389412006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38942
38943 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
38944 clobber "prefix", since we may have already set it manually.
38945
71538dff 389462006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38947
38948 * kern/misc.c (abort): New alias for grub_abort.
38949
2965c7cc 389502006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
38951
38952 A new machine-specific function "grub_machine_set_prefix" is
38953 defined. This is called after loading modules, so that a prefix
38954 initialization can use modules. Also, this change adds an
38955 intensive debugging feature for the memory manager via the
38956 configure option "--enable-mm-debug".
f19dbdb7 38957
2965c7cc 38958 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
38959 PART.LEN.
38960
38961 * kern/sparc64/ieee1275/init.c (abort): Removed.
38962 (grub_stop): Likewise.
38963 (grub_exit): New function.
38964 (grub_set_prefix): Renamed to ...
38965 (grub_machine_set_prefix): ... this.
38966 (grub_machine_init): Do not call grub_set_prefix.
38967
38968 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
38969 (grub_machine_set_prefix): ... this.
38970 (grub_machine_init): Do not call grub_set_prefix.
38971
38972 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
38973 (grub_machine_init): Do not set the prefix here.
38974
38975 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
38976
38977 * kern/efi/init.c: Include grub/mm.h.
38978 (grub_efi_set_prefix): New function.
38979
38980 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
38981 (grub_efi_get_filename): New function.
38982 (grub_print_device_path): Renamed to ...
38983 (grub_efi_print_device_path): ... this.
38984
38985 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
38986 [MM_DEBUG] (grub_realloc): Likewise.
38987 [MM_DEBUG] (grub_free): Likewise.
38988 [MM_DEBUG] (grub_memalign): Likewise.
38989 [MM_DEBUG] (grub_mm_debug): New variable.
38990 [MM_DEBUG] (grub_debug_malloc): New function.
38991 [MM_DEBUG] (grub_debug_free): New function.
38992 [MM_DEBUG] (grub_debug_realloc): New function.
38993 [MM_DEBUG] (grub_debug_memalign): New function.
38994
38995 * kern/misc.c (grub_abort): Print a newline to distinguish
38996 the message.
38997
38998 * kern/main.c (grub_main): Call grub_machine_set_prefix and
38999 grub_set_root_dev after loading modules. This is necessary when
39000 setting a prefix depends on modules.
39001
39002 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
39003 (grub_efi_print_device_path): ... this.
39004 (grub_efi_get_filename): New prototype.
39005 (grub_efi_set_prefix): Likewise.
39006
39007 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
39008 and grub/disk.h.
39009 (grub_efidisk_get_device_handle): New prototype.
39010 (grub_efidisk_get_device_name): Likewise.
39011
39012 * include/grub/mm.h: Include config.h.
39013 (MM_DEBUG): Removed.
39014 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
39015 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
39016 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
39017 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
39018 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
39019 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
39020 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
39021 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
39022 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
39023
39024 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
39025
39026 * disk/efi/efidisk.c: Include grub/partition.h.
39027 (iterate_child_devices): New function.
39028 (add_device): First, compare only last device path nodes, so that
39029 devices are sorted by the types.
39030 (grub_efidisk_get_device_handle): New function.
39031 (grub_efidisk_get_device_name): Likewise.
39032
39033 * configure.ac (--enable-mm-debug): New option to enable the
39034 memory manager debugging feature. This makes the binary much
39035 bigger, so is disabled by default.
39036
9cacaa17 390372006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
39038
39039 Use grub_abort instead of grub_stop, and grub_exit must be
39040 define in each architecture now. Also, this change adds support
39041 for EFI disks.
f19dbdb7 39042
9cacaa17 39043 * util/i386/pc/grub-probefs.c: Include grub/term.h.
39044 (grub_getkey): New function.
39045 (grub_term_get_current): Likewise.
39046
39047 * util/i386/pc/grub-setup.c: Include grub/term.h.
39048 (grub_getkey): New function.
39049 (grub_term_get_current): Likewise.
39050
39051 * util/misc.c (grub_stop): Renamed to ...
39052 (grub_exit): ... this.
39053
39054 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
39055 (grub_exit): ... this.
39056 (grub_machine_init): Use grub_abort instead of abort.
39057 (grub_stop): Removed.
39058
39059 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
39060 abort.
39061
39062 * kern/i386/pc/startup.S (grub_exit): New function.
39063 (cold_reboot): New label.
39064
39065 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
39066 (grub_efi_init): Call grub_efidisk_init.
39067 (grub_efi_fini): Call grub_efidisk_fini.
39068
39069 * kern/efi/efi.c: Include grub/mm.h.
39070 (grub_efi_console_control_guid): Renamed to ...
39071 (console_control_guid): ... this.
39072 (grub_efi_loaded_image_guid): Renamed to ...
39073 (loaded_image_guid): ... this.
39074 (grub_efi_locate_handle): New function.
39075 (grub_efi_open_protocol): Likewise.
39076 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
39077 GRUB_EFI_CONSOLE_CONTROL_GUID.
39078 (grub_efi_exit): Removed.
39079 (grub_stop): Likewise.
39080 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
39081 (grub_exit): New function.
39082 (grub_print_device_path): Likewise.
39083
39084 * kern/rescue.c (grub_rescue_cmd_exit): New function.
39085 (grub_enter_rescue_mode): Register "exit".
39086
39087 * kern/misc.c (grub_real_dprintf): A cosmetic change.
39088 (grub_abort): New function.
39089
39090 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
39091
39092 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
39093
39094 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
39095
39096 * include/grub/efi/efi.h (grub_efi_exit): Removed.
39097 (grub_print_device_path): New prototype.
39098 (grub_efi_locate_handle): Likewise.
39099 (grub_efi_open_protocol): Likewise.
39100
39101 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
39102 * disk/efi/efidisk.c: Likewise.
39103
39104 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
39105
39106 * include/grub/efi/console_control.h
39107 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
39108
39109 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39110 last 8 bytes as an array.
39111 (GRUB_EFI_DISK_IO_GUID): New macro.
39112 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39113 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39114 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39115 grub_uint8_t.
39116 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39117 (struct grub_efi_device_path): Rename the member "sub_type" to
39118 "subtype".
39119 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39120 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39121 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39122 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39123 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39124 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39125 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39126 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39127 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39128 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39129 (struct grub_efi_pci_device_path): New structure.
39130 (grub_efi_pci_device_path_t): New type.
39131 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39132 (struct grub_efi_pccard_device_path): New structure.
39133 (grub_efi_pccard_device_path_t): New type.
39134 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39135 (struct grub_efi_memory_mapped_device_path): New structure.
39136 (grub_efi_memory_mapped_device_path_t): New type.
39137 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39138 (struct grub_efi_vendor_device_path): New structure.
39139 (grub_efi_vendor_device_path_t): New type.
39140 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39141 (struct grub_efi_controller_device_path): New structure.
39142 (grub_efi_controller_device_path_t): New type.
39143 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39144 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39145 (struct grub_efi_acpi_device_path): New structure.
39146 (grub_efi_acpi_device_path_t): New type.
39147 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39148 (struct grub_efi_expanded_acpi_device_path): New structure.
39149 (grub_efi_expanded_acpi_device_path_t): New type.
39150 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39151 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39152 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39153 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39154 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39155 (struct grub_efi_atapi_device_path): New structure.
39156 (grub_efi_atapi_device_path_t): New type.
39157 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39158 (struct grub_efi_fibre_channel_device_path): New structure.
39159 (grub_efi_fibre_channel_device_path_t): New type.
39160 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39161 (struct grub_efi_1394_device_path): New structure.
39162 (grub_efi_1394_device_path_t): New type.
39163 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39164 (struct grub_efi_usb_device_path): New structure.
39165 (grub_efi_usb_device_path_t): New type.
39166 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39167 (struct grub_efi_usb_class_device_path): New structure.
39168 (grub_efi_usb_class_device_path_t): New type.
39169 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39170 (struct grub_efi_i2o_device_path): New structure.
39171 (grub_efi_i2o_device_path_t): New type.
39172 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39173 (struct grub_efi_mac_address_device_path): New structure.
39174 (grub_efi_mac_address_device_path_t): New type.
39175 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
39176 (struct grub_efi_ipv4_device_path): New structure.
39177 (grub_efi_ipv4_device_path_t): New type.
39178 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
39179 (struct grub_efi_ipv6_device_path): New structure.
39180 (grub_efi_ipv6_device_path_t): New type.
39181 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
39182 (struct grub_efi_infiniband_device_path): New structure.
39183 (grub_efi_infiniband_device_path_t): New type.
39184 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
39185 (struct grub_efi_uart_device_path): New structure.
39186 (grub_efi_uart_device_path_t): New type.
39187 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
39188 (struct grub_efi_vendor_messaging_device_path): New structure.
39189 (grub_efi_vendor_messaging_device_path_t): New type.
39190 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
39191 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
39192 (struct grub_efi_hard_drive_device_path): New structure.
39193 (grub_efi_hard_drive_device_path_t): New type.
39194 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
39195 (struct grub_efi_cdrom_device_path): New structure.
39196 (grub_efi_cdrom_device_path_t): New type.
39197 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
39198 (struct grub_efi_vendor_media_device_path): New structure.
39199 (grub_efi_vendor_media_device_path_t): New type.
39200 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
39201 (struct grub_efi_file_path_device_path): New structure.
39202 (grub_efi_file_path_device_path_t): New type.
39203 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
39204 (struct grub_efi_protocol_device_path): New structure.
39205 (grub_efi_protocol_device_path_t): New type.
39206 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
39207 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
39208 (struct grub_efi_bios_device_path): New structure.
39209 (grub_efi_bios_device_path_t): New type.
39210 (struct grub_efi_disk_io): New structure.
39211 (grub_efi_disk_io_t): New type.
39212 (struct grub_efi_block_io_media): New structure.
39213 (grub_efi_block_io_media_t): New type.
39214 (struct grub_efi_block_io): New structure.
39215 (grub_efi_block_io_t): New type.
39216
39217 * include/grub/misc.h (grub_stop): Removed.
39218 (grub_exit): New prototype.
39219 (grub_abort): Likewise.
39220
39221 * include/grub/disk.h (enum grub_disk_dev_id): Added
39222 GRUB_DISK_DEVICE_EFIDISK_ID.
39223
39224 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
39225 disk/efi/efidisk.c.
39226 (kernel_syms.lst): Remove the target if an error occurs.
39227
49986a9f 392282006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
39229
39230 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
39231 as it was simply too buggy.
39232
970d3b8a 392332006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
39234
39235 * kern/misc.c (grub_lltoa): New function.
39236 (grub_vsprintf): Added support for the long long suffix,
39237 i.e. "ll".
39238
ff04ec24 392392006-04-20 Hollis Blanchard <hollis@penguinppc.org>
39240
39241 * Makefile.in (LDFLAGS): Add variable.
39242 (LD): Remove variable.
39243 * configure.ac: Add -m32 to LDFLAGS.
39244 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
39245 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
39246 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
39247 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
39248 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
39249 variables.
39250 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
39251 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
39252 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
39253
37e5e1a4 392542006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
39255
39256 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
39257 length for unknown glyph.
39258
c352d8dd 392592006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
39260
2eab1c0d 39261 Add support for pre-loaded modules into the EFI port.
f19dbdb7 39262
2eab1c0d 39263 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
39264 completely. Accept one more argument DIR. The caller has changed.
39265
39266 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
39267
39268 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
39269 (grub_efi_loaded_image_guid): New variable.
39270 (grub_efi_get_loaded_image): New function.
39271 (grub_arch_modules_addr): Likewise.
39272
39273 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
39274 prototype.
39275
39276 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
39277 (struct grub_efi_loaded_image): New structure.
39278 (grub_efi_loaded_image_t): New type.
39279
392802006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39281
c352d8dd 39282 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
39283 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
39284 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
39285
6d01d6b4 392862006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
39287
39288 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
39289
976a4ea0 392902006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
39291
39292 * DISTLIST: Added include/grub/efi/console.h,
39293 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
39294 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39295
39296 * include/grub/efi/console.h: New file.
39297 * include/grub/efi/time.h: Likewise.
39298 * include/grub/i386/efi/kernel.h: Likewise.
39299 * kern/efi/init.c: Likewise.
39300 * kern/efi/mm.c: Likewise.
39301 * term/efi/console.c: Likewise.
f19dbdb7 39302
976a4ea0 39303 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
39304 (grub_stop): Removed.
39305 (grub_get_rtc): Likewise.
39306 (grub_machine_init): Simply call grub_efi_init.
39307 (grub_machine_fini): Call grub_efi_fini.
39308
39309 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
39310 (grub_efi_output_string): Removed.
39311 (grub_efi_stall): New function.
39312 (grub_stop): Likewise.
39313 (grub_get_rtc): Likewise.
39314
39315 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
39316 (grub_efi_stall): New prototype.
39317 (grub_efi_allocate_pages): Likewise.
39318 (grub_efi_free_pages): Likewise.
39319 (grub_efi_get_memory_map): Likewise.
39320 (grub_efi_mm_init): Likewise.
39321 (grub_efi_mm_fini): Likewise.
39322 (grub_efi_init): Likewise.
39323 (grub_efi_fini): Likewise.
39324
39325 * include/grub/i386/efi/time.h: Do not include
39326 grub/symbol.h. Include grub/efi/time.h.
39327 (GRUB_TICKS_PER_SECOND): Removed.
39328 (grub_get_rtc): Likewise.
39329
39330 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
39331 Added padding. The EFI spec is buggy.
39332 (GRUB_EFI_BLACK): New macro.
39333 (GRUB_EFI_BLUE): Likewise.
39334 (GRUB_EFI_GREEN): Likewise.
39335 (GRUB_EFI_CYAN): Likewise.
39336 (GRUB_EFI_RED): Likewise.
39337 (GRUB_EFI_MAGENTA): Likewise.
39338 (GRUB_EFI_BROWN): Likewise.
39339 (GRUB_EFI_LIGHTGRAY): Likewise.
39340 (GRUB_EFI_BRIGHT): Likewise.
39341 (GRUB_EFI_DARKGRAY): Likewise.
39342 (GRUB_EFI_LIGHTBLUE): Likewise.
39343 (GRUB_EFI_LIGHTGREEN): Likewise.
39344 (GRUB_EFI_LIGHTCYAN): Likewise.
39345 (GRUB_EFI_LIGHTRED): Likewise.
39346 (GRUB_EFI_LIGHTMAGENTA): Likewise.
39347 (GRUB_EFI_YELLOW): Likewise.
39348 (GRUB_EFI_WHITE): Likewise.
39349 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
39350 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
39351 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
39352 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
39353 (GRUB_EFI_BACKGROUND_RED): Likewise.
39354 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
39355 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
39356 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
39357 (GRUB_EFI_TEXT_ATTR): Likewise.
39358
39359 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
39360 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39361 (kernel_mod_HEADERS): Added efi/time.h.
39362
83709125 393632006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
39364
39365 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
39366 include/grub/efi/api.h, include/grub/efi/console_control.h,
39367 include/grub/efi/efi.h, include/grub/efi/pe32.h,
39368 include/grub/i386/efi/time.h, kern/efi/efi.c,
39369 kern/i386/efi/init.c, kern/i386/efi/startup.S,
39370 and util/i386/efi/grub-mkimage.c.
39371
39372 * Makefile.in (RMKFILES): Added i386-efi.rmk.
39373
39374 * genmk.rb (PModule#rule): Do not export symbols if
39375 #{prefix}_EXPORTS is set to "no".
39376
39377 * conf/i386-efi.mk: New file.
39378 * conf/i386-efi.rmk: Likewise.
39379 * include/grub/efi/api.h: Likewise.
39380 * include/grub/efi/console_control.h: Likewise.
39381 * include/grub/efi/efi.h: Likewise.
39382 * include/grub/efi/pe32.h: Likewise.
39383 * include/grub/i386/efi/time.h: Likewise.
39384 * kern/efi/efi.c: Likewise.
39385 * kern/i386/efi/init.c: Likewise.
39386 * kern/i386/efi/startup.S: Likewise.
39387 * util/i386/efi/grub-mkimage.c: Likewise.
39388
393892006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 39390
39391 * include/grub/script.h: Include <grub/parser.h> and
39392 "grub_script.tab.h".
39393 (struct grub_lexer_param): New struct.
39394 (struct grub_parser_param): Likewise.
39395 (grub_script_create_arglist): Pass the state in an argument.
39396 (grub_script_add_arglist): Likewise.
39397 (grub_script_create_cmdline): Likewise.
39398 (grub_script_create_cmdblock): Likewise.
39399 (grub_script_create_cmdif): Likewise.
39400 (grub_script_create_cmdmenu): Likewise.
39401 (grub_script_add_cmd): Likewise.
39402 (grub_script_arg_add): Likewise.
39403 (grub_script_lexer_ref): Likewise.
39404 (grub_script_lexer_deref): Likewise.
39405 (grub_script_lexer_record_start): Likewise.
39406 (grub_script_lexer_record_stop): Likewise.
39407 (grub_script_mem_record): Likewise.
39408 (grub_script_mem_record_stop): Likewise.
39409 (grub_script_malloc): Likewise.
39410 (grub_script_yylex): Likewise.
39411 (grub_script_yyparse): Likewise.
39412 (grub_script_yyerror): Likewise.
39413 (grub_script_yylex): Likewise.
39414 (grub_script_lexer_init): Return the state.
39415
39416 * normal/lexer.c (grub_script_lexer_state): Removed variable.
39417 (grub_script_lexer_done): Likewise.
39418 (grub_script_lexer_getline): Likewise.
39419 (grub_script_lexer_refs): Likewise.
39420 (script): Likewise.
39421 (newscript): Likewise.
39422 (record): Likewise.
39423 (recording): Likewise.
39424 (recordpos): Likewise.
39425 (recordlen): Likewise.
39426 (grub_script_lexer_init): Return the state instead of setting
39427 global variables.
39428 (grub_script_lexer_ref): Use the newly added argument for state
39429 instead of globals.
39430 (grub_script_lexer_deref): Likewise.
39431 (grub_script_lexer_record_start): Likewise.
39432 (grub_script_lexer_record_stop): Likewise.
39433 (recordchar): Likewise.
39434 (nextchar): Likewise.
39435 (grub_script_yylex2): Likewise.
39436 (grub_script_yylex): Likewise.
39437 (grub_script_yyerror): Likewise.
39438
39439 * normal/parser.y (func_mem): Removed variable.
39440 (menu_entry): Likewise.
39441 (err): Likewise.
39442 (%lex-param): New parser option.
39443 (%parse-param): Likewise.
39444 (script): Always return the AST.
39445 (argument): Pass the state around.
39446 (arguments): Likewise.
39447 (grubcmd): Likewise.
39448 (commands): Likewise.
39449 (function): Likewise.
39450 (menuentry): Likewise.
39451 (if_statement): Likewise.
39452 (if): Likewise.
39453
39454 * normal/script.c (grub_script_memused): Removed variable.
39455 (grub_script_parsed): Likewise.
39456 (grub_script_malloc): Added a state argument. Use that instead of
39457 global variables.
39458 (grub_script_mem_record): Likewise.
39459 (grub_script_mem_record_stop): Likewise.
39460 (grub_script_arg_add): Likewise.
39461 (grub_script_add_arglist): Likewise.
39462 (grub_script_create_cmdline): Likewise.
39463 (grub_script_create_cmdif): Likewise.
39464 (grub_script_create_cmdmenu): Likewise.
39465 (grub_script_add_cmd): Likewise.
39466 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 39467
e2a8c904 394682006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 39469
39470 * normal/command.c (grub_command_init): Remove the title command.
39471
39472 * normal/lexer.c (grub_script_yylex): Renamed from this...
39473 (grub_script_yylex2): ... to this.
39474 (grub_script_yylex): New function. Temporary
39475 introduced to filter some tokens.
39476 (grub_script_yyerror): Print a newline.
39477
39478 * normal/main.c (read_config_file): Output information about the
39479 lines that contain errors. Wait for a key after all lines have
39480 been processed. Don't return an empty menu.
39481
39482 * normal/parser.y (func_mem): Don't initialize.
39483 (menu_entry): Likewise.
39484 (err): New variable.
39485 (script): Don't return anything when an error was encountered.
39486 (ws, returns): Removed rules.
39487 (argument): Disabled concatenated variable support.
39488 (arguments): Remove explicit separators.
39489 (grubcmd): Likewise.
39490 (function): Likewise.
39491 (menuentry): Likewise.
39492 (if): Likewise.
39493 (commands): Likewise. Add error handling.
39494
39495 * normal/script.c (grub_script_create_cmdline): If
39496 `grub_script_parsed' is 0, assume the parser encountered an error.
39497
c9a86192 394982006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
39499
39500 * configure.ac: Add support for EFI. Fix the typo
39501 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
39502
70f3b243 395032006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39504
39505 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
39506 foreign multibyte characters should be shown correctly.
39507
65f201ad 395082006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39509
39510 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
39511 calculation.
39512 (read_config_file): Made it to close file before returning.
39513
b4b93674 395142006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
39515
39516 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
39517 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
39518 video/i386/pc/vbefill.c.
39519
39520 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
39521 video/i386/pc/vbefill.c.
39522
39523 * include/grub/video.h (grub_video_blit_format): New enum.
39524 (grub_video_mode_info): Added new member blit_format.
39525 (grub_video_get_blit_format): New function prototype.
39526
39527 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
39528 function prototype.
39529 (grub_video_vbe_map_rgb): Likewise.
39530 (grub_video_vbe_unmap_color): Likewise.
39531
39532 * include/grub/i386/pc/vbeblit.h: New file.
39533
39534 * include/grub/i386/pc/vbefill.h: New file.
39535
39536 * video/video.c (grub_video_get_blit_format): New function.
39537 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
39538 (grub_video_vbe_map_rgb): Likewise.
39539 (grub_video_vbe_unmap_color): Likewise.
39540
39541 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
39542 optimized fills.
39543 (grub_video_vbe_blit_render_target): Changed to use more optimized
39544 blits.
39545 (grub_video_vbe_setup): Added detection for optimized settings.
39546 (grub_video_vbe_create_render_target): Likewise.
39547
39548 * video/i386/pc/vbeblit.c: New file.
39549
39550 * video/i386/pc/vbefill.c: New file.
39551
c2379b9c 395522006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
39553
39554 * font/manager.c (grub_font_get_glyph): Removed font fixup from
39555 here...
39556
39557 * util/unifont2pff.rb: ... and moved it to here. Improved argument
39558 parsing to support both hex and dec ranges. If filename was missing
39559 show usage information.
39560
bd0d7896 395612006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
39562
39563 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
39564 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
39565
39566 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
39567 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
39568 (video_mod_SOURCES): Added.
39569 (video_mod_CFLAGS): Likewise.
39570 (video_mod_LDFLAGS): Likewise.
39571 (gfxterm_mod_SOURCES): Likewise.
39572 (gfxterm_mod_CFLAGS): Likewise.
39573 (gfxterm_mod_LDFLAGS): Likewise.
39574 (videotest_mod_SOURCES): Likewise.
39575 (videotest_mod_CFLAGS): Likewise.
39576 (videotest_mod_LDFLAGS): Likewise.
39577 (vesafb_mod_SOURCES): Removed.
39578 (vesafb_mod_CFLAGS): Likewise.
39579 (vesafb_mod_LDFLAGS): Likewise.
39580 (vga_mod_SOURCES): Likewise.
39581 (vga_mod_CFLAGS): Likewise.
39582 (vga_mod_LDFLAGS): Likewise.
39583
39584 * commands/videotest.c: New file.
39585
39586 * font/manager.c (fill_with_default_glyph): Modified to use
39587 grub_font_glyph.
39588 (grub_font_get_glyph): Likewise.
39589 (fontmanager): Renamed from this...
39590 (font_manager): ... to this.
39591
39592 * include/grub/font.h (grub_font_glyph): Added new structure.
39593 (grub_font_get_glyph): Modified to use grub_font_glyph.
39594
39595 * include/grub/misc.h (grub_abs): Added as inline function.
39596
39597 * include/grub/video.h: New file.
39598
39599 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
39600 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
39601 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
39602 (grub_vbe_get_controller_info): Renamed from this...
39603 (grub_vbe_bios_get_controller_info): ... to this.
39604 (grub_vbe_get_mode_info): Renamed from this...
39605 (grub_vbe_bios_get_mode_info): ... to this.
39606 (grub_vbe_set_mode): Renamed from this...
39607 (grub_vbe_bios_set_mode): ... to this.
39608 (grub_vbe_get_mode): Renamed from this...
39609 (grub_vbe_bios_get_mode): ... to this.
39610 (grub_vbe_set_memory_window): Renamed from this...
39611 (grub_vbe_bios_set_memory_window): ... to this.
39612 (grub_vbe_get_memory_window): Renamed from this...
39613 (grub_vbe_bios_get_memory_window): ... to this.
39614 (grub_vbe_set_scanline_length): Renamed from this...
39615 (grub_vbe_set_scanline_length): ... to this.
39616 (grub_vbe_get_scanline_length): Renamed from this...
39617 (grub_vbe_bios_get_scanline_length): ... to this.
39618 (grub_vbe_set_display_start): Renamed from this...
39619 (grub_vbe_bios_set_display_start): ... to this.
39620 (grub_vbe_get_display_start): Renamed from this...
39621 (grub_vbe_bios_get_display_start): ... to this.
39622 (grub_vbe_set_palette_data): Renamed from this...
39623 (grub_vbe_bios_set_palette_data): ... to this.
39624 (grub_vbe_set_pixel_rgb): Removed.
39625 (grub_vbe_set_pixel_index): Likewise.
39626
39627 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
39628 from this...
39629 (grub_vbe_bios_get_controller_info): ... to this.
39630 (grub_vbe_get_mode_info): Renamed from this...
39631 (grub_vbe_bios_get_mode_info): ... to this.
39632 (grub_vbe_set_mode): Renamed from this...
39633 (grub_vbe_bios_set_mode): ... to this.
39634 (grub_vbe_get_mode): Renamed from this...
39635 (grub_vbe_bios_get_mode): ... to this.
39636 (grub_vbe_set_memory_window): Renamed from this...
39637 (grub_vbe_bios_set_memory_window): ... to this.
39638 (grub_vbe_get_memory_window): Renamed from this...
39639 (grub_vbe_bios_get_memory_window): ... to this.
39640 (grub_vbe_set_scanline_length): Renamed from this...
39641 (grub_vbe_set_scanline_length): ... to this.
39642 (grub_vbe_get_scanline_length): Renamed from this...
39643 (grub_vbe_bios_get_scanline_length): ... to this.
39644 (grub_vbe_set_display_start): Renamed from this...
39645 (grub_vbe_bios_set_display_start): ... to this.
39646 (grub_vbe_get_display_start): Renamed from this...
39647 (grub_vbe_bios_get_display_start): ... to this.
39648 (grub_vbe_set_palette_data): Renamed from this...
39649 (grub_vbe_bios_set_palette_data): ... to this.
39650 (grub_vbe_bios_get_controller_info): Fixed problem with registers
39651 getting corrupted after calling it. Added more pushes and pops.
39652 (grub_vbe_bios_set_mode): Likewise.
39653 (grub_vbe_bios_get_mode): Likewise.
39654 (grub_vbe_bios_get_memory_window): Likewise.
39655 (grub_vbe_bios_set_scanline_length): Likewise.
39656 (grub_vbe_bios_get_scanline_length): Likewise.
39657 (grub_vbe_bios_get_display_start): Likewise.
39658 (grub_vbe_bios_set_palette_data): Likewise.
39659
39660 * normal/cmdline.c (cl_set_pos): Refresh the screen.
39661 (cl_insert): Likewise.
39662 (cl_delete): Likewise.
39663
39664 * term/gfxterm.c: New file.
39665
39666 * term/i386/pc/vesafb.c: Removed file.
39667
39668 * video/video.c: New file.
39669
39670 * video/i386/pc/vbe.c (real2pm): Added new function.
39671 (grub_video_vbe_draw_pixel): Likewise.
39672 (grub_video_vbe_get_video_ptr): Likewise.
39673 (grub_video_vbe_get_pixel): Likewise
39674 (grub_video_vbe_init): Likewise.
39675 (grub_video_vbe_fini): Likewise.
39676 (grub_video_vbe_setup): Likewise.
39677 (grub_video_vbe_get_info): Likewise.
39678 (grub_video_vbe_set_palette): Likewise.
39679 (grub_video_vbe_get_palette): Likewise.
39680 (grub_video_vbe_set_viewport): Likewise.
39681 (grub_video_vbe_get_viewport): Likewise.
39682 (grub_video_vbe_map_color): Likewise.
39683 (grub_video_vbe_map_rgb): Likewise.
39684 (grub_video_vbe_map_rgba): Likewise.
39685 (grub_video_vbe_unmap_color): Likewise.
39686 (grub_video_vbe_fill_rect): Likewise.
39687 (grub_video_vbe_blit_glyph): Likewise.
39688 (grub_video_vbe_blit_bitmap): Likewise.
39689 (grub_video_vbe_blit_render_target): Likewise.
39690 (grub_video_vbe_scroll): Likewise.
39691 (grub_video_vbe_swap_buffers): Likewise.
39692 (grub_video_vbe_create_render_target): Likewise.
39693 (grub_video_vbe_delete_render_target): Likewise.
39694 (grub_video_vbe_set_active_render_target): Likewise.
39695 (grub_vbe_set_pixel_rgb): Remove function.
39696 (grub_vbe_set_pixel_index): Likewise.
39697 (index_color_mode): Remove static variable.
39698 (active_mode): Likewise.
39699 (framebuffer): Likewise.
39700 (bytes_per_scan_line): Likewise.
39701 (grub_video_vbe_adapter): Added new static variable.
39702 (framebuffer): Likewise.
39703 (render_target): Likewise.
39704 (initial_mode): Likewise.
39705 (mode_in_use): Likewise.
39706 (mode_list): Likewise.
39707
5f97350b 397082006-03-10 Marco Gerards <marco@gnu.org>
39709
39710 * configure.ac (AC_INIT): Bumped to 1.93.
39711
39712 * DISTLIST: Added `include/grub/hfs.h'.
39713
a3c5c6f8 397142006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
39715
39716 * boot/i386/pc/boot.S (general_error): Before looping, try INT
39717 18H, which might help the BIOS falling back to next boot media.
39718
6de53d26 397192006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
39720
39721 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
39722 Poe Chen <poe.poechen@gmail.com>.
39723
77c4a393 397242006-01-17 Marco Gerards <marco@gnu.org>
39725
39726 * include/grub/normal.h: Include <grub/script.h>.
39727 (grub_command_list): Removed struct.
39728 (grub_command_list_t): Removed type.
39729 (grub_menu_entry): Remove members `num' and `command_list'. Add
39730 members `commands' and `sourcecode'.
39731 * include/grub/script.h: Add inclusion guards.
39732 (grub_script_cmd_menuentry): New struct.
39733 (grub_script_execute_menuentry): New prototype.
39734 (grub_script_lexer_record_start): Likewise.
39735 (grub_script_lexer_record_stop): Likewise.
39736 * normal/execute.c (grub_script_execute_menuentry): New function.
39737 * normal/lexer.c (record, recording, recordpos, recordlen): New
39738 variables.
39739 (grub_script_lexer_record_start): New function.
39740 (grub_script_lexer_record_stop): Likewise.
39741 (recordchar): Likewise.
39742 (nextchar): Likewise.
39743 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
39744 2048 as the buffer size. Add the tokens `menuentry' and `@'.
39745 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
39746 (current_menu): New variable.
39747 (free_menu): Mainly rewritten.
39748 (grub_normal_menu_addentry): New function.
39749 (read_config_file): Rewritten.
39750 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 39751 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 39752 the menu entry.
39753 (run): Mainly rewritten.
39754 * normal/parser.y (menu_entry): New variable.
39755 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
39756 (menuentry): New rule.
39757 (command): Add `menuentry'.
39758 (if_statement): Allow additional returns before `fi'.
39759 * normal/script.c (grub_script_create_cmdmenu): New function.
39760
144f1f98 397612006-01-03 Marco Gerards <marco@gnu.org>
39762
39763 * INSTALL: GNU Bison is required.
39764 * configure.ac: Rewritten the test to detect Bison.
39765 * Makefile.in (YACC): New variable. Reported by Xun Sun
39766 <xun.sun.cn@gmail.com>.
39767
af4b2d89 397682006-01-03 Marco Gerards <marco@gnu.org>
39769
39770 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
39771 the HFS+ filesystem to filesystem blocks.
39772 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
39773 GCC warning is silenced.
39774
15643b71 397752006-01-03 Marco Gerards <marco@gnu.org>
39776
39777 * partmap/apple.c (apple_partition_map_iterate): Convert the data
39778 read from disk from big endian to host byte order.
39779
00905879 397802006-01-03 Hollis Blanchard <hollis@penguinppc.org>
39781
39782 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
39783 documentation.
39784 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
39785 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
39786 embedded HFS+ filesystem.
39787 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
39788 (grub_hfs_sblock): Move from here...
39789 * include/grub/hfs.h: To here... New file.
39790 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
39791 documentation.
39792 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
39793 New macros.
39794 (grub_hfsplus_volheader): Change type of member `magic' to
39795 `grub_uint16_t'.
39796 (grub_hfsplus_data): Add new member `embedded_offset'.
39797 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
39798 returned block.
39799 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
39800 Calculate the offset.
39801
8899bc3e 398022005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39803
39804 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
39805 Removed.
39806 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
39807
ae8c0277 398082005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39809
39810 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
39811 ENV->NAME is NULL after allocating ENV->VALUE.
39812
07084456 398132005-12-25 Marco Gerards <marco@gnu.org>
39814
39815 * kern/env.c (grub_env_set): Rewritten the error handling code.
39816
4750f5f1 398172005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39818
39819 * geninit.sh: Made more robust, and more portable.
39820
50214199 398212005-12-25 Marco Gerards <marco@gnu.org>
39822
39823 Add support for Apple HFS+ filesystems.
f19dbdb7 39824
50214199 39825 * fs/hfsplus.c: New file.
39826
39827 * DISTLIST: Added `fs/hfsplus.c'.
39828
39829 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
39830 (hfsplus_mod_SOURCES): New variable.
39831 (hfsplus_mod_CFLAGS): Likewise.
39832 (hfsplus_mod_LDFLAGS): Likewise.
39833 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
39834 (grub_setup_SOURCES): Likewise.
39835 (grub_mkdevicemap_SOURCES): Likewise.
39836 (grub_emu_SOURCES): Likewise.
39837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39838
39839 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
39840
39841 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
39842
befaed6c 398432005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39844
39845 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
39846 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
39847 include/grub/parser.h, include/grub/script.h, kern/parser.c,
39848 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
39849 normal/lexer.c, normal/parser.y, normal/script.c, and
39850 partmap/gpt.c.
39851 Removed kern/sparc64/cache.c.
39852
39853 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
39854 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
39855 grub_emu_init.c.
39856
39857 * configure.ac (AC_INIT): Bumped to 1.92.
39858
6a124103 398592005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
39860
39861 * kern/err.c (grub_error_push): Added new function to support error
39862 stacks.
39863 (grub_error_pop): Likewise.
39864 (grub_error_stack_items): New local variable to support error stacks.
39865 (grub_error_stack_pos): Likewise.
39866 (grub_error_stack_assert): Likewise.
39867 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
39868 stack depth.
39869 (grub_print_error): Added support to print errors from error stack.
39870
39871 * include/grub/err.h (grub_error_push): Added function prototype.
39872 (grub_error_pop): Likewise.
39873
be973c1b 398742005-12-09 Hollis Blanchard <hollis@penguinppc.org>
39875
39876 * configure.ac: Accept `powerpc64' as host_cpu.
39877 (amd64): Rename to `biarch32'.
39878
39879 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
39880 non-cacheline-aligned addresses.
39881
39882 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
39883 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
39884 if `size' is non-zero.
39885
b04216ab 398862005-12-03 Marco Gerards <mgerards@xs4all.nl>
39887
39888 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
39889 and `cd' to make sure the filename is not prefixed with a
39890 directory name.
39891 (pkgdata_MODULES): Add `gpt.mod'.
39892 (gpt_mod_SOURCES): New variable.
39893 (gpt_mod_CFLAGS): Likewise.
39894 (gpt_mod_LDFLAGS): Likewise.
39895
39896 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
39897
39898 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
39899 New macro.
39900
39901 * partmap/gpt.c: New file.
39902
39903 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
39904 GPT partition map is detected.
39905
41730ed9 399062005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
39907
39908 * commands/i386/pc/play.c: New file.
39909 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
39910 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
39911 macros.
f19dbdb7 39912
95dc3643 399132005-11-27 Marco Gerards <mgerards@xs4all.nl>
39914
39915 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
39916 ((unused))' to silence gcc warning.
39917
1569ec51 399182005-11-26 Hollis Blanchard <hollis@penguinppc.org>
39919
39920 * configure.ac: Correct `AC_PROG_YACC' test.
39921
9abde152 399222005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39923
39924 * util/powerpc/ieee1275/grub-install.in: Run the mount point
39925 check before installing files.
39926
44b83271 399272005-11-22 Mike Small <smallm@panix.com>
39928
39929 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
39930 number regex so multidigit numbers are recognized correctly.
39931
399322005-11-22 Mike Small <smallm@panix.com>
39933
39934 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
39935 debugging message before attempting to claim memory.
39936 (grub_rescue_cmd_initrd): Add a claim debugging message and try
39937 multiple addresses in case of failure.
39938
9c12956b 399392005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39940
39941 * term/tparm.c (get_space): Remove empty `if' statement.
39942
39943 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
39944
39945 * kern/parser.c (check_varstate): Rename `state' to 's'.
39946
aeaf81d9 399472005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39948
39949 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
39950 variable definitions to the beginning of each function. Sort stack
39951 variables by size.
39952 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
39953 `buf' argument to `char *'.
39954
79bbb63f 399552005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39956
39957 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
39958 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39959 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 39960 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39961 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39962 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39963 configfile.mod, search.mod, gzio.mod and test.mod.
39964 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39965 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39966 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39967 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39968 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39969 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39970 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39971 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39972 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39973 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39974 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39975 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39976 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39977 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39978 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39979 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39980 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39981 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39982 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39983 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
39984 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
39985 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
39986 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
39987
39988 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
39989 `grep --include'.
39990 (pkgdata_MODULES): Add test.mod.
39991
233b1628 399922005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39993
39994 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
39995 appending to variables with "+=".
39996 (PModule): Use full pathname to generate *.lst filenames.
39997
39998 * Makefile.in: Fixed list rules moved from genmk.rb.
39999 (.DELETE_ON_ERROR): New special target.
40000 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
40001
40002 * conf/i386-pc.rmk: Include conf/common.mk.
40003 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40004 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 40005 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40006 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40007 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40008 configfile.mod, search.mod, gzio.mod and test.mod.
40009 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40010 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40011 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40012 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40013 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40014 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40015 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40016 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40017 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40018 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40019 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40020 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40021 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40022 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40023 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40024 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40025 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40026 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40027 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40028 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40029 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40030 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40031 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
40032 here...
40033 * conf/common.rmk: ... to here. New file.
40034
40035 * conf/common.mk: New file.
40036
16f820c8 400372005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
40038
40039 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
40040 (grub_script.tab.c): ... here.
40041
40042 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
40043 (grub_script.tab.c): ... here.
40044
40045 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
40046 (grub_script.tab.c): ... here.
40047
40048 * normal/command.c (grub_command_find): Fixed a memory leak of
40049 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
40050
63ba1554 400512005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40052
40053 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
40054 "@" which marks the start of a comment on ARM.
40055 (VARIABLE): Likewise.
40056
7f67dc13 400572005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40058
79bbb63f 40059 Add support for Linux/ADFS partition tables.
7f67dc13 40060
40061 * partmap/acorn.c: New file.
40062
40063 * include/grub/acorn_filecore.h: Likewise.
40064
40065 * DISTLIST: Added `partmap/acorn.c' and
40066 `include/grub/acorn_filecore.h'.
f19dbdb7 40067
7f67dc13 40068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40069 `partmap/acorn.c'.
40070 (pkgdata_MODULES): Add `acorn.mod'.
40071 (acorn_mod_SOURCES): New variable.
40072 (acorn_mod_CFLAGS): Likewise.
40073
40074 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40075 `partmap/acorn.c'.
40076 (pkgdata_MODULES): Add `acorn.mod'.
40077 (acorn_mod_SOURCES): New variable.
40078 (acorn_mod_CFLAGS): Likewise.
40079
40080 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
40081 (pkgdata_MODULES): Add `acorn.mod'.
40082 (acorn_mod_SOURCES): New variable.
40083 (acorn_mod_CFLAGS): Likewise.
40084 (acorn_mod_LDFLAGS): Likewise.
40085
40086 * include/types.h (grub_disk_addr_t): New typedef.
40087
6d099807 400882005-11-13 Marco Gerards <mgerards@xs4all.nl>
40089
40090 * geninit.sh: New file.
40091
40092 * geninitheader.sh: Likewise.
40093
40094 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
40095 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
40096 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
40097 * commands/configfile.c (grub_configfile_init)
40098 (grub_configfile_fini): Likewise.
40099 * commands/default.c (grub_default_init, grub_default_fini):
40100 Likewise.
40101 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
40102 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
40103 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
40104 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
40105 Likewise.
40106 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
40107 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
40108 Likewise.
40109 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 40110 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 40111 Likewise.
40112 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40113 Likewise.
fe6b695a 40114 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 40115 Likewise.
40116 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40117 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40118 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40119 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40120 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40121 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40122 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40123 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40124 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40125 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40126 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40127 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40128 * partmap/amiga.c (grub_amiga_partition_map_init)
40129 (grub_amiga_partition_map_fini): Likewise.
40130 * partmap/apple.c (grub_apple_partition_map_init)
40131 (grub_apple_partition_map_fini): Likewise.
40132 * partmap/pc.c (grub_pc_partition_map_init)
40133 (grub_pc_partition_map_fini): Likewise.
40134 * partmap/sun.c (grub_sun_partition_map_init,
40135 grub_sun_partition_map_fini): Likewise.
40136 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40137 Likewise.
40138
40139 * util/grub-emu.c: Include <grub_modules_init.h>.
40140 (main): Don't initialize and de-initialize any modules directly,
40141 use `grub_init_all' and `grub_fini_all' instead.
40142
40143 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40144 `grub_vesafb_mod_init'.
40145 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40146 all users.
40147 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40148 `grub_vga_mod_init'. Updated all users.
40149 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 40150
6d099807 40151 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40152 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40153 rules.
40154
40155 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40156 Generate a function to initialize the module in utilities.
40157 Updated all callers.
40158 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40159 initialize the module in utilities. Updated all callers.
40160
9046bcf0 401612005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40162
40163 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40164 escape sequence and a literal ^L to clear the screen.
40165
40166 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40167 when returning from Open Firmware.
40168
d13ea639 401692005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40170
40171 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40172 (grub_ofconsole_height): Likewise.
40173 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
40174 manually insert a '\n'.
40175 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
40176 `grub_ofconsole_height'. Return early if these are already set.
40177
a8fcf206 401782005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
40179
40180 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40181 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
40182 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
40183 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
40184 and `normal/script.c'.
40185 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40186 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40187 (test_mod_SOURCES): New variable.
40188 (test_mod_CFLAGS): Likewise.
40189 (test_mod_LDFLAGS): Likewise.
40190 (pkgdata_MODULES): Add `test.mod'.
40191 (grub_script.tab.c): New rule.
40192 (grub_script.tab.h): Likewise.
40193
b6b32745 401942005-11-07 Marco Gerards <mgerards@xs4all.nl>
40195
40196 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40197 `commands/test.c', `normal/execute.c', `normal/lexer.c',
40198 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40199 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40200 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40201 (test_mod_SOURCES): New variable.
40202 (test_mod_CFLAGS): Likewise.
40203 (pkgdata_MODULES): Add `test.mod'.
40204 (grub_script.tab.c): New rule.
40205 (grub_script.tab.h): Likewise.
40206
daac212a 402072005-11-06 Marco Gerards <mgerards@xs4all.nl>
40208
40209 Add initial scripting support.
40210
40211 * commands/test.c: New file.
40212 * include/grub/script.h: Likewise.
40213 * normal/execute.c: Likewise.
40214 * normal/function.c: Likewise.
40215 * normal/lexer.c: Likewise.
40216 * normal/parser.y: Likewise.
40217 * normal/script.c: Likewise.
40218
40219 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 40220
daac212a 40221 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
40222 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
40223 `normal/function.c' and `normal/script.c'.
40224 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40225 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 40226 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
40227 variables.
daac212a 40228 (pkgdata_MODULES): Add `test.mod'.
40229 (grub_script.tab.c): New rule.
40230 (grub_script.tab.h): Likewise.
40231
40232 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
40233
40234 * include/grub/normal.h (grub_test_init): New prototype.
40235 (grub_test_fini): Likewise.
f19dbdb7 40236
daac212a 40237 * normal/command.c: Include <grub/script.h>.
40238 (grub_command_execute): Rewritten.
f19dbdb7 40239
daac212a 40240 * util/grub-emu.c (main): Call `grub_test_init' and
40241 `grub_test_fini'.
40242
77500b2b 402432005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40244
40245 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
40246 to 0.
40247 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
40248 there are no pending characters.
40249
e45deb9e 402502005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40251
40252 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
40253 `grub_strndup' to drop device arguments. Replace unnecessary
40254 `grub_strndup' with `grub_strdup'.
40255
4ce32619 402562005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40257
40258 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
40259 `debug' environment variable has been set.
40260
402612005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40262
4ce32619 40263 * Makefile.in (install-local): Use $(DATA).
40264 (uninstall): Likewise.
40265 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
40266 (sbin_UTILITIES): ... to here.
40267 (sbin_SCRIPTS): New variable.
40268 (grub_install_SOURCES): New variable.
40269 * util/powerpc/ieee1275/grub-install.in: New file.
40270 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
40271 variable.
40272 (add_segments): Call `grub_util_get_path'.
40273
25fe6f03 402742005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40275
40276 From Timothy Baldwin:
40277 * commands/ls.c (grub_ls_list_files): Close FILE with
40278 grub_file_close.
40279 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
40280
04ccf3ec 402812005-10-24 Marco Gerards <mgerards@xs4all.nl>
40282
40283 * include/grub/parser.h: New file.
40284
40285 * kern/parser.c: Likewise.
40286
40287 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
40288 (grub_setup_SOURCES): Likewise.
40289 (grub_probefs_SOURCES): Likewise.
40290 (grub_emu_SOURCES): Likewise.
40291 (kernel_img_HEADERS): Add `parser.h'.
40292
40293 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40294 (grub_emu_SOURCES): Add `kern/parser.c'.
40295 (grubof_SOURCES): Likewise.
40296
40297 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40298 (grubof_SOURCES): Add `kern/parser.c'.
40299
40300 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
40301
40302 * kern/misc.c (grub_split_cmdline): Removed function.
40303
40304 * kern/rescue.c: Include <grub/parser.h>.
40305 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
40306 of `grub_split_cmdline'.
40307
40308 * normal/command.c: Include <grub/parser.h>.
40309 (grub_command_execute): Use `grub_parser_split_cmdline' instead
40310 of `grub_split_cmdline'.
40311
40312 * normal/completion.c: Include <grub/parser.h>.
40313 (cmdline_state): New variable.
40314 (iterate_dir): End the filename with a quote depending on the
40315 command line state.
40316 (get_state): new function.
40317 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
40318 split the arguments and determine the current argument. When the
40319 argument string is not quoted, escape all spaces.
40320
6d8f4b0e 403212005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40322
40323 * normal/sparc64/setjmp.S: New file.
40324
15cf03ed 403252005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40326
40327 * include/grub/sparc64/libgcc.h: New file.
40328 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
40329 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
40330 normal/sparc64/setjmp.c.
40331
03e8661a 403322005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40333
40334 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
40335 * kern/sparc64/cache.S: New file.
40336 * kern/sparc64/cache.c: Removed.
40337 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
40338 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
40339 -mtune=ultrasparc.
40340 (COMMON_LDFLAGS): Add -melf64_sparc.
40341 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
40342 (grubof_SOURCES): Use cache.S instead of cache.c.
40343 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
40344 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
40345 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
40346 commented though.
40347 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
40348 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
40349 (linux_mod_CFLAGS): Commented out.
40350 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
40351 out because module isn't built.
40352 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
40353 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
40354 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
40355 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
40356 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
40357 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40358 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40359 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
40360 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
40361 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
40362 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40363 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40364 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
40365 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
40366
34eeec8a 403672005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
40368
40369 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
40370 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
40371 longer, because HFS should not be used on PC.
40372
708367a3 403732005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40374
40375 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
40376 consistently within the loop.
40377
6fa1251a 403782005-10-15 Marco Gerards <mgerards@xs4all.nl>
40379
40380 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
40381 directory can not be read.
40382
4801580b 403832005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40384
40385 * configure.ac (AC_INIT): Increase the version number to 1.91.
40386
40387 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
40388 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
40389 term/i386/pc/serial.c.
40390
219ad426 403912005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40392
40393 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
40394 file size must be permitted.
40395
40396 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
40397 between %ah and %al.
40398
688e5699 403992005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40400
40401 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
40402 grub_uint64_t.
40403 Call the hook with a NUL-terminated filename.
40404 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
40405 grub_cpu_to_be32.
40406
40407 * kern/term.c (cursor_state): New variable.
40408 (grub_term_set_current): Reset the cursor state on a new
40409 terminal.
40410 (grub_setcursor): Rewritten to use CURSOR_STATE.
40411 (grub_getcursor): New function.
40412
40413 * include/grub/term.h (grub_getcursor): New prototype.
40414
40415 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
40416 integers on ARM. Reported by Timothy Baldwin
40417 <T.E.Baldwin99@members.leeds.ac.uk>.
40418
bb34586c 404192005-10-11 Marco Gerards <mgerards@xs4all.nl>
40420
40421 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
40422 allocated.
40423 (grub_sfs_dir): Likewise.
40424
9a909877 404252005-10-09 Marco Gerards <mgerards@xs4all.nl>
40426
40427 Add support for the SFS filesystem.
40428
40429 * fs/sfs.c: New file.
40430
40431 * DISTLIST: Added `fs/sfs.c'.
40432
40433 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
40434 (grub_probefs_SOURCES): Likewise.
40435 (grub_emu_SOURCES): Likewise.
40436 (pkgdata_MODULES): Add `sfs.mod'.
40437 (sfs_mod_SOURCES): New variable.
40438 (sfs_mod_CFLAGS): Likewise.
40439 (sfs_mod_LDFLAGS): Likewise.
40440
40441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
40442 (pkgdata_MODULES): Add `sfs.mod'.
40443 (sfs_mod_SOURCES): New variable.
40444 (sfs_mod_CFLAGS): Likewise.
40445
40446 * util/grub-emu.c (main): Call `grub_sfs_init' and
40447 `grub_sfs_fini'.
40448
40449 * include/grub/fs.h (grub_sfs_init): New prototype.
40450 (grub_sfs_fini): Likewise.
40451
57bdbde3 404522005-10-07 Marco Gerards <mgerards@xs4all.nl>
40453
40454 Add support for the AFFS filesystem.
40455
40456 * fs/affs.c: New file.
40457
40458 * DISTLIST: Added `fs/affs.c'.
40459
40460 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
40461 (grub_probefs_SOURCES): Likewise.
40462 (grub_emu_SOURCES): Likewise.
40463 (pkgdata_MODULES): Add `affs.mod'.
40464 (affs_mod_SOURCES): New variable.
40465 (affs_mod_CFLAGS): Likewise.
40466 (affs_mod_LDFLAGS): Likewise.
40467
40468 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
40469 (pkgdata_MODULES): Add `affs.mod'.
40470 (affs_mod_SOURCES): New variable.
40471 (affs_mod_CFLAGS): Likewise.
40472
40473 * util/grub-emu.c (main): Call `grub_affs_init' and
40474 `grub_affs_fini'.
40475
40476 * include/grub/fs.h (grub_affs_init): New prototype.
40477 (grub_affs_fini): Likewise.
40478
047b67e0 404792005-10-01 Marco Gerards <mgerards@xs4all.nl>
40480
40481 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
40482
59b8208a 404832005-10-01 Marco Gerards <mgerards@xs4all.nl>
40484
40485 * configure.ac: Accept `x86_64' as host_cpu. In that case add
40486 `-m32' to CFLAGS.
40487
40488 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
40489 linking.
f19dbdb7 40490
59b8208a 40491 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
40492 (COMMON_LDFLAGS): New variable.
40493 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
40494 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
40495 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
40496 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
40497 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
40498 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
40499 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
40500 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
40501 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
40502 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
40503 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40504 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40505 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
40506 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
40507 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
40508 variables.
40509 (normal_mod_ASFLAGS): Add `-m32'.
40510
40511 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
40512 (grub_host_size_t, grub_host_ssize_t): New types.
40513 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 40514 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 40515 `GRUB_HOST_SIZEOF_VOID_P'.
40516
40517 * include/grub/kernel.h (struct grub_module_header): Type of
40518 member offset changed to `grub_host_off_t'. Type of member size
40519 changed to `grub_host_size_t'.
40520 (struct grub_module_info): Type of member offset changed to
40521 `grub_host_off_t'. Type of member size changed to
40522 `grub_host_size_t'.
40523
b4093103 405242005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
40525
40526 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 40527
b4093103 40528 * kern/i386/pc/startup.S (multiboot_header): New label.
40529 (multiboot_entry): Likewise.
40530 (multiboot_trampoline): Likewise.
40531
40532 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40533 Increased to 0x4A0.
40534
40535 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
40536 put parentheses after a question mark.
40537 [!GRUB_UTIL] (my_mod): New variable.
40538
40539 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
40540
b2499b29 405412005-09-28 Marco Gerards <mgerards@xs4all.nl>
40542
40543 Adds support for the XFS filesystem. Btrees are not supported
40544 yet.
40545
40546 * fs/xfs.c: New file.
40547
40548 * DISTLIST: Added `fs/xfs.c'.
40549
40550 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
40551 (grub_probefs_SOURCES): Likewise.
40552 (grub_emu_SOURCES): Likewise.
40553 (pkgdata_MODULES): Add `xfs.mod'.
40554 (xfs_mod_SOURCES): New variable.
40555 (xfs_mod_CFLAGS): Likewise.
40556
40557 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
40558 (pkgdata_MODULES): Add `xfs.mod'.
40559 (xfs_mod_SOURCES): New variable.
40560 (xfs_mod_CFLAGS): Likewise.
40561
40562 * util/grub-emu.c (main): Call `grub_xfs_init' and
40563 `grub_xfs_fini'.
40564
40565 * include/grub/fs.h (grub_xfs_init): New prototype.
40566 (grub_xfs_fini): Likewise.
40567
f19dbdb7 40568
83d37a62 405692005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
40570
40571 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
40572 color modes, allow greater than 16 colors to be configured as
40573 a default palette.
40574
47d2d65e 405752005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40576
40577 * normal/completion.c (complete_arguments): Add the qualifier
40578 const into OPTIONS.
40579
40580 From Omniflux <omniflux+lists@omniflux.com>:
40581 * include/grub/terminfo.h: New file.
40582 * include/grub/tparm.h: Likewise.
40583 * include/grub/i386/pc/serial.h: Likewise.
40584 * term/terminfo.c: Likewise.
40585 * term/tparm.c: Likewise.
40586 * term/i386/pc/serial.c: Likewise.
40587 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
40588 serial.mod.
40589 (terminfo_mod_SOURCES): New variable.
40590 (terminfo_mod_CFLAGS): Likewise.
40591 (serial_mod_SOURCES): Likewise.
40592 (serial_mod_CFLAGS): Likewise.
40593
48b671ff 405942005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
40595
40596 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
40597 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
40598 and kern/powerpc/ieee1275/cmain.c, respectively.
40599
40600 * boot/powerpc/ieee1275/crt0.S: Moved to ...
40601 * kern/powerpc/ieee1275/crt0.S: ... here.
40602
40603 * boot/powerpc/ieee1275/cmain.c: Moved to ...
40604 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 40605
48b671ff 40606 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
40607 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
40608 instead of boot/powerpc/ieee1275/crt0.S and
40609 boot/powerpc/ieee1275/cmain.c, respectively.
40610
40611 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
40612 sectors. It was not used anyway.
40613
09fc77a7 406142005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40615
40616 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
40617 `unused parameter' warning.
40618
003789c7 406192005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40620
40621 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
40622 function.
40623 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
40624 getcharwidth.
40625
67f44c86 406262005-08-28 Marco Gerards <metgerards@student.han.nl>
40627
40628 * include/grub/normal.h (enum grub_completion_type): Added
40629 `GRUB_COMPLETION_TYPE_ARGUMENT'.
40630
40631 * normal/cmdline.c (print_completion): Handle
40632 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
40633 * normal/menu_entry.c (store_completion): Likewise.
40634
40635 * normal/completion.c (complete_arguments): New function.
40636 (grub_normal_do_completion): Call `complete_arguments' when the
40637 current words start with a dash.
40638
0b5abe02 406392005-08-27 Marco Gerards <metgerards@student.han.nl>
40640
40641 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
40642 `gzio.mod' instead of `io.mod').
40643
d9864ee1 406442005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
40645
40646 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
40647 (DISTDIRS): Added io and video.
40648 Rewrite the search routine to make an output consistently.
40649
40650 * DISTLIST: Added conf/sparc64-ieee1275.mk,
40651 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
40652 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
40653 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
40654 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
40655 util/powerpc/ieee1275/misc.c.
f19dbdb7 40656
d9864ee1 40657 * include/grub/gzio.h: New file.
40658 * io/gzio.c: Likewise.
f19dbdb7 40659
d9864ee1 40660 * kern/file.c (grub_file_close): Call grub_device_close only if
40661 FILE->DEVICE is not NULL.
40662
40663 * include/grub/mm.h [!NULL] (NULL): New macro.
40664
40665 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
40666
40667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
40668 (pkgdata_MODULES): Added gzio.mod.
40669 (gzio_mod_SOURCES): New variable.
40670 (gzio_mod_CFLAGS): Likewise.
40671
40672 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
40673 (pkgdata_MODULES): Added gzio.mod.
40674 (gzio_mod_SOURCES): New variable.
40675 (gzio_mod_CFLAGS): Likewise.
40676
40677 * commands/cat.c: Include grub/gzio.h.
40678 (grub_cmd_cat): Use grub_gzfile_open instead of
40679 grub_file_open.
f19dbdb7 40680
d9864ee1 40681 * commands/cmp.c: Include grub/gzio.h.
40682 (grub_cmd_cmp): Use grub_gzfile_open instead of
40683 grub_file_open.
40684
40685 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
40686 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
40687 grub_file_open.
40688 (grub_rescue_cmd_module): Likewise.
40689
fa46f4b5 406902005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40691
40692 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
40693 kern/sparc64/ieee1275/init.c because it contains _start.
40694 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
40695
e9211b5d 406962005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40697
40698 * configure.ac: Add support for sparc64 host with ieee1275
40699 firmware.
40700 * configure: Generated from configure.ac.
40701 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
40702 instead of int.
40703 (grub_ofdisk_read): Likewise.
40704 (grub_ofdisk_open): Use %p to print pointer values, and cast the
40705 pointers as (void *) to remove a warning.
40706 (grub_ofdisk_close): Likewise.
40707 (grub_ofdisk_read): Likewise.
40708 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
40709 returns, so make it return void to remove a warning.
40710 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
40711 Corresponding prototype change.
40712 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
40713 values, and cast the pointers as (void *) to remove a warning.
40714 (grub_mm_dump): Likewise.
40715 * conf/sparc64-ieee1275.mk: New file.
40716 * conf/sparc64-ieee1275.rmk: Likewise.
40717 * include/grub/sparc64/setjmp.h: Likewise.
40718 * include/grub/sparc64/types.h: Likewise.
40719 * include/grub/sparc64/ieee1275/console.h: Likewise.
40720 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40721 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40722 * include/grub/sparc64/ieee1275/time.h: Likewise.
40723 * kern/sparc64/cache.c: Likewise.
40724 * kern/sparc64/dl.c: Likewise.
40725 * kern/sparc64/ieee1275/init.c: Likewise.
40726 * kern/sparc64/ieee1275/openfw.c: Likewise.
40727
385c6a92 407282005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
40729
40730 * util/console.c (grub_ncurses_putchar): If C is greater than
40731 0x7f, set C to a question mark.
40732 (grub_ncurses_getcharwidth): New function.
40733 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
40734 getcharwidth.
40735
40736 * normal/menu.c (print_entry): Made aware of Unicode. First,
40737 convert TITLE to UCS-4, and predict the cursor position by
40738 grub_getcharwidth.
40739
40740 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
40741 const to SRC.
40742 * kern/misc.c (grub_utf16_to_utf8): Likewise.
40743
16ccb8b1 407442005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40745
40746 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
40747 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40748 grub_strcat.
40749
40750 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
40751 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40752 grub_strcpy and grub_strlen. Take it into account that a space
40753 character is inserted as a delimiter.
40754
6a85ce79 407552005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40756
40757 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 40758 invalid magic in the error.
6a85ce79 40759
40760 * commands/search.c: New file.
f19dbdb7 40761
6a85ce79 40762 * util/grub-emu.c (main): Call grub_search_init and
40763 grub_search_fini.
40764
40765 * kern/rescue.c (grub_rescue_print_disks): Removed.
40766 (grub_rescue_print_devices): New function.
40767 (grub_rescue_cmd_ls): Use grub_device_iterate with
40768 grub_rescue_print_devices instead of grub_disk_dev_iterate with
40769 grub_rescue_print_disks.
40770
40771 * kern/partition.c (grub_partition_iterate): Return the result of
40772 PARTMAP->ITERATE instead of GRUB_ERRNO.
40773
40774 * kern/device.c: Include grub/partition.h.
40775 (grub_device_iterate): New function.
40776
40777 * include/grub/partition.h (grub_partition_iterate): Return int
40778 instead of grub_err_t.
40779
40780 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
40781 prototype.
40782 [GRUB_UTIL] (grub_search_fini): Likewise.
40783
40784 * include/grub/device.h (grub_device_iterate): New prototype.
40785
40786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40787 commands/search.c.
40788 (pkgdata_MODULES): Added search.mod.
40789 (search_mod_SOURCES): New variable.
40790 (search_mod_CFLAGS): Likewise.
40791
40792 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
40793 (pkgdata_MODULES): Added search.mod.
40794 (search_mod_SOURCES): New variable.
40795 (search_mod_CFLAGS): Likewise.
40796
40797 * commands/ls.c (grub_ls_list_disks): Renamed to ...
40798 (grub_ls_list_devices): ... this, and use grub_device_iterate.
40799 All callers changed.
40800
40801 * DISTLIST: Added commands/search.c.
40802
ef095434 408032005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40804
40805 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
40806 conversion.
40807 (grub_getcharwidth): New function.
40808
40809 * kern/misc.c (grub_utf8_to_ucs4): New function.
40810
40811 * include/grub/term.h (struct grub_term): Added a new member
40812 "getcharwidth".
40813 (grub_getcharwidth): New prototype.
40814
40815 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
40816
40817 * term/i386/pc/console.c (map_char): New function. Segregated from
40818 grub_console_putchar.
40819 (grub_console_putchar): Use map_char.
40820 (grub_console_getcharwidth): New function.
40821 (grub_console_term): Specified grub_console_getcharwidth as
40822 getcharwidth.
40823
40824 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
40825 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
40826
40827 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
40828 GRUB_ERRNO.
40829 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
40830 on grub_strtoul completely.
40831 (write_char): Declare local variables in the beginning of the
40832 function.
40833 (grub_vesafb_getcharwidth): New function.
40834 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
40835 getcharwidth.
40836
1f0a95e4 408372005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
40838
40839 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
40840 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
40841 commands/i386/pc/vbetest.c.
40842
40843 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
40844 call grub_vbe_get_controller_info again, because the returned
40845 information is volatile.
40846 (grub_vbe_set_video_mode): Mostly rewritten.
40847 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
40848 grub_vbe_status_t correctly.
40849 (grub_vbe_get_video_mode_info): Likewise.
40850 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
40851 several if statements.
40852
40853 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
40854 * commands/i386/pc/vbeinfo.c: ... this.
40855
40856 * commands/i386/pc/vbe_test.c: Renamed to ...
40857 * commands/i386/pc/vbetest.c: ... this.
40858
40859 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
40860 ...
40861 (grub_cmd_vbeinfo): ... this. Save video modes before
40862 iterating. Skip a video mode, if it is not available, not enough
40863 information is given or it is monochrome. Show the memory
40864 model. Leave the interpretation of MODEVAR to grub_strtoul
40865 completely.
40866 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
40867 (GRUB_MOD_FINI): Likewise.
40868
40869 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
40870 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
40871 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
40872 duplicated grub_env_get. Leave the interpretation of MODEVAR to
40873 grub_strtoul completely.
40874 (real2pm): Removed.
40875 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
40876 (GRUB_MOD_FINI): Likewise.
40877
40878 * normal/misc.c: Include grub/mm.h.
40879
40880 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
40881 vbe_list_modes with vbetest.mod and vbeinfo.mod.
40882 (vbe_list_modes_mod_SOURCES): Removed.
40883 (vbe_list_modes_mod_CFLAGS): Likewise.
40884 (vbe_test_mod_SOURCES): Likewise.
40885 (vbe_test_mod_CFLAGS): Likewise.
40886 (vbeinfo_mod_SOURCES): New variable.
40887 (vbeinfo_mod_CFLAGS): Likewise.
40888 (vbetest_mod_SOURCES): Likewise.
40889 (vbetest_mod_CFLAGS): Likewise.
40890
992ffbbe 408912005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
40892
40893 * normal/misc.c: New file.
40894
40895 * DISTLIST: Added normal/misc.c.
f19dbdb7 40896
992ffbbe 40897 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
40898 DISK to HOOK. Call HOOK with DISK.
40899 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40900 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40901 * partmap/sun.c (sun_partition_map_iterate): Likewise.
40902
40903 * normal/menu_entry.c (struct screen): Added a new member
40904 "completion_shown".
40905 (completion_buffer): New global variable.
40906 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
40907 (store_completion): New function.
40908 (complete): Likewise.
40909 (clear_completions): Likewise.
40910 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
40911 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
40912 a tab, call complete.
40913
40914 * normal/completion.c (disk_dev): Removed.
40915 (print_simple_completion): Likewise.
40916 (print_partition_completion): Likewise.
40917 (print_func): New global variable.
40918 (add_completion): Do not take the arguments WHAT or PRINT any
40919 longer. Added a new argument TYPE. Instead of printing directly,
40920 call PRINT_FUNC if not NULL.
40921 All callers changed.
40922 (complete_device): Use a local variable DEV instead of
40923 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
40924 (grub_normal_do_completion): Take a new argument HOOK. Do not
40925 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
40926 empty string, return NULL instead.
40927 All callers changed.
40928
40929 * normal/cmdline.c (print_completion): New function.
40930
40931 * kern/partition.c (grub_partition_iterate): Add an argument DISK
40932 to HOOK.
40933 All callers changed.
40934
40935 * kern/disk.c (grub_print_partinfo): Removed.
40936
40937 * include/grub/partition.h (struct grub_partition_map): Add a new
40938 argument DISK into HOOK of ITERATE.
40939 (grub_partition_iterate): Add a new argument DISK to HOOK.
40940
40941 * include/grub/normal.h (enum grub_completion_type): New enum.
40942 (grub_completion_type_t): New type.
40943 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
40944 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
40945 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
40946 (GRUB_COMPLETION_TYPE_FILE): Likewise.
40947 (grub_normal_do_completion): Added a new argument HOOK.
40948 (grub_normal_print_device_info): New prototype.
40949
40950 * include/grub/disk.h (grub_print_partinfo): Removed.
40951
40952 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
40953 (normal_mod_SOURCES): Likewise.
40954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40955 (normal_mod_SOURCES): Likewise.
40956
40957 * commands/ls.c (grub_ls_list_disks): Use
40958 grub_normal_print_device_info instead of grub_print_partinfo. Free
40959 PNAME.
40960 (grub_ls_list_files): Use grub_normal_print_device_info instead of
40961 duplicating the code.
40962
0bd41162 409632005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40964
40965 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 40966 follow GCS more precisely.
40967 * commands/i386/pc/vbe_test.c: Likewise.
40968 * include/grub/i386/pc/vbe.h: Likewise.
40969 * term/i386/pc/vesafb.c: Likewise.
40970 * video/i386/pc/vbe.c: Likewise.
0bd41162 40971
6323696a 409722005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40973
40974 * DISTLIST: Added term/i386/pc/vesafb.c
40975 DISTLIST: Added video/i386/pc/vbe.c
40976 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
40977 DISTLIST: Added commands/i386/pc/vbe_test.c.
40978 * commands/i386/pc/vbe_list_modes.c: New file.
40979 * commands/i386/pc/vbe_test.c: Likewise.
40980 * term/i386/pc/vesafb.c: Likewise.
40981 * video/i386/pc/vbe.c: Likewise.
40982 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
40983 (grub_vbe_probe) Added prototype.
40984 (grub_vbe_set_video_mode) Likewise.
40985 (grub_vbe_get_video_mode) Likewise.
40986 (grub_vbe_get_video_mode_info) Likewise.
40987 (grub_vbe_set_pixel_rgb) Likewise.
40988 (grub_vbe_set_pixel_index) Likewise.
40989 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
40990 (pkgdata_MODULES): Added vesafb.mod.
40991 (pkgdata_MODULES): Added vbe_list_modes.mod.
40992 (pkgdata_MODULES): Added vbe_test.mod.
40993 (vbe_mod_SOURCES): Added.
40994 (vbe_mod_CFLAGS): Likewise.
40995 (vesafb_mod_SOURCES): Likewise.
40996 (vesafb_mod_CFLAGS): Likewise.
40997 (vbe_list_modes_mod_SOURCES): Likewise.
40998 (vbe_list_modes_mod_CFLAGS): Likewise.
40999 (vbe_test_mod_SOURCES): Likewise.
41000 (vbe_test_mod_CFLAGS): Likewise.
41001
0a74e62f 410022005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
41003
0a74e62f 41004 * normal/command.c (grub_command_execute): If INTERACTIVE is
41005 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
41006 CMDLINE. Disable the pager if INTERACTIVE is true.
41007 All callers are changed.
41008
41009 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
41010 before reading a config file.
41011 * normal/main.c (read_config_file): Even if a command is not
41012 found, register it if it is within an entry.
41013
41014 * util/grub-emu.c: Include sys/types.h and unistd.h.
41015 (options): Added --hold.
41016 (struct arguments): Added a new member "hold".
41017 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
41018 missing.
41019 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
41020 cleared by a debugger, if it is not zero.
41021
41022 * include/grub/normal.h (grub_command_execute): Add an argument
41023 INTERACTIVE.
41024
e51f85ae 410252005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
41026
41027 * DISTLIST: Added include/grub/i386/pc/vbe.h.
41028
e9c6f39b 410292005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
41030
41031 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
41032 program with another one, because the old one didn't detect a bug
41033 in gcc-3.4. Always use regparm 2, because the new test is still
41034 not enough for gcc-4.0. Someone must investigate a simple test
41035 case which detects a bug in gcc-4.0.
41036
8de3495c 410372005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
41038
41039 * DISTLIST: Added normal/completion.c.
41040
41041 * normal/completion.c: New file.
f19dbdb7 41042
8de3495c 41043 * term/i386/pc/console.c (grub_console_getwh): New function.
41044 (grub_console_term): Assign grub_console_getwh to getwh.
41045
41046 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
41047 function is defined in normal/completion.c as
41048 grub_normal_do_completion.
41049 (grub_cmdline_get): Use grub_normal_do_completion instead of
41050 grub_tab_complete.
41051
41052 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
41053 returns non-zero, otherwise return 0.
41054 (grub_partition_iterate): First, probe the partition map. Then,
41055 call ITERATE only for this partition map.
41056
41057 * kern/misc.c (grub_strncmp): Rewritten.
41058
41059 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
41060 returns non-zero. Otherwise return 0.
41061
41062 * include/grub/partition.h (grub_partition_map_iterate): Return
41063 int instead of void.
41064
41065 * include/grub/normal.h (grub_normal_do_completion): New prototype.
41066
41067 * include/grub/misc.h (grub_strncmp): Change the type of N to
41068 grub_size_t.
41069
41070 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
41071 of void.
41072
41073 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 41074 unsigned explicitly before comparing it with I.
8de3495c 41075
41076 * kern/main.c (grub_env_write_root): Add the attribute unused into
41077 VAR.
41078
41079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41080 normal/completion.c.
41081 (normal_mod_SOURCES): Likewise.
41082 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41083 (normal_mod_SOURCES): Likewise.
41084
41085 * normal/command.c (grub_iterate_commands): If ITERATE returns
41086 non-zero, return one immediately.
41087
e85e144b 410882005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
41089
41090 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
41091 * kern/i386/pc/startup.S: Updated Global Descriptor table's
41092 descriptions.
41093 (grub_vbe_get_controller_info): New function.
41094 (grub_vbe_get_mode_info): Likewise.
41095 (grub_vbe_set_mode): Likewise.
41096 (grub_vbe_get_mode): Likewise.
41097 (grub_vbe_set_memory_window): Likewise.
41098 (grub_vbe_get_memory_window): Likewise.
41099 (grub_vbe_set_scanline_length): Likewise.
41100 (grub_vbe_get_scanline_length): Likewise.
41101 (grub_vbe_set_display_start): Likewise.
41102 (grub_vbe_get_display_start): Likewise.
41103 (grub_vbe_set_palette_data): Likewise.
41104 * include/grub/i386/pc/vbe.h: New file.
41105
c46153d2 411062005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41107
41108 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41109 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41110 * DISTLIST: Likewise.
41111 * kern/ieee1275/of.c: Moved to ...
41112 * kern/ieee1275/ieee1275.c: ... here.
41113
0cb90c45 411142005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41115
41116 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41117 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41118 Pass 0 as `end' parameter to grub_strtoul().
41119
a19fb360 411202005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41121
41122 * include/grub/powerpc/ieee1275/console.h: Do not include
41123 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41124 ifdef.
41125 (grub_console_cur_color): Remove i386-specific prototype.
41126 (grub_console_real_putchar): Likewise.
41127 (grub_console_checkkey): Likewise.
41128 (grub_console_getkey): Likewise.
41129 (grub_console_getxy): Likewise.
41130 (grub_console_gotoxy): Likewise.
41131 (grub_console_cls): Likewise.
41132 (grub_console_setcursor): Likewise.
41133 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41134 Include <grub/machine/console.h>.
41135 * term/ieee1275/ofconsole.c: Likewise.
41136
4ac9bd04 411372005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41138
41139 * Makefile.in (LIBLZO): New variable.
41140
41141 * configure.ac: Check for LZO version 2.
41142
41143 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41144 lzo/lzo1x.h instead of lzo1x.h.
41145
41146 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41147 of -llzo.
41148
41149 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41150 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41151
41152 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41153 copying the data from PARTITION to P.
41154
f4917dfd 411552005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41156
41157 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41158 negative, unload the module.
41159
41160 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41161 map is "pc_partition_map" but not "pc".
41162 (usage): Fix the description. The options are --boot-image and
41163 --core-image but not --boot-file or --core-file.
41164 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41165 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41166 DEFAULT_DIRECTORY.
41167
41168 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41169 --core-file. Specify INSTALL_DEVICE as an argument.
41170
41171 * util/console.c: Include config.h.
41172 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41173 [HAVE_NCURSES_H]: Include ncurses.h.
41174 [HAVE_CURSES_H]: Include curses.h.
41175 [!A_NORMAL] (A_NORMAL): Defined as zero.
41176 [!A_STANDOUT] (A_STANDOUT): Likewise.
41177
41178 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
41179 -lncurses.
41180 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
41181
41182 * configure.ac: Check for curses libraries and headers.
41183
41184 * Makefile.in (LIBCURSES): New variable.
41185
41186 * genmk.rb (Script::rule): Set the executable bits.
41187
41188 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
41189 name of the PC partition map is "pc_partition_map" but not "pc".
41190
0e143073 411912005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41192
41193 * util/i386/pc/grub-install.in (grub_probefs): New variable.
41194 (modules): Likewise.
41195 (usage): Added descriptions for --modules and --grub-probefs.
41196 Handle --modules and --grub-probefs. Save the arguments in MODULES
41197 and GRUB_PROBEFS, respectively.
41198 Auto-detect a filesystem module against GRUBDIR. If the result is
41199 empty and modules are not specified explicitly, abort the
41200 installation. Add the result to MODULES.
41201
41202 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
41203 disk/powerpc/ieee1275/ofdisk.c,
41204 include/grub/powerpc/ieee1275/init.h and
41205 term/powerpc/ieee1275/ofconsole.c.
41206 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
41207 term/ieee1275/ofconsole.c.
41208
41209 * include/grub/powerpc/ieee1275/console.h: Resurrected.
41210
41211 * COPYING: Upgraded to the latest version. Only the address of the
41212 FSF office has changed.
f19dbdb7 41213
efd6e6d5 412142005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41215
41216 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41217 kern/ieee1275.c with kern/ieee1275/of.c.
41218
41219 * kern/ieee1275.c: Moved to ...
41220 * kern/ieee1275/of.c: ... here.
41221
8ceafda2 412222005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
41223
41224 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 41225 readability.
8ceafda2 41226
41227 * config.guess: Updated to the latest version from gnulib.
41228 * config.sub: Likewise.
41229 * install.sh: Likewise.
41230 * mkinstalldirs: Likewise.
41231
41232 * include/grub/console.h: Removed. This file is arch-specific. Do
41233 not put this in include/grub.
41234
41235 * include/grub/i386/pc/console.h: Resurrected.
41236
41237 * util/console.c: Include grub/machine/console.h instead of
41238 grub/console.h.
41239 * util/grub-emu.c: Likewise.
41240
267f6cd9 412412005-08-04 Marco Gerards <metgerards@student.han.nl>
41242
41243 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
41244 hardcoded value.
f19dbdb7 41245
267f6cd9 41246 From Vincent Pelletier <subdino2004@yahoo.fr>
41247 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
41248 Redefined to use grub_getwh.
41249 (grub_term): New member named getwh.
41250 (grub_getwh): New prototype.
41251 * kern/term.c (grub_getwh): New function.
41252 * term/i386/pc/console.c (grub_console_getwh): New function.
41253 (grub_console_term): New member `getwh'.
41254 * term/i386/pc/vga.c (grub_vga_getwh): New function.
41255 (grub_vga_term): New member `getwh'.
0b5abe02 41256 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 41257 grub_ssize_t.
41258 (grub_ofconsole_getw): New function.
41259 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
41260 (grub_ofconsole_term): New field named getwh and new initial
41261 value.
41262
3be7266d 412632005-08-03 Hollis Blanchard <hollis@penguinppc.org>
41264
41265 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
41266 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
41267 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
41268 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
41269 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
41270 of <grub/machine/ieee1275.h>.
41271 * commands/ieee1275/reboot.c: Likewise.
41272 * boot/powerpc/ieee1275/ieee1275.c: Move ...
41273 * kern/ieee1275.c: ... to here. All users updated. Change all
41274 parameter structs to use new type `grub_ieee1275_cell_t'.
41275 * term/powerpc/ieee1275/ofconsole.c: Move ...
41276 * term/ieee1275/ofconsole.c: ... to here. All users updated.
41277 * disk/powerpc/ieee1275/ofdisk.c: Move ...
41278 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
41279 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
41280 to return int.
41281 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
41282 Remove unused prototypes. All users updated.
41283 * include/grub/powerpc/ieee1275/console.h: Removed.
41284 * include/grub/powerpc/ieee1275/ieee1275.h: Define
41285 `grub_ieee1275_cell_t'.
41286 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
41287 Cast comparisons with -1 to the correct type.
41288 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
41289 type to match `grub_ieee1275_entry_fn'.
41290
8b5f3938 412912005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
41292
41293 * DISTLIST: Added util/i386/pc/grub-probefs.c.
41294
41295 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
41296 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
41297 partmap/sun.c.
41298 (grub_probefs_SOURCES): New variable.
41299
41300 * util/i386/pc/grub-probefs.c: New file.
41301
41302 * util/i386/pc/grub-setup.c (main): Call
41303 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
41304 grub_hfs_init and grub_jfs_init to initialize the system. Call
41305 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
41306 grub_pc_partition_map_fini to finish the system.
41307
ea409713 413082005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
41309
41310 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
41311 function.
41312 (grub_multiboot_load_elf32): Likewise.
41313 (grub_multiboot_is_elf64): Likewise.
41314 (grub_multiboot_load_elf64): Likewise.
41315 (grub_multiboot_load_elf): Likewise.
41316 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
41317 an ELF32 or ELF64 file.
41318 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
41319
41320 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
41321 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
41322 NULL before calling FS->LABEL.
41323 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
41324 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
41325 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
41326 before calling FS->LABEL.
41327
141a288b 413282005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
41329
41330 * util/i386/pc/grub-install.in (datadir): New variable.
41331 (libdir): Removed.
41332 (pkgdatadir): New variable.
41333 (pkglibdir): Removed.
41334
0d5f8a54 413352005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
41336
41337 * DISTLIST: Added util/i386/pc/grub-install.in.
41338
41339 * util/i386/pc/grub-install.in: New file.
41340
41341 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
41342 (grub_install_SOURCES): Likewise.
41343
41344 * genmk.rb: Added support for scripts.
41345 (Script): New class.
41346 (scripts): New variable.
41347
41348 * Makefile.in (install-local): Install sbin_SCRIPTS by
41349 INSTALL_SCRIPT.
41350 (uninstall): Remove sbin_SCRIPTS.
41351
41352 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
41353 device, try to get a GRUB device by
41354 grub_util_biosdisk_get_grub_dev.
41355 Free DEST_DEV.
41356
41357 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
41358 description for --device-map.
41359
5f968e1e 413602005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41361
41362 Change the semantics of variable hooks. They now return strings
41363 instead of error values.
f19dbdb7 41364
5f968e1e 41365 * util/i386/pc/grub-setup.c: Include grub/env.h.
41366 (setup): Use grub_device_set_root instead of grub_env_set.
41367
41368 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
41369 grub_env_get instead of grub_device_set_root and
41370 grub_device_get_root, respectively.
41371
41372 * kern/main.c (grub_env_write_root): New function.
41373 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
41374 grub_env_set instead of grub_device_set_root.
41375
41376 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
41377 many variables.
41378 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
41379 rather than calling ENV->WRITE_HOOK afterwards.
41380 (grub_env_get): Return the result of ENV->READ_HOOK rather than
41381 passing a pointer of a pointer.
41382 (grub_register_variable_hook): Change the types of "read_hook" and
41383 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
41384 respectively.
41385 Allocate the default empty string on the heap, because this string
41386 may be freed later.
41387
41388 * kern/device.c: Include grub/env.h.
41389 (grub_device_set_root): Removed.
41390 (grub_device_get_root): Likewise.
41391 (grub_device_open): Use grub_env_get instead of
41392 grub_device_get_root.
41393
41394 * include/grub/env.h (grub_env_read_hook_t): New type.
41395 (grub_env_write_hook_t): Likewise.
41396 (grub_env_var): Change the types of "read_hook" and "write_hook"
41397 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
41398 (grub_register_variable_hook): Likewise.
41399
41400 * include/grub/device.h (grub_device_set_root): Removed.
41401 (grub_device_set_root): Likewise.
41402
41403 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
41404 make sure that DIRNAME terminates with '/', so that
41405 grub_fat_find_dir will fail if PATH is not a directory.
41406
41407 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
41408 from DIRNAME.
41409 Use the qualifier auto for print_files and print_files_long.
41410 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
41411 as a regular file.
41412 Put a newline only if there is no error.
41413 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
41414 used.
41415
896f0afd 414162005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41417
41418 * kern/partition.c (grub_partition_probe): Initialize PART to
41419 NULL. Otherwise, when no partition map is registered, this returns
41420 a garbage.
41421
b28b81b2 414222005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
41423
41424 * partmap/apple.c (apple_partition_map_iterate): Check if POS
41425 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
41426 valid.
41427
5f3607e0 414282005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
41429
41430 * commands/ls.c (grub_ls_list_disks): Print the filesystem
41431 information on each device, if it does not have partitions. Print
41432 "Device" instead of "Disk", because this function is not specific
41433 to disk devices.
41434
41435 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
41436 static to ensure that it is put on the memory rather than a
41437 register.
41438
502c87e8 414392005-07-17 Yoshinori Okuji <okuji@enbug.org>
41440
41441 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
41442 (grub_cat_init): Likewise.
41443 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
41444 (options): Likewise.
41445 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
41446 (grub_configfile_init): Likewise.
41447 * font/manager.c (GRUB_MOD_INIT): Likewise.
41448 * commands/help.c (GRUB_MOD_INIT): Likewise.
41449 (grub_help_init): Likewise.
41450 * normal/command.c (grub_command_init): Likewise.
41451 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
41452 * disk/loopback.c (grub_loop_init): Likewise.
41453 (GRUB_MOD_INIT): Likewise.
41454 * commands/ls.c (grub_ls_init): Likewise.
41455 (GRUB_MOD_INIT): Likewise.
41456 (options): Likewise.
41457 * commands/boot.c (grub_boot_init): Likewise.
41458 (GRUB_MOD_INIT): Likewise.
41459 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
41460 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
41461 (GRUB_MOD_INIT): Likewise.
41462 * commands/cmp.c (grub_cmp_init): Likewise.
41463 (GRUB_MOD_INIT): Likewise.
41464
41465 * normal/arg.c: Use <> instead of "" to include header files.
41466 (SHORT_ARG_HELP): New macro.
41467 (SHORT_ARG_USAGE): Likewise.
41468 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
41469 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
41470 descriptions.
41471 (find_short): Check if C is 'h' or 'u' explicitly.
41472 (grub_arg_show_help): Use space characters instead of tabs. Treat
41473 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
41474 are shown with --help and --usage only if they are not used for
41475 the command itself.
41476 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
41477 'h' and 'u'.
41478
41479 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
41480 const into "longarg". Change the type of "shortarg" to int.
41481
f806d18e 414822005-07-17 Yoshinori Okuji <okuji@enbug.org>
41483
41484 * boot/i386/pc/boot.S (boot_drive_check): New label.
41485
41486 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
41487 macro.
41488
41489 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
41490 which do not pass a boot drive correctly. Copied from GRUB Legacy.
41491
e293232b 414922005-07-17 Yoshinori Okuji <okuji@enbug.org>
41493
41494 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
41495 When turning off Gate A20, skip the check and return immediately,
41496 because this is not fatal usually.
41497
ebedfd00 414982005-07-17 Yoshinori Okuji <okuji@enbug.org>
41499
41500 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
41501 be 0x7C00 instead of 0x8000.
41502
41503 * boot/i386/pc/pxeboot.S: Rewritten.
41504
41505 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
41506 EXT_C.
41507 (gate_a20_check_state): Read a byte from 0x108000. Invert the
41508 result.
41509
654fc59f 415102005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
41511
41512 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
41513 robustness. This routine now supports a BIOS call and System
41514 Control Port A to modify the gate A20.
41515
41516 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41517 Increased to 0x440.
41518
09f9923f 415192005-07-12 Hollis Blanchard <hollis@penguinppc.org>
41520
41521 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
41522 device path and resulting ihandle.
41523 (grub_ofdisk_close): dprintf the ihandle being closed.
41524 (grub_ofdisk_read): dprintf function parameters.
41525 * kern/mm.c (grub_mm_init_region): Likewise.
41526 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
41527 (grub_linux_boot): dprintf the Linux entry point, initrd address and
41528 size, and boot arguments.
41529 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
41530 before loading into memory.
41531 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
41532 before loading into memory.
41533
7ef504d8 415342005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
41535
41536 * kern/mm.c: Added much documentation.
41537 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
41538 8, set to 5 instead of 8.
41539
e0f050c2 415402005-07-10 Yoshinori Okuji <okuji@enbug.org>
41541
41542 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
41543
41544 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
41545 (grub_mkdevicemap_SOURCES): New variable.
41546
41547 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
41548 lib/device.c of GRUB Legacy.
41549
7224189a 415502005-07-10 Yoshinori Okuji <okuji@enbug.org>
41551
41552 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
41553 instead of PATH is NULL.
41554
68c864eb 415552005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
41556
41557 * commands/cmp.c (BUFFER_SIZE): New macro.
41558 (grub_cmd_cmp): Close the right file at the right time. Compare
41559 only data just read. Don't report files of different size as
41560 identical. Dynamically allocate buffers. Move variable
41561 declarations at the beginning of function.
41562
e6f3e614 415632005-07-09 Yoshinori Okuji <okuji@enbug.org>
41564
41565 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
41566 reverse.
41567
f8f1559a 415682004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
41569
41570 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
41571 when backspace is pressed at beginning of line.
41572
39c9d41d 415732005-07-03 Yoshinori Okuji <okuji@enbug.org>
41574
41575 * DISTLIST: Added genfslist.sh.
41576
41577 * normal/main.c (fs_module_list): New variable.
41578 (autoload_fs_module): New function.
41579 (read_fs_list): Likewise.
41580 (grub_normal_execute): Call read_fs_list.
41581
41582 * kern/fs.c (grub_fs_autoload_hook): New variable.
41583 (grub_fs_probe): Added support for auto-loading.
41584
41585 * include/grub/normal.h (struct grub_fs_module_list): New struct.
41586 (grub_fs_module_list_t): New type.
41587
41588 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
41589 (grub_fs_autoload_hook): New prototype.
41590
41591 * genfslist.sh: New file.
f19dbdb7 41592
39c9d41d 41593 * genmk.rb: Added a rule to generate a filesystem list.
41594
121c1d83 415952005-06-30 Marco Gerards <metgerards@student.han.nl>
41596
41597 * configure.ac: Fix the test for cross-compiling.
41598
41599 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
41600 define GRUB_UTIL anymore.
41601
41602 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
41603 so this function works on other systems than just big endian.
41604 (load_modules): Likewise.
41605 (add_segments): Likewise.
41606
e75d76e1 416072005-06-23 Hollis Blanchard <hollis@penguinppc.org>
41608
41609 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
41610 contains `l' modifier, get a long from va_arg().
41611
50b5a0a7 416122005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
41613
41614 * kern/mm.c (grub_free): If the next free block which is being
41615 merged is the first free block, set the first block to the block
41616 being freed.
41617 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
41618
89371b20 416192005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41620
41621 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
41622 `grub_ieee1275_chosen'.
41623
168d6e58 416242005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41625
41626 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
41627 (grub_ieee1275_chosen): New variable.
41628 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
41629 `chosen'.
41630 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
41631 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41632 Rename first argument to `phandle' for consistency.
41633 (grub_ieee1275_get_property_length): Likewise.
41634 (grub_ieee1275_next_property): Likewise. Change type of first argument
41635 to grub_ieee1275_phandle_t.
41636 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
41637 Move export next to declaration.
41638 (grub_ieee1275_chosen): New variable.
41639 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
41640 Correct cosmetic typo.
41641 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
41642 `grub_ieee1275_chosen'.
41643 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
41644 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
41645 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
41646 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
41647 `grub_ieee1275_chosen'.
41648
ca5baa3f 416492005-05-10 Hollis Blanchard <hollis@penguinppc.org>
41650
41651 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
41652 /chosen/bootargs.
41653 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
41654 /chosen/bootargs as "variable=value" pairs.
41655
708b345f 416562005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
41657
41658 * include/grub/misc.h (grub_dprintf): New macro.
41659 (grub_real_dprintf): New prototype.
41660 (grub_strword): Likewise.
41661 (grub_iswordseparator): Likewise.
41662 * kern/misc.c (grub_real_dprintf): New function.
41663 (grub_strword): Likewise.
41664 (grub_iswordseparator): Likewise.
41665
f4c5e67c 416662005-04-30 Hollis Blanchard <hollis@penguinppc.org>
41667
41668 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
41669 (roundup): Remove macro.
41670 (grub_ieee1275_flags): Make static.
41671 (grub_ieee1275_realmode): Remove.
41672 (grub_ieee1275_test_flag): New function.
41673 (grub_ieee1275_set_flag): Likewise.
41674 (find_options): Rename to `grub_ieee1275_find_options'; update
41675 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
41676 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
41677 (cmain): New prototype.
41678 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
41679 `grub_ieee1275_flags' directly.
41680 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
41681 machine/biosdisk.h.
41682 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
41683 Don't include grub/machine/init.h.
41684 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
41685 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41686 Remove prototype.
41687 (grub_ieee1275_realmode): Likewise.
41688 (grub_ieee1275_flag): New enum.
41689 (grub_ieee1275_test_flag): New prototype.
41690 (grub_ieee1275_set_flag): New prototype.
41691 * include/grub/powerpc/ieee1275/init.h: Remove file.
41692 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
41693 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
41694 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
41695 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
41696 comment.
41697 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
41698 `grub_ieee1275_test_flag'.
41699 (grub_ieee1275_encode_devname): Likewise.
41700
ed16607e 417012005-04-21 Hollis Blanchard <hollis@penguinppc.org>
41702
41703 * include/grub/powerpc/ieee1275/ieee1275.h
41704 (grub_ieee1275_encode_devname): New prototype.
41705 (grub_ieee1275_get_filename): Likewise.
41706 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
41707 function.
41708 (grub_set_prefix): Likewise.
41709 (grub_machine_init): Call grub_set_prefix.
41710 * kern/powerpc/ieee1275/openfw.c: Fix typos.
41711 (grub_parse_type): New enum.
41712 (grub_ieee1275_get_devargs): New function.
41713 (grub_ieee1275_get_devname): Likewise.
41714 (grub_ieee1275_parse_args): Likewise.
41715 (grub_ieee1275_get_filename): Likewise.
41716 (grub_ieee1275_encode_devname): Likewise.
41717
be369920 417182005-03-30 Marco Gerards <metgerards@student.han.nl>
41719
41720 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
41721 `grub_loader_unset'.
41722
a5ce3a4a 417232005-03-26 Hollis Blanchard <hollis@penguinppc.org>
41724
41725 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
41726 instead of grub_ieee1275_interpret.
41727 (grub_halt_init): New function.
41728 (grub_halt_fini): Likewise.
41729 (GRUB_MOD_INIT): Correct message grammar.
41730 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
41731 instead of grub_ieee1275_interpret.
41732 (grub_reboot_init): New function.
41733 (grub_reboot_fini): Likewise.
41734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
41735 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
41736 util/i386/pc/misc.c with commands/ieee1275/halt.c,
41737 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
41738 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
41739 function.
41740 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
41741 Add prototype.
41742 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
41743 prototype.
41744 (grub_halt): Likewise.
41745 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
41746 (cmain): Remove __attribute__((unused)).
41747 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
41748 (grub_heap_len): Likewise.
41749 (grub_machine_fini): New function.
41750 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
41751 (grub_halt): Likewise.
41752 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
41753 function.
41754 * util/powerpc/ieee1275/misc.c: New file.
41755
0058f771 417562005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41757
41758 * DISTLIST: New file.
41759 * gendistlist.sh: Likewise.
f19dbdb7 41760
0058f771 41761 * Makefile.in (COMMON_DISTFILES): Removed.
41762 (BOOT_DISTFILES): Likewise.
41763 (CONF_DISTFILES): Likewise.
41764 (DISK_DISTFILES): Likewise.
41765 (FS_DISTFILES): Likewise.
41766 (INCLUDE_DISTFILES): Likewise.
41767 (KERN_DISTFILES): Likewise.
41768 (LOADER_DISTFILES): Likewise.
41769 (TERM_DISTFILES): Likewise.
41770 (UTIL_DISTFILES): Likewise.
41771 (DISTFILES): Likewise.
41772 (uninstall): Uninstall files in $(pkgdata_DATA).
41773 (DISTLIST): New target.
41774 (distdir): Use the contents of the file DISTLIST to get a list of
41775 distributed files.
41776
46b3b8a5 417772005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41778
41779 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
41780 descriptor. This is ported from GRUB Legacy.
41781
41782 * gencmdlist.sh: Added an extra semicolon to make it work with
41783 old sed versions. Reported by Robert Bihlmeyer
41784 <robbe@orcus.priv.at>.
41785
5822ff87 417862005-03-08 Yoshinori Okuji <okuji@enbug.org>
41787
41788 Automatic loading of commands is supported.
f19dbdb7 41789
5822ff87 41790 * normal/main.c (read_command_list): New function.
41791 (grub_normal_execute): Call read_command_list.
41792
41793 * normal/command.c (grub_register_command): Return zero or CMD.
41794 Allocate CMD->NAME from the heap.
41795 Initialize CMD->MODULE_NAME to zero.
41796 Find the same name as well. If the same command is found and it is
41797 a dummy command, overwrite members. If it is not a dummy command,
41798 return zero.
41799 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
41800 (grub_command_find): If a dummy command is found, load a module
41801 and retry to find a command only once.
41802
41803 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
41804 make sure that each command is loaded.
41805
41806 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
41807 macro.
41808 (struct grub_command): Remove const from the member `name'.
41809 Add a new member `module_name'.
41810 (grub_register_command): Return grub_command_t.
41811
41812 * commands/help.c (grub_cmd_help): Call grub_command_find to make
41813 sure that each command is loaded.
41814
41815 * genmk.rb (PModule::rule): Specify a module name without the
41816 suffix ".mod" to gencmdlist.sh.
41817
7b1f4b57 418182005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41819
41820 * gencmdlist.sh: New file.
f19dbdb7 41821
7b1f4b57 41822 * genmk.rb (PModule::rule): Generate a rule for a command list.
41823 Clean command.lst.
41824 Generate command.lst from $(COMMANDFILES).
41825
41826 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
41827 (DATA): Added $(pkgdata_DATA).
41828 (install-local): Install files in $(pkgdata_DATA).
41829
062aaf39 418302005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41831
41832 * term/i386/pc/vga.c (debug_command): Removed.
41833 (GRUB_MOD_INIT): Do not register the command "debug".
41834
41835 From Hollis Blanchard:
41836 * commands/configfile.c: New file.
41837 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41838 commands/configfile.c.
41839 (pkgdata_MODULES): Added configfile.mod.
41840 (configfile_mod_SOURCES): New variable.
41841 (configfile_mod_CFLAGS): Likewise.
41842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41843 commands/configfile.c.
41844 (pkgdata_MODULES): Added configfile.mod.
41845 (configfile_mod_SOURCES): New variable.
41846 (configfile_mod_CFLAGS): Likewise.
41847 * util/grub-emu.c (main): Call grub_configfile_init and
41848 grub_configfile_fini.
41849 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
41850 prototype.
41851 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 41852
cee01aa6 418532005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41854
41855 * normal/arg.c (grub_arg_show_help): Do not show the bug report
41856 address.
41857
41858 * commands/help.c (grub_cmd_help): Do not print newlines after
41859 the last command in print_command_help.
41860
93f3a1d8 418612005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41862
41863 * commands/default.h: New file.
41864 * commands/timeout.h: Likewise.
41865 * normal/context.c: Likewise.
f19dbdb7 41866
93f3a1d8 41867 * util/misc.c: Do not include sys/times.h.
41868 Include sys/time.h and grub/machine/time.h.
41869 (grub_get_rtc): Rewritten with gettimeofday.
41870
41871 * util/grub-emu.c (main): Call grub_default_init and
41872 grub_timeout_init before grub_normal_init, and call
41873 grub_timeout_fini and grub_default_fini after grub_main.
41874
41875 * util/console.c (grub_ncurses_checkkey): Return the read
41876 character or -1.
41877
41878 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
41879 timeouts.
41880
41881 * normal/main.c (read_config_file): Push MENU. If this fails,
41882 print an error and wait for a user input.
41883 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
41884 If a menu is empty or an error occurs, pop MENU.
41885 (grub_normal_execute): Pop and free MENU after grub_menu_run
41886 returns.
41887
41888 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
41889
41890 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
41891 include time.h.
41892 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41893 without GRUB_UTIL.
41894 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
41895 time.h.
41896 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41897 without GRUB_UTIL.
41898
41899 * include/grub/normal.h (struct grub_menu_list): New struct.
41900 (grub_menu_list_t): New type.
41901 (struct grub_context): New struct.
41902 (grub_context_t): New type.
41903 (grub_register_command): Got rid of EXPORT_FUNC.
41904 (grub_unregister_command): Likewise.
41905 (grub_context_get): New prototype.
41906 (grub_context_get_current_menu): Likewise.
41907 (grub_context_push_menu): Likewise.
41908 (grub_context_pop_menu): Likewise.
41909 [GRUB_UTIL] (grub_default_init): Likewise.
41910 [GRUB_UTIL] (grub_default_fini): Likewise.
41911 [GRUB_UTIL] (grub_timeout_init): Likewise.
41912 [GRUB_UTIL] (grub_timeout_fini): Likewise.
41913
41914 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
41915 commands/timeout.c and normal/context.c.
41916 (pkgdata_MODULES): Added default.mod and timeout.mod.
41917 (normal_mod_SOURCES): Added normal/context.c.
41918 (default_mod_SOURCES): New variable.
41919 (default_mod_CFLAGS): Likewise.
41920 (timeout_mod_SOURCES): Likewise.
41921 (timeout_mod_CFLAGS): Likewise.
41922 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
41923 conf/i386-pc.rmk.
41924 (pkgdata_MODULES): Added default.mod and timeout.mod.
41925 (normal_mod_SOURCES): Added normal/context.c.
41926 (default_mod_SOURCES): New variable.
41927 (default_mod_CFLAGS): Likewise.
41928 (timeout_mod_SOURCES): Likewise.
41929 (timeout_mod_CFLAGS): Likewise.
41930
41931 * Makefile.in (all-local): Added $(MKFILES).
41932
4ed2e1dd 419332005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
41934
41935 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
41936 (grub_emu_SOURCES): Likewise.
41937 (pkgdata_MODULES): Add `sun.mod'.
41938 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41939 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41940 `partmap/sun.c'.
41941 (pkgdata_MODULES): Add `sun.mod'.
41942 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41943 * include/grub/partition.h (grub_sun_partition_map_init): New
41944 prototype.
41945 (grub_sun_partition_map_fini): Likewise.
41946 * partmap/sun.c: New file.
41947 * util/grub-emu.c (main): Initialize and de-initialize the sun
41948 partitionmap support.
41949
4d4e372e 419502005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
41951
41952 This implements an Emacs-like menu entry editor.
f19dbdb7 41953
4d4e372e 41954 * normal/menu_entry.c: New file.
f19dbdb7 41955
4d4e372e 41956 * util/console.c (grub_ncurses_putchar): Translate some Unicode
41957 characters to ASCII.
41958 (saved_char): New variable.
41959 (grub_ncurses_checkkey): Rewritten completely.
41960 (grub_ncurses_getkey): Likewise.
41961 (grub_ncurses_init): Call raw instead of cbreak.
41962
41963 * normal/menu.c (print_entry): Do not put a space.
41964 (init_page): Renamed to ...
41965 (grub_menu_init_page): ... this. All callers changed.
41966 (edit_menu_entry): Removed.
41967 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
41968
41969 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
41970
41971 * kern/misc.c (grub_vprintf): Call grub_refresh.
41972
41973 * normal/menu.c (DISP_LEFT): Renamed to ...
41974 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
41975 * normal/menu.c (DISP_UP): Renamed to ...
41976 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
41977 * normal/menu.c (DISP_RIGHT): Renamed to ...
41978 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
41979 * normal/menu.c (DISP_DOWN): Renamed to ...
41980 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
41981 * normal/menu.c (DISP_HLINE): Renamed to ...
41982 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
41983 * normal/menu.c (DISP_VLINE): Renamed to ...
41984 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
41985 * normal/menu.c (DISP_UL): Renamed to ...
41986 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
41987 * normal/menu.c (DISP_UR): Renamed to ...
41988 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
41989 * normal/menu.c (DISP_LL): Renamed to ...
41990 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
41991 * normal/menu.c (DISP_LR): Renamed to ...
41992 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
41993 * normal/menu.c (TERM_WIDTH): Renamed to ...
41994 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
41995 * normal/menu.c (TERM_HEIGHT): Renamed to ...
41996 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
41997 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
41998 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
41999 * normal/menu.c (TERM_MARGIN): Renamed to ...
42000 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
42001 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
42002 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
42003 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
42004 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
42005 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
42006 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
42007 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
42008 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
42009 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
42010 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
42011 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
42012 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
42013 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
42014 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
42015 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
42016 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
42017 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
42018 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
42019 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
42020 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
42021 All callers changed.
42022
42023 * include/grub/normal.h: New prototype.
42024
42025 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42026 normal/menu_entry.c.
42027 (normal_mod_SOURCES): Likewise.
42028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42029 (normal_mod_SOURCES): Likewise.
42030
e6b92c8a 420312005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
42032
42033 * include/grub/normal.h (grub_halt_init): New prototype.
42034 (grub_halt_fini): Likewise.
42035 (grub_reboot_init): Likewise.
42036 (grub_reboot_fini): Likewise.
42037
42038 * util/grub-emu.c: Include signal.h.
42039 (main_env): New global variable.
42040 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
42041 catch C-c.
42042 (grub_machine_fini): New function.
42043 (main): Call grub_halt_init and grub_reboot_init before
42044 grub_main, and grub_reboot_fini and grub_halt_fini after it.
42045 Call setjmp with MAIN_ENV to go back afterwards.
42046 Call grub_machine_fini right before return.
42047
42048 * include/grub/util/misc.h: Include setjmp.h.
42049 (main_env): New prototype.
42050
42051 * include/grub/kernel.h (grub_machine_fini): New prototype.
42052 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
42053 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
42054
42055 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
42056 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
42057 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 42058
e6b92c8a 42059 * util/i386/pc/misc.c: New file.
f19dbdb7 42060
e6b92c8a 42061 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42062 util/i386/pc/misc.c, commands/i386/pc/halt.c and
42063 commands/i386/pc/reboot.c.
42064
c642636f 420652005-02-14 Guillem Jover <guillem@hadrons.org>
42066
42067 * include/grub/dl.h (grub_dl_check_header): New prototype.
42068 (grub_arch_dl_check_header): Change return type to grub_err_t,
42069 remove size parameter and export function. Update all callers.
42070 * kern/dl.c (grub_dl_check_header): New function.
42071 (grub_dl_load_core): Use `grub_dl_check_header' instead of
42072 `grub_arch_dl_check_header'. Check ELF type. Check if sections
42073 are inside the core.
42074 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
42075 independent ELF header checks.
42076 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42077 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
42078 `grub_dl_check_header' instead of explicit checks. Check for the
42079 ELF type.
42080 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
42081 `grub_dl_check_header' instead of explicit checks. Remove arch
42082 specific ELF header checks.
42083
e6b92c8a 42084 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
42085 argument SIZE.
42086
5eabe94b 420872005-02-13 Hollis Blanchard <hollis@penguinppc.org>
42088
42089 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
42090 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
42091
1b14a681 420922005-02-12 Hollis Blanchard <hollis@penguinppc.org>
42093
42094 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 42095 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 42096 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 42097 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 42098 * partmap/amiga.c (amiga_partition_map_iterate): Return
42099 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
42100 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42101
aca108aa 421022005-02-01 Guillem Jover <guillem@hadrons.org>
42103
42104 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
42105 help info.
42106
c9f9c556 421072005-01-31 Marco Gerards <metgerards@student.han.nl>
42108
42109 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42110 Removed prototype.
42111 (grub_rescue_cmd_linux): New prototype.
42112 (grub_rescue_cmd_initrd): Likewise.
42113 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42114 `bi_rec'.
42115 (grub_linux_release_mem): Release the memory for the initrd.
42116 (grub_load_linux): Renamed from this...
42117 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42118 Changed `entry' not to be static. Loop over memory regions to
42119 find another one when the default fails.
42120 (grub_rescue_cmd_initrd): New function.
42121 (grub_linux_init): Remove function.
42122 (grub_linux_fini): Likewise.
42123 (GRUB_MOD_INIT): Register `initrd'.
42124 (GRUB_MOD_FINI): Unregister `initrd'.
42125 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42126 Function removed.
42127 (grub_linux_normal_fini): Likewise.
42128 (GRUB_MOD_INIT): Register `initrd'.
42129 (GRUB_MOD_FINI): Unregister `initrd'.
42130
990cf3aa 421312005-01-31 Marco Gerards <metgerards@student.han.nl>
42132
42133 * commands/help.c: New file.
42134 * normal/arg.c (show_help): Renamed to...
42135 (grub_arg_show_help): ... this.
42136 * commands/i386/pc/halt.c: New file.
42137 * commands/i386/pc/reboot.c: Likewise.
42138 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42139 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42140 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42141 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42142 variables.
42143 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42144 `commands/help.c'.
42145 (pkgdata_MODULES): Add `help.mod'.
42146 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42147 * grub/i386/pc/init.h (grub_reboot): New prototype.
42148 (grub_halt): Likewise.
42149 * include/grub/normal.h (grub_arg_show_help): New prototype.
42150 (grub_help_init): Likewise.
42151 (grub_help_fini): Likewise.
42152 * util/grub-emu.c (main): Initialize and deinitialize the help
42153 command.
42154
42155 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42156
42157 * normal/command.c (grub_command_init): Fixed the description of
42158 the `set' and `unset' commands.
42159
421602005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 42161
42162 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42163 function.
42164 * commands/ieee1275/halt.c: New file.
42165 * commands/ieee1275/reboot.c: Likewise.
42166 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42167 `__attribute__ ((unused))'. Some GCS related fixed.
42168 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42169 (grub_suspend_fini): Likewise.
42170 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42171 and `halt.mod'.
42172 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42173 (halt_mod_CFLAGS): New variables.
42174 * include/grub/powerpc/ieee1275/ieee1275.h
42175 (grub_ieee1275_interpret): New prototype.
42176
1ab09cc7 421772005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
42178
42179 * include/grub/misc.h (memmove): New prototype.
42180 (memcpy): Likewise.
42181
8b8cbdb2 421822005-01-22 Hollis Blanchard <hollis@penguinppc.org>
42183
42184 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
42185 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
42186
e3741a27 421872005-01-22 Marco Gerards <metgerards@student.han.nl>
42188
42189 * kern/misc.c (grub_strndup): Function rewritten.
42190
776bd780 421912005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
42192
42193 * normal/menu.c (TERM_WIDTH): Macro redefined.
42194 (TERM_TOP_BORDER_Y): Likewise.
42195 (draw_border): Replaced while-loop by a for-loop. Make the number
42196 of lines consistent with the number of lines displayed in
42197 print_entries. Added a margin below the rectangle.
42198 (print_entry): Make the entry fit in the rectangle.
42199 (print_entries): Display the scroll arrows next to the right
42200 border.
42201
78026bce 422022005-01-21 Marco Gerards <metgerards@student.han.nl>
42203
42204 * fs/minix.c (grub_minix_find_file): Reserve more space for
42205 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
42206 `grub_strncpy' to copy `path' into it.
42207
67bbaf0f 422082005-01-21 Marco Gerards <metgerards@student.han.nl>
42209
42210 Add the loopback device, a device via which files can be accessed
42211 as devices.
f19dbdb7 42212
67bbaf0f 42213 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
42214 (pkgdata_MODULES): Add loopback.mod.
42215 (loopback_mod_SOURCES): New variable.
42216 (loopback_mod_CFLAGS): Likewise.
42217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42218 `disk/loopback.c'.
42219 (pkgdata_MODULES): Add loopback.mod.
42220 (loopback_mod_SOURCES): New variable.
42221 (loopback_mod_CFLAGS): Likewise.
42222 * disk/loopback.c: new file.
42223 * include/grub/normal.h (grub_loop_init): New prototype.
42224 (grub_loop_fini): New prototype.
42225 * util/grub-emu.c (main): Initialize and de-initialize loopback
42226 support.
42227 * include/grub/disk.h (grub_disk_dev_id): Add
42228 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
42229
6f1c18bd 422302005-01-20 Hollis Blanchard <hollis@penguinppc.org>
42231
42232 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
42233 function.
42234 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
42235 (suspend_mod_SOURCES): New variable.
42236 (suspend_mod_CFLAGS): Likewise.
42237 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
42238 New prototype.
42239 * commands/ieee1275/suspend.c: New file.
42240
b38551da 422412005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42242
42243 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 42244 ((unused))' to `__attribute__ ((used))'.
b38551da 42245 (GRUB_MOD_FINI): Likewise.
42246 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
42247 * genmk.rb (PModule): Assign space to common symbols when linking
42248 modules.
42249
777aff39 422502005-01-20 Marco Gerards <metgerards@student.han.nl>
42251
42252 * include/grub/mm.h (grub_mm_init_region): Change the type of the
42253 `unsigned' arguments to `grub_size_t'.
42254 (grub_malloc): Likewise.
42255 (grub_realloc): Likewise.
42256 (grub_memalign): Likewise.
42257 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
42258 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42259 * util/misc.c (grub_malloc): Likewise.
42260 (grub_realloc): Likewise.
42261 * kern/mm.c (get_header_from_pointer): Change the casts to
42262 `unsigned' into a cast to `grub_size_t'.
42263
42264 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
42265 point to `currnode' when `currnode' is changed.
42266
42267 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
42268 Schottelius <nico-linux@schottelius.org>.
42269
d0ff18e1 422702005-01-09 Hollis Blanchard <hollis@penguinppc.org>
42271
42272 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
42273 (note_path): Remove variable.
42274 (GRUB_IEEE1275_NOTE_NAME): New macro.
42275 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
42276 (grub_ieee1275_note_hdr): New structure.
42277 (grub_ieee1275_note_desc): Likewise.
42278 (grub_ieee1275_note): Likewise.
42279 (load_note): Remove `dir' argument. All callers updated. Remove
42280 `note_img' and `path'. Do not load a file from `note_path'.
42281 Initialize a struct grub_ieee1275_note and write that to `out'.
42282 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
42283
4ca7004c 422842005-01-05 Marco Gerards <metgerards@student.han.nl>
42285
42286 * util/misc.c (grub_util_read_image): Revert last change. It
42287 called `grub_util_read_at', which seeks from the beginning of the
42288 file.
42289
0b412211 422902005-01-04 Hollis Blanchard <hollis@penguinppc.org>
42291
42292 * TODO: Add note about endianness in grub-mkimage.
42293 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
42294 section.
42295 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
42296 (grub_mkimage_SOURCES): New target.
42297 * include/grub/kernel.h (grub_start_addr): Remove variable.
42298 (grub_end_addr): Likewise.
42299 (grub_total_module_size): Likewise.
42300 (grub_kernel_image_size): Likewise.
42301 (GRUB_MODULE_MAGIC): New constant.
42302 (grub_module_info): New structure.
42303 (grub_arch_modules_addr): New prototype.
42304 (grub_get_end_addr): Remove prototype.
42305 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
42306 * include/grub/powerpc/ieee1275/kernel.h: New file.
42307 * include/grub/util/misc.h (grub_util_get_fp_size): New
42308 prototype.
42309 (grub_util_read_at): Likewise.
42310 (grub_util_write_image_at): Likewise.
42311 * kern/main.c (grub_get_end_addr): Remove function.
42312 (grub_load_modules): Call grub_arch_modules_addr instead of using
42313 grub_end_addr. Look for a grub_module_info struct in memory. Use
42314 the grub_module_info fields instead of calling grub_get_end_addr
42315 as loop conditions. Move grub_add_unused_region code here.
42316 (grub_add_unused_region): Remove function.
42317 * kern/i386/pc/init.c: Include grub/cache.h.
42318 (grub_machine_init): Remove call to grub_get_end_addr. Remove
42319 one call to add_mem_region.
42320 (grub_arch_modules_addr): New function.
42321 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
42322 (grub_total_module_size): Likewise.
42323 Include grub/machine/kernel.h.
42324 (grub_arch_modules_addr): New function.
42325 * util/grub-emu.c (grub_end_addr): Remove variable.
42326 (grub_total_module_size): Likewise.
42327 (grub_arch_modules_addr): New function.
42328 * util/misc.c: Include unistd.h.
42329 (grub_util_get_fp_size): New function.
42330 (grub_util_read_at): Likewise.
42331 (grub_util_write_image_at): Likewise.
42332 (grub_util_read_image): Call grub_util_read_at.
42333 (grub_util_write_image): Call grub_util_write_image_at.
42334 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
42335 additional memory in kernel_img for a struct grub_module_info.
42336 Fill in that grub_module_info.
42337 * util/powerpc/ieee1275/grub-mkimage.c: New file.
42338
458786f8 423392005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42340
42341 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
42342 New function.
42343 * include/grub/powerpc/ieee1275/ieee1275.h
42344 (grub_ieee1275_milliseconds): New prototype.
42345 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
42346 Change to 1000.
42347 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
42348 grub_ieee1275_milliseconds.
42349
ac507d1b 423502005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42351
42352 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
42353 variable.
42354 (find_options): New function.
42355 (cmain): Call find_options.
42356 * include/grub/powerpc/ieee1275/ieee1275.h
42357 (grub_ieee1275_realmode): New extern variable.
42358 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
42359 grub_map if grub_ieee1275_realmode is false.
42360
6b8fd1c4 423612004-12-29 Marco Gerards <metgerards@student.han.nl>
42362
42363 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
42364 lines are inserted and make it work like readline. Reported by
42365 Vincent Pelletier <subdino2004@yahoo.fr>.
42366
8514a1e0 423672004-12-28 Marco Gerards <metgerards@student.han.nl>
42368
42369 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
42370
42371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
42372 `kern/powerpc/cache.S'.
42373
924b6140 423742004-12-27 Marco Gerards <metgerards@student.han.nl>
42375
42376 * genmk.rb: Handle the `Program' class in the main loop. Written
42377 by Johan Rydberg <jrydberg@gnu.org>.
42378 (Program): New class.
42379 (programs): New variable.
42380 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
42381 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
42382 instead of "grub/kernel.h". Include <grub/machine/init.h>.
42383 (help_arch): Function removed.
42384 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
42385 `powerpc/libgcc.h' and `loader.h'.
42386 (pkgdata_PROGRAMS): New variable.
42387 (sbin_UTILITIES): Variable removed.
42388 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
42389 (grubof_SOURCES): Variable re-defined so it only includes the
42390 core functionality.
42391 (grubof_CFLAGS): Remove `-DGRUBOF'.
42392 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
42393 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
42394 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
42395 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
42396 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
42397 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
42398 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
42399 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
42400 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
42401 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
42402 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42403 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
42404 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
42405 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
42406 (pc_mod_CFLAGS): New variables.
42407 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
42408 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
42409 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
42410 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
42411 Moved from here...
42412 * include/grub/i386/pc/init.h (grub_os_area_addr)
42413 (rub_os_area_size): ... to here.
42414 * include/grub/powerpc/ieee1275/ieee1275.h
42415 (grub_ieee1275_entry_fn): Export symbol.
42416 * include/grub/powerpc/ieee1275/init.h: New file.
42417 * include/grub/powerpc/libgcc.h: Likewise.
42418 * include/grub/cache.h: Likewise.
42419 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
42420 <hollis@penguinppc.org>.
42421 * kern/dl.c: Include <grub/cache.h>.
42422 (grub_dl_flush_cache): New function.
42423 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
42424 for this module.
42425 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
42426 (grub_console_init): Removed prototypes.
42427 (grub_machine_init): Don't initialize the modules anymore.
42428 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
42429 static.
42430 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
42431 Macro undef removed.
42432 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
42433 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
42434 relocation `R_PPC_REL32'. Return an error when the relocation is
42435 unknown.
42436 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
42437 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
42438 * util/misc.c (grub_arch_sync_caches): Likewise.
42439
e4b47e0c 424402004-12-19 Marco Gerards <metgerards@student.han.nl>
42441
42442 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
42443 `symlist.c', add `grubof_symlist.c'.
42444 (symlist.c): Variable removed.
42445 (grubof_HEADERS): Variable added.
42446 (grubof_symlist.c): New target.
42447 (kernel_syms.lst): Use `grubof_HEADERS' instead of
42448 `kernel_img_HEADERS'.
42449 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
42450 * kern/powerpc/dl.c: New file.
42451 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
42452 Function removed.
42453 (grub_arch_dl_relocate_symbols): Likewise.
42454 (grub_register_exported_symbols): Likewise.
42455
4ceb3636 424562004-12-13 Marco Gerards <metgerards@student.han.nl>
42457
42458 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
42459 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
42460 to fail instead. Reported by Vincent Pelletier
42461 <subdino2004@yahoo.fr>.
42462
42463 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
42464 it is not allocated. Reported by Vincent Pelletier
42465 <subdino2004@yahoo.fr>.
42466
42467 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
42468 output so the output looks better.
f19dbdb7 42469
3f1578fe 424702004-12-04 Marco Gerards <metgerards@student.han.nl>
42471
42472 Modulize the partition map support and add support for the amiga
42473 partition map.
f19dbdb7 42474
3f1578fe 42475 * commands/ls.c: Include <grub/partition.h> instead of
42476 <grub/machine/partition.h>.
42477 * kern/disk.c: Likewise.
42478 * kern/rescue.c: Likewise.
42479 * loader/i386/pc/chainloader.c: Likewise.
42480 * normal/cmdline.c: Likewise.
42481 * kern/powerpc/ieee1275/init.c: Likewise.
42482 (grub_machine_init): Call `grub_pc_partition_map_init',
42483 `grub_amiga_partition_map_init' and
42484 `grub_apple_partition_map_init'.
42485 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
42486 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
42487 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
42488 `partition.h' and `pc_partition.h'.
42489 (grub_setup_SOURCES): Remove
42490 `disk/i386/pc/partition.c'. Add `kern/partition.c',
42491 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42492 (grub_emu_SOURCES): Likewise.
42493 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
42494 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
42495 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
42496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42497 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
42498 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42499 (grubof_SOURCES): Likewise.
42500 * disk/i386/pc/partition.c: File removed.
42501 * disk/powerpc/ieee1275/partition.c: Likewise.
42502 * include/grub/powerpc/ieee1275/partition.h: Likewise.
42503 * include/grub/i386/pc/partition.h: Likewise.
42504 * kern/partition.c: New file.
42505 * partmap/amiga.c: Likewise.
42506 * partmap/apple.c: Likewise.
42507 * partmap/pc.c: Likewise.
42508 * include/grub/partition.h: Likewise..
42509 * include/grub/pc_partition.h: Likewise.
42510 * util/grub-emu.c: Include <grub/partition.h> instead of
42511 <grub/machine/partition.h>.
42512 (main): Call `grub_pc_partition_map_init',
42513 `grub_amiga_partition_map_init' and
42514 `grub_apple_partition_map_init' and deinitialize afterwards.
42515 * util/i386/pc/biosdisk.c: Include `#include
42516 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42517 `<grub/machine/partition.h>'.
42518 * util/i386/pc/grub-setup.c: Likewise.
42519 * util/i386/pc/biosdisk.c: Likewise.
42520 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
42521 partition information in case of a PC partition.
42522 * util/i386/pc/grub-setup.c: Include `#include
42523 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42524 `<grub/machine/partition.h>'.
42525 (setup): Only access the PC specific partition information in case
42526 of a PC partition.
42527
0ef4ced9 425282004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42529
0ef4ced9 42530 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
42531 (grub_longjmp): Likewise.
42532 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
42533 20.
42534 * normal/powerpc/setjmp.S: New file.
42535 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42536 `normal/powerpc/setjmp.S'.
42537 (grubof_CFLAGS): Add `-DGRUBOF'.
42538 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
42539 [GRUB_UTIL && !GRUBOF].
f19dbdb7 42540
19950e29 425412004-11-16 Marco Gerards <metgerards@student.han.nl>
42542
42543 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
42544 property named `name'. Correctly handle the error returned by
42545 `grub_ieee1275_finddevice' if a device can not be opened.
42546
a2fea427 425472004-11-02 Hollis Blanchard <hollis@penguinppc.org>
42548
42549 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
42550 `actual' for negativity.
42551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42552 kern/fshelp.c.
42553
41ea0ea3 425542004-11-01 Marco Gerards <metgerards@student.han.nl>
42555
42556 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
42557 (PAGE_OFFSET): New macro.
42558 (CRTC_ADDR_PORT): Likewise.
42559 (CRTC_DATA_PORT): Likewise.
42560 (START_ADDR_HIGH_REGISTER): Likewise.
42561 (START_ADDR_LOW_REGISTER): Likewise.
42562 (GRAPHICS_ADDR_PORT): Likewise.
42563 (GRAPHICS_DATA_PORT): Likewise.
42564 (READ_MAP_REGISTER): Likewise.
42565 (INPUT_STATUS1_REGISTER): Likewise.
42566 (INPUT_STATUS1_VERTR_BIT): Likewise.
42567 (page): New variable.
42568 (wait_vretrace): New function.
42569 (set_read_map): Likewise.
42570 (set_start_address): Likewise.
42571 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
42572 the right page.
42573 (check_vga_mem): Take the page into account.
42574 (write_char): Likewise.
42575 (write_cursor): Likewise.
42576 (scroll_up): Likewise. Copy the page to the page that is not
42577 shown and switch between both pages.
42578 (grub_vga_putchar): Fix off by one error.
42579 (grub_vga_cls): Wait for the vertical retrace. Take the page into
42580 account.
42581
ad0bd20b 425822004-11-01 Marco Gerards <metgerards@student.han.nl>
42583
42584 Add support for iso9660 (including rockridge).
f19dbdb7 42585
ad0bd20b 42586 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42587 (iso9660_mod_SOURCES): New variable.
42588 (iso9660_mod_CFLAGS): Likewise.
42589 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42590 * include/grub/fs.h (grub_iso9660_init): New prototype.
42591 * util/grub-emu.c (main): Call `grub_iso9660_init'.
42592 * fs/iso9660.c: New file.
42593
42594 * include/grub/misc.h (grub_strncat): New prototype.
42595 * kern/misc.c (grub_strncat): New function.
f19dbdb7 42596
ad0bd20b 42597 * fs/hfs.c (grub_hfs_mount): Translate the error
42598 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
42599 * fs/jfs.c (grub_jfs_mount): Likewise.
42600 * fs/ufs.c (grub_ufs_mount): Likewise.
42601
a5477a59 426022004-10-28 Hollis Blanchard <hollis@penguinppc.org>
42603
42604 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
42605 which initialized BAT registers.
42606 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
42607 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42608 Move from here...
42609 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
42610 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42611 ... to here.
42612 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
42613 (grub_mapclaim): Likewise.
42614 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
42615 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
42616 hand.
42617
9304c1f8 426182004-10-19 Hollis Blanchard <hollis@penguinppc.org>
42619
42620 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
42621 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
42622 -ffreestanding and -msoft-float.
42623
86f4ae25 426242004-10-15 Hollis Blanchard <hollis@penguinppc.org>
42625
42626 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
42627 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
42628 set in grub_ieee1275_flags.
42629
38912228 426302004-10-14 Hollis Blanchard <hollis@penguinppc.org>
42631
42632 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
42633 prototype.
42634 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
42635 grub_console_init first.
42636 Change the memory range used for grub_ieee1275_claim and
42637 grub_mm_init_region.
42638 Print an error message if the claim fails.
42639 Include <grub/misc.h>.
42640
d1923dc8 426412004-10-13 Hollis Blanchard <hollis@penguinppc.org>
42642
42643 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
42644 Call grub_children_iterate for device nodes of type `scsi',
42645 `ide', or `ata'.
42646 (grub_ofdisk_open): Remove manual device alias resolution.
42647 Fix memory leak when device cannot be opened.
f19dbdb7 42648 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 42649 (grub_children_iterate): New prototype.
42650 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
42651 New function.
42652 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42653 Return -1 if args.size was -1.
42654
4512e4f3 426552004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42656
42657 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
42658 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
42659 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
42660 Open Firmware's memory for it; claim memory from _start to _end.
42661 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
42662 (_end): New extern.
42663 (_start): Zero BSS from __bss_start to _end.
42664 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42665 New extern.
42666 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
42667
4d61feb0 426682004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42669
ad0bd20b 42670 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
42671 -1 if args.base was -1.
4d61feb0 42672
026fa2f9 426732004-10-08 Hollis Blanchard <hollis@penguinppc.org>
42674
42675 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
42676 escape sequence instead of a literal ^L. Also call
42677 grub_ofconsole_gotoxy.
42678
9f2220ef 426792004-10-03 Hollis Blanchard <hollis@penguinppc.org>
42680
42681 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
42682 void * arguments to grub_addr_t. All callers updated. Also make
42683 the `result' argument optional.
42684 (grub_ieee1275_release): change void * arguments to grub_addr_t.
42685 All callers updated.
42686
8a572cd7 426872004-09-22 Hollis Blanchard <hollis@penguinppc.org>
42688
42689 * commands/ls.c (grub_ls_list_files): Use the string following the
42690 initial ')', if present, as the filesystem path.
42691 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
42692
42693 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
42694
18aa81f2 426952004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
42696
42697 Make the source code of the menu interface more readable.
f19dbdb7 42698
18aa81f2 42699 * normal/menu.c: Include grub/mm.h.
42700 (TERM_WIDTH): New macro.
42701 (TERM_HEIGHT): Likewise.
42702 (TERM_INFO_HEIGHT): Likewise.
42703 (TERM_MARGIN): Likewise.
42704 (TERM_SCROLL_WIDTH): Likewise.
42705 (TERM_TOP_BORDER_Y): Likewise.
42706 (TERM_LEFT_BORDER_X): Likewise.
42707 (TERM_BORDER_WIDTH): Likewise.
42708 (TERM_MESSAGE_HEIGHT): Likewise.
42709 (TERM_BORDER_HEIGHT): Likewise.
42710 (TERM_NUM_ENTRIES): Likewise.
42711 (TERM_FIRST_ENTRY_Y): Likewise.
42712 (TERM_ENTRY_WIDTH): Likewise.
42713 (TERM_CURSOR_X): Likewise.
42714 (draw_border): Use macros instead of magic numbers.
42715 (print_entry): Likewise.
42716 (print_entries): Likewise.
42717 (run_menu): Likewise. Also, handle the key 'e'.
42718 (run_menu_entry): Ignore empty command lines.
42719 (print_message): Added a new argument EDIT. If EDIT is true,
42720 print a different message.
42721 (init_page): Likewise.
42722 (edit_menu_entry): New function. Not implemented yet.
42723
b47efe30 427242004-09-17 Marco Gerards <metgerards@student.han.nl>
42725
42726 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
42727 can be loaded from normal mode.
f19dbdb7 42728
b47efe30 42729 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
42730 `multiboot.mod'.
42731 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
42732 (multiboot_mod_CFLAGS): New variables.
42733 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 42734 * loader/i386/pc/multiboot_normal.c: Likewise.
42735
b47efe30 42736 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
42737 attribute `unused'.
f19dbdb7 42738
b47efe30 42739 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
42740 `fdiro' to read the mode information from instead of `diro'.
42741
42742 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
42743 looking up a symlink.
42744
42745 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
42746 macro.
42747 * normal/command.c (grub_command_execute): Don't parse the
42748 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
42749 flags of the command.
42750
42751 * normal/menu.c (grub_menu_run): Fix typo.
42752
da75ac71 427532004-09-14 Hollis Blanchard <hollis@penguinppc.org>
42754
42755 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
42756
42757 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
42758 `y + 1' instead of `y - 1'.
42759
42760 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 42761
062b24c2 427622004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
42763
42764 From Hollis Blanchard <hollis@penguinppc.org>:
42765 * kern/misc.c (memmove): New alias for grub_memmove.
42766 (memcmp): New alias for grub_memcmp.
42767 (memset): New alias for grub_memset.
f19dbdb7 42768 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 42769 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 42770 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 42771 (grub_ieee1275_get_property): Likewise.
f19dbdb7 42772
8ddad845 427732004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
42774
42775 Added normal mode command `chainloader' as module chain.mod, which
42776 depends on normal.mod and _chain.mod.
f19dbdb7 42777
8ddad845 42778 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
42779 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
42780 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
42781 Deleted prototype.
42782 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
42783 but arguments parsing moved to ...
42784 (grub_chainloader_cmd): ... here. New function.
42785 * include/grub/i386/pc/chainloader.h: New file.
42786 * loader/i386/pc/chainloader_normal.c: Likewise.
42787
2c1f4ce3 427882004-09-11 Marco Gerards <metgerards@student.han.nl>
42789
42790 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
42791 (grub_mkimage_LDFLAGS): Likewise.
42792 (grub_emu_SOURCES): Likewise.
42793 (kernel_img_HEADERS): Added fshelp.h.
42794 * fs/ext2.c: Include <grub/fshelp.h>.
42795 (FILETYPE_REG): New macro.
42796 (FILETYPE_INO_REG): Likewise.
42797 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
42798 Changed all users.
42799 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
42800 all users.
42801 (grub_fshelp_node): New struct.
42802 (grub_ext2_data): Added member `diropen'. Changed member `inode'
42803 to a pointer.
42804 (grub_ext2_get_file_block): Removed function.
42805 (grub_ext2_read_block): New function.
42806 (grub_ext2_read_file): Replaced parameter `data' by `node'.
42807 This function was written.
42808 (grub_ext2_mount): Read the root inode. Create a diropen struct.
42809 (grub_ext2_find_file): Removed function.
42810 (grub_ext2_read_symlink): New function.
42811 (grub_ext2_iterate_dir): Likewise.
42812 (grub_ext2_open): Rewritten.
42813 (grub_ext2_dir): Rewritten.
42814 * include/grub/fshelp.h: New file.
42815 * fs/fshelp.c: Likewise.
42816
3c52136a 428172004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
42818
42819 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
42820 (print_message): Add a missing newline.
42821 (run_menu): Added timeout support.
42822 (run_menu_entry): New local function.
42823 (grub_menu_run): Added support for booting.
42824
42825 * kern/loader.c (grub_loader_is_loaded): New function.
42826
42827 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
42828 (grub_get_rtc): Exported.
42829
42830 * include/grub/i386/pc/time.h: Include grub/symbol.h.
42831 (grub_get_rtc): Exported.
42832
42833 * include/grub/normal.h (struct grub_command_list): Remove
42834 constant from the member `command'.
42835
42836 * include/grub/loader.h (grub_loader_is_loaded): Declared.
42837
42838 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
42839
42840 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
42841
aa033560 428422004-08-28 Marco Gerards <metgerards@student.han.nl>
42843
42844 Add support for the JFS filesystem.
42845
42846 * fs/jfs.c: New file.
42847 * include/grub/fs.h (grub_jfs_init): New prototype.
42848 (grub_jfs_fini): New prototype.
42849 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
42850 (grub_emu_SOURCES): Likewise.
42851 (pkgdata_MODULES): Add jfs.mod.
42852 (jfs_mod_SOURCES): New variable.
42853 (jfs_mod_CFLAGS): Likewise.
42854 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
42855 (grubof_SOURCES): Likewise.
42856 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
42857
42858 * fs/fat.c (grub_fat_find_dir): Convert the filename little
42859 endian to the host endian.
42860 (grub_fat_utf16_to_utf8): Move function from there...
42861 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 42862 the endianness of the source string anymore.
aa033560 42863 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
42864
94bc45af 428652004-08-24 Marco Gerards <metgerards@student.han.nl>
42866
42867 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
42868 (grub_boot_fini) [GRUB_UTIL]: Likewise.
42869 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
42870 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 42871
94bc45af 42872 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
42873 (grub_hfs_iterate_dir): Make the function static. Add prototypes
42874 for `node_found' and `it_dir'.
42875 (grub_hfs_dir): Add prototype for `dir_hook'.
42876
42877 * fs/minix.c (grub_minix_get_file_block): Add prototype for
42878 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
42879 and `indir32' to silence a gcc warning.
42880
42881 * include/grub/fs.h (grub_hfs_init): New prototype.
42882 (grub_hfs_fini): Likewise.
f19dbdb7 42883
42884
97543f08 428852004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42886
42887 Each disk device has its own id now. This is useful to make use
42888 of multiple disk devices.
f19dbdb7 42889
97543f08 42890 * include/grub/disk.h (grub_disk_dev_id): New enum.
42891 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
42892 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
42893
42894 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
42895 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42896
42897 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
42898 GRUB_DISK_DEVICE_OFDISK_ID as an id.
42899
42900 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
42901 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42902
42903 * include/grub/disk.h (struct grub_disk_dev): Added a new member
42904 "id" which is used by the cache manager.
42905
42906 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
42907 of just "GRUB".
42908
64372eb4 429092004-08-18 Marco Gerards <metgerards@student.han.nl>
42910
42911 * fs/hfs.c: New file.
42912 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
42913 (grub_emu_SOURCES): Likewise.
42914 (pkgdata_MODULES): Add hfs.mod.
42915 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
42916 (grubof_SOURCES): Likewise.
42917 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
42918
42919 * include/grub/misc.h (grub_strncasecmp): Add prototype.
42920 * kern/misc.c (grub_strncasecmp): Add function.
42921
cc61b58f 429222004-08-14 Marco Gerards <metgerards@student.han.nl>
42923
42924 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
42925 with parentheses.
42926
42927 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
42928 (grub_ext2_dir): In case the directory entry type is unknown, read
42929 it from the inode.
42930
0ef123f6 429312004-08-02 Peter Bruin <pjbruin@dds.nl>
42932
42933 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
42934 grub_load_linux instead of grub_rescue_cmd_linux as second
42935 argument of grub_rescue_register_command.
42936
42937 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
42938
a447c5df 429392004-07-27 Marco Gerards <metgerards@student.han.nl>
42940
42941 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
42942 function.
42943 * commands/boot.c: Remove the check for `GRUB_UTIL'.
42944 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42945 `loader/powerpc/ieee1275/linux.c',
42946 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
42947 * include/grub/powerpc/ieee1275/ieee1275.h
42948 (grub_ieee1275_release): New prototype.
42949 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
42950 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
42951 normal, boot, linux and linux_normal.
42952 * loader/powerpc/ieee1275/linux.c: New file.
42953 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42954
5a9e3546 429552004-07-12 Marco Gerards <metgerards@student.han.nl>
42956
42957 * normal/arg.c (grub_arg_parse): Correct error handling after
42958 reallocating the argumentlist (check if `argl' is not null instead
42959 of checking if `args' is not null).
42960 * kern/mm.c (grub_realloc): Return the same pointer when using the
42961 same region, instead of returning the header address.
42962
e15199cb 429632004-07-11 Marco Gerards <metgerards@student.han.nl>
42964
42965 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
42966 one block instead of two when looking for the initial partition.
42967 (grub_partition_probe): Initialize the local variable `p' with 0.
42968 Use base 10 for the grub_strtoul call.
42969 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
42970 need for one local variable.
42971 (grub_strtoul): Don't add the new value to `num', instead of that
42972 just assign it.
42973
020616c2 429742004-07-11 Marco Gerards <metgerards@student.han.nl>
42975
42976 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
42977 (pxeboot_img_SOURCES): New variable.
42978 (pxeboot_img_ASFLAGS): Likewise.
42979 (pxeboot_img_LDFLAGS): Likewise.
42980 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
42981 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
42982 <lode_leroy@hotmail.com>.
42983
6c51eb64 429842004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42985
42986 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
42987 there was no input.
42988
cfb12aff 429892004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42990
42991 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
42992 the history buffer logic.
42993
6eabba74 429942004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42995
42996 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
42997 (FILETYPE_INO_SYMLINK): New macros.
42998 (grub_ext2_find_file): Check if the node is a directory using the
42999 inode stat information instead of using the filetype in the
43000 dirent. Exclude the first character of an absolute symlink.
43001 (grub_ext2_dir): Mask out the filetype part of the mode member of
43002 the inode.
43003
66e19ef8 430042004-05-24 Marco Gerards <metgerards@student.han.nl>
43005
43006 Add support for UFS version 1 and 2. Add support for the minix
43007 filesystem version 1 and 2, both the variants with 14 and 30 long
43008 filenames.
f19dbdb7 43009
66e19ef8 43010 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
43011 fs/minix.c.
43012 (grub_emu_SOURCES): Likewise.
43013 (pkgdata_MODULES): Add ufs.mod and minix.mod.
43014 (ufs_mod_SOURCES): New variable.
43015 (ufs_mod_CFLAGS): Likewise.
43016 (minix_mod_SOURCES): Likewise.
43017 (minix_mod_CFLAGS): Likewise.
43018 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
43019 fs/minix.c.
43020 (grubof_SOURCES): Likewise.
43021 * fs/ufs.c: New file.
43022 * fs/minix.c: New file.
43023 * include/grub/fs.h (grub_ufs_init): New prototype.
43024 (grub_ufs_fini): Likewise.
43025 (grub_minix_init): Likewise.
43026 (grub_minix_fini): Likewise.
43027 * util/grub-emu.c (main): Initialize and deinitialize UFS and
43028 minix fs.
43029
cc2e748a 430302004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
43031
43032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
43033 commands/ls.c, commands/terminal.c, commands/boot.c,
43034 commands/cmp.c and commands/cat.c.
43035 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
43036
43037 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
43038 "env.h"
43039
4b13b216 430402004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43041
43042 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
43043 and grub_, respectively. Because the conversion is trivial and
43044 mechanical, I omit the details here. Please refer to the CVS
43045 if you need more information.
43046
6a142551 430472004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43048
43049 * include/pupa: Renamed to ...
43050 * include/grub: ... this.
43051 * util/i386/pc/pupa-mkimage.c: Renamed to ...
43052 * util/i386/pc/grub-mkimage.c: ... this.
43053 * util/i386/pc/pupa-setup.c: Renamed to ...
43054 * util/i386/pc/grub-setup.c: ... this.
43055 * util/pupa-emu.c: Renamed to ...
43056 * util/grub-emu.c: ... this.
43057
e56cdf21 430582004-03-29 Marco Gerards <metgerards@student.han.nl>
43059
43060 Add support for the newworld apple macintosh (PPC). This has been
43061 tested on the powerbook 2000 only. It only adds support for
43062 generic ieee1275 functions, console and disk support. This should
43063 be easy to port to other architectures with support for Open
43064 Firmware.
f19dbdb7 43065
e56cdf21 43066 * configure.ac: Accept the powerpc as host_cpu. In the case of
43067 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
43068 specific tests are only executed while building for the i386.
43069 Inverse test for crosscompile.
43070 * genmk.rb (Utility): Allow assembler files.
43071 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
43072 * conf/powerpc-ieee1275.rmk: New file.
43073 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
43074 * disk/powerpc/ieee1275/partition.c: Likewise.
43075 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
43076 * include/pupa/powerpc/ieee1275/console.h: Likewise.
43077 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
43078 * include/pupa/powerpc/ieee1275/time.h: Likewise.
43079 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
43080 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
43081 * include/pupa/powerpc/ieee1275/loader.h
43082 * include/pupa/powerpc/setjmp.h: Likewise.
43083 * include/pupa/powerpc/types.h: Likewise.
43084 * kern/powerpc/ieee1275/init.c: Likewise.
43085 * kern/powerpc/ieee1275/openfw.c: Likewise.
43086 * term/powerpc/ieee1275/ofconsole.c: Likewise.
43087
43088 These files were written by Johan Rydberg
43089 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 43090
e56cdf21 43091 * boot/powerpc/ieee1275/cmain.c: New file.
43092 * boot/powerpc/ieee1275/crt0.S: Likewise.
43093 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
43094 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
43095
8c8cc205 430962004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
43097
43098 * Makefile.in: Update copyright.
43099 * genmodsrc.sh: Likewise.
43100 * gensymlist.sh: Likewise.
43101 * term/i386/pc/vga.c: Indent correctly.
43102
43103 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
43104 bugreporting address.
43105 * util/i386/pc/pupa-setup.c (usage): Likewise,
43106 (main): Call pupa_ext2_init and pupa_ext2_fini.
43107
f19dbdb7 43108 * fs/fat.c (log2): Renamed to ...
8c8cc205 43109 (fat_log2): ... this.
43110 All callers changed.
43111 * kern/misc.c (memcpy): Alias to pupa_memmove.
43112 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43113 lvalue cast.
43114 * util/console.c (pupa_ncurses_fini): Return 0.
43115
43116 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43117 Move fail label here.
43118 [__GNU__]: Don't warn when using stat.
43119 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43120 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43121 long int. Use strtol instead of strtoul.
f19dbdb7 43122
db1771cf 431232004-03-14 Marco Gerards <metgerards@student.han.nl>
43124
43125 * commands/boot.c: New file.
43126 * commands/cat.c: Likewise.
43127 * commands/cmp.c: Likewise.
43128 * commands/ls.c: Likewise.
43129 * commands/terminal.c: Likewise.
43130 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43131 (pupa_register_command): Changed interface to match the new
43132 argument parser.
43133 (pupa_command_execute): Changed (almost rewritten) so it uses
43134 pupa_split_command. Added support for setting variables using the
43135 syntax `foo=bar'.
43136 (rescue_command): Changed to work with the new argument parser.
43137 (terminal_command): Moved from here to commands/terminal.c.
43138 (set_command): New function.
43139 (unset_command): New function.
43140 (insmod_command): New function.
43141 (rmmod_command): New function.
43142 (lsmod_command): New function.
43143 (pupa_command_init): Don't initialize the command terminal
43144 anymore. Initialize the commands set, unset, insmod, rmmod and
43145 lsmod.
43146 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43147 (kernel_img_HEADERS): Add arg.h and env.h.
43148 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43149 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43150 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43151 normal/arg.c.
43152 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43153 terminal.mod.
43154 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43155 (boot_mod_SOURCES): New variable.
43156 (terminal_mod_SOURCES): Likewise.
43157 (ls_mod_SOURCES): Likewise.
43158 (cmp_mod_SOURCES): Likewise.
43159 (cat_mod_SOURCES): Likewise.
43160
43161 * normal/arg.c: New file.
43162 * kern/env.c: Likewise.
43163 * include/pupa/arg.h: Likewise.
43164 * include/pupa/env.h: Likewise.
43165 * font/manager.c (font_command): Changed to match argument parsing
43166 interface changes.
43167 (PUPA_MOD_INIT): Likewise.
43168 * hello/hello.c (pupa_cmd_hello): Likewise.
43169 (PUPA_MOD_INIT): Likewise.
43170 * include/pupa/disk.h: Include <pupa/device.h>.
43171 (pupa_print_partinfo): New prototype.
43172 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43173 (pupa_dl_get_prefix): Likewise.
43174 * include/pupa/misc.h: Include <pupa/err.h>.
43175 (pupa_isgraph): New prototype.
43176 (pupa_isdigit): Likewise.
43177 (pupa_split_cmdline): Likewise.
43178 * include/pupa/normal.h: Include <pupa/arg.h>.
43179 (pupa_command): Changed the prototype of the member `func' to
43180 match the argument parsing interface. Added member `options'.
43181 (pupa_register_command): Updated to match function.
43182 (pupa_arg_parse): New prototype.
43183 (pupa_hello_init) [PUPA_UTIL]: New prototype.
43184 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
43185 (pupa_ls_init) [PUPA_UTIL]: Likewise.
43186 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
43187 (pupa_cat_init) [PUPA_UTIL]: Likewise.
43188 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
43189 (pupa_boot_init) [PUPA_UTIL]: Likewise.
43190 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
43191 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
43192 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
43193 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
43194 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
43195 * kern/disk.c: Include <pupa/file.h>.
43196 (pupa_print_partinfo): New function.
43197 * kern/dl.c: Include <pupa/env.h>.
43198 (pupa_dl_dir): Variable removed.
43199 (pupa_dl_load): Use the environment variable `prefix' instead of
43200 the variable pupa_dl_dir.
43201 (pupa_dl_set_prefix): Function removed.
43202 (pupa_dl_get_prefix): Likewise.
43203 * kern/i386/pc/init.c: Include <pupa/env.h>.
43204 (pupa_machine_init): Use the environment variable `prefix' instead of
43205 using pupa_dl_set_prefix to set the prefix.
43206 * kern/main.c: Include <pupa/env.h>.
43207 (pupa_set_root_dev): Use the environment variable `prefix' instead of
43208 using pupa_dl_get_prefix to get the prefix.
43209 * kern/misc.c: Include <pupa/env.h>.
43210 (pupa_isdigit): New function.
43211 (pupa_isgraph): Likewise.
43212 (pupa_ftoa): Likewise.
43213 (pupa_vsprintf): Added support for printing values of the type
43214 `double'. Make it possible to format variable output when using
43215 formatting like `%1.2%f'.
43216 (pupa_split_cmdline): New function.
43217 * kern/rescue.c: Include <pupa/env.h>.
43218 (next_word): Removed function.
43219 (pupa_rescue_cmd_prefix): Likewise.
43220 (pupa_rescue_cmd_set): New function.
43221 (pupa_rescue_cmd_unset): New function.
43222 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
43223 split the command line instead of splitting it here. Added
43224 support for setting variables using the syntax `foo=bar'. Don't
43225 initialize the prefix command anymore. Initialized the set and
43226 unset commands.
43227 * normal/cmdline.c: Include <pupa/env.h>.
43228 (pupa_tab_complete): Added prototypes for print_simple_completion,
43229 print_partition_completion, add_completion, iterate_commands,
43230 iterate_dev, iterate_part and iterate_dir. Moved code to print
43231 partition information from here to kern/disk.c.
fe6b695a 43232 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 43233 * normal/main.c: Include <pupa/env.h>.
43234 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
43235 instead of using pupa_dl_get_prefix to get the prefix.
43236 * term/i386/pc/vga.c: Include <pupa/arg.h>.
43237 (check_vga_mem): Cast pointers to `void *' to silence a gcc
43238 warning.
43239 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
43240 (pupa_vga_setcolor): Declare unused variables with `__attribute__
43241 ((unused))' to silence a gcc warning.
43242 (pupa_vga_setcolor): Likewise.
43243 (debug_command): Changed to match argument parsing
43244 interface changes.
43245 * util/pupa-emu.c: Include <pupa/env.h>.
43246 (options): Added 0's for unused fields to silence a gcc warning.
43247 (argp): Likewise.
43248 (main): Use the environment variable `prefix' instead of using
43249 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
43250 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
43251 and terminal.
43252
43253 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
43254 * util/misc.c: Include <malloc.h>.
43255 (pupa_malloc): Rewritten so errors are correctly reported.
43256 (pupa_realloc): Likewise.
43257 (pupa_memalign): Likewise.
43258 (pupa_mm_init_region): Declare unused variables with
43259 `__attribute__ ((unused))' to silence a gcc warning.
43260 * normal/i386/setjmp.S: Remove tab at the end of the file to
43261 silence a gcc warning.
43262 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
43263 variables with `__attribute__ ((unused))' to silence a gcc
43264 warning.
43265 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
43266 local variable i unsigned to silence a gcc warning.
43267
43268 * kern/term.c: Include <pupa/misc.h>.
43269 (pupa_more_lines): New variable.
43270 (pupa_more): Likewise.
43271 (pupa_putcode): When the pager is active pause at the end of every
43272 screen.
43273 (pupa_set_more): New function.
43274 * include/pupa/term.h (pupa_set_more): New prototype.
43275
43276
3b1139cb 432772004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
43278
43279 Now this project is GRUB 2 rather than PUPA. The location of
43280 the CVS repository was moved to GRUB's.
f19dbdb7 43281
3b1139cb 43282 * configure.ac: Use bug-grub as the reporting address.
43283 Use GRUB instead of PUPA.
43284 Change the version number to 1.90.
43285
8367695c 432862004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
43287
43288 * genkernsyms.sh: Updated copyright information.
43289 * genmk.rb: Likewise.
43290 * genmodsrc.sh: Likewise.
43291 * gensymlist.sh: Likewise.
43292 * boot/i386/pc/boot.S: Likewise.
43293 * boot/i386/pc/diskboot.S: Likewise.
43294 * disk/i386/pc/biosdisk.c: Likewise.
43295 * disk/i386/pc/partition.c: Likewise.
43296 * font/manager.c: Likewise.
43297 * fs/ext2.c: Likewise.
43298 * fs/fat.c: Likewise.
43299 * include/pupa/boot.h: Likewise.
43300 * include/pupa/device.h: Likewise.
43301 * include/pupa/disk.h: Likewise.
43302 * include/pupa/dl.h: Likewise.
43303 * include/pupa/elf.h: Likewise.
43304 * include/pupa/err.h: Likewise.
43305 * include/pupa/file.h: Likewise.
43306 * include/pupa/font.h: Likewise.
43307 * include/pupa/fs.h: Likewise.
43308 * include/pupa/kernel.h: Likewise.
43309 * include/pupa/loader.h: Likewise.
43310 * include/pupa/misc.h: Likewise.
43311 * include/pupa/mm.h: Likewise.
43312 * include/pupa/net.h: Likewise.
43313 * include/pupa/normal.h: Likewise.
43314 * include/pupa/rescue.h: Likewise.
43315 * include/pupa/setjmp.h: Likewise.
43316 * include/pupa/symbol.h: Likewise.
43317 * include/pupa/term.h: Likewise.
43318 * include/pupa/types.h: Likewise.
43319 * include/pupa/i386/setjmp.h: Likewise.
43320 * include/pupa/i386/types.h: Likewise.
43321 * include/pupa/i386/pc/biosdisk.h: Likewise.
43322 * include/pupa/i386/pc/boot.h: Likewise.
43323 * include/pupa/i386/pc/console.h: Likewise.
43324 * include/pupa/i386/pc/init.h: Likewise.
43325 * include/pupa/i386/pc/kernel.h: Likewise.
43326 * include/pupa/i386/pc/linux.h: Likewise.
43327 * include/pupa/i386/pc/loader.h: Likewise.
43328 * include/pupa/i386/pc/memory.h: Likewise.
43329 * include/pupa/i386/pc/multiboot.h: Likewise.
43330 * include/pupa/i386/pc/partition.h: Likewise.
43331 * include/pupa/i386/pc/time.h: Likewise.
43332 * include/pupa/i386/pc/vga.h: Likewise.
43333 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
43334 * include/pupa/util/getroot.h: Likewise.
43335 * include/pupa/util/misc.h: Likewise.
43336 * include/pupa/util/resolve.h: Likewise.
43337 * kern/device.c: Likewise.
43338 * kern/disk.c: Likewise.
43339 * kern/dl.c: Likewise.
43340 * kern/err.c: Likewise.
43341 * kern/file.c: Likewise.
43342 * kern/fs.c: Likewise.
43343 * kern/loader.c: Likewise.
43344 * kern/main.c: Likewise.
43345 * kern/misc.c: Likewise.
43346 * kern/mm.c: Likewise.
43347 * kern/rescue.c: Likewise.
43348 * kern/term.c: Likewise.
43349 * kern/i386/dl.c: Likewise.
43350 * kern/i386/pc/init.c: Likewise.
43351 * kern/i386/pc/lzo1x.S: Likewise.
43352 * kern/i386/pc/startup.S: Likewise.
43353 * loader/i386/pc/chainloader.c: Likewise.
43354 * loader/i386/pc/linux.c: Likewise.
43355 * loader/i386/pc/multiboot.c: Likewise.
43356 * normal/cmdline.c: Likewise.
43357 * normal/command.c: Likewise.
43358 * normal/main.c: Likewise.
43359 * normal/menu.c: Likewise.
43360 * normal/i386/setjmp.S: Likewise.
43361 * term/i386/pc/console.c: Likewise.
43362 * term/i386/pc/vga.c: Likewise.
43363 * util/console.c: Likewise.
43364 * util/genmoddep.c: Likewise.
43365 * util/misc.c: Likewise.
43366 * util/pupa-emu.c: Likewise.
43367 * util/resolve.c: Likewise.
43368 * util/unifont2pff.rb: Likewise.
43369 * util/i386/pc/biosdisk.c: Likewise.
43370 * util/i386/pc/getroot.c: Likewise.
43371 * util/i386/pc/pupa-mkimage.c: Likewise.
43372 * util/i386/pc/pupa-setup.c: Likewise.
43373
e6eced71 433742004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
43375
43376 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
43377 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
43378 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
43379 reading and reset it after reading.
43380 (pupa_ext2_close): Return PUPA_ERR_NONE.
43381
43382 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
43383 Correct value.
43384 (struct linux_kernel_header): Add kernel_version and
43385 initrd_addr_max.
43386 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
43387 pupa_file_read succeeds.
43388 (pupa_rescue_cmd_initrd): Implement.
43389
5aded270 433902003-12-03 Marco Gerards <metgerards@student.han.nl>
43391
43392 * fs/ext2.c (pupa_ext2_label): New function.
43393 (pupa_ext2_fs): Added label.
43394 * fs/fat.c (pupa_fat_label): New function.
43395 (pupa_fat_fs): Added label.
43396 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
43397
43398 * kern/misc.c (pupa_strndup): New function.
43399 * include/pupa/misc.h (pupa_strndup): New prototype.
43400
43401 * include/pupa/normal.h: Include <pupa/err.h>.
43402 (pupa_set_history): New prototype.
43403 (pupa_iterate_commands): New prototype.
43404 * normal/cmdline.c: Include <pupa/machine/partition.h>,
43405 <pupa/disk.h>, <pupa/file.h>.
43406 (hist_size): New variable.
43407 (hist_lines): Likewise.
43408 (hist_end): Likewise.
43409 (hist_used): Likewise.
43410 (pupa_set_history): New function.
43411 (pupa_history_get): Likewise.
43412 (pupa_history_add): Likewise.
43413 (pupa_history_replace): Likewise.
43414 (pupa_tab_complete): Likewise.
43415 (pupa_cmdline_run): Added tab completion and history buffer. Tab
43416 completion shows partitionnames while completing partitions, this
43417 feature was suggested by Jeff Bailey.
43418 * normal/command.c (pupa_iterate_commands): New function.
43419 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
43420 (pupa_normal_init): Initialize history buffer.
43421 (PUPA_MOD_INIT): Likewise.
43422 (pupa_normal_fini): Free the history buffer.
43423 (PUPA_MOD_FINI): Likewise.
43424
43425 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
43426 key.
43427
43428 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
43429 * configure.ac [i386]: Check for regparam bug.
43430 (NESTED_FUNC_ATTR) [! i386]: Defined.
43431
1f7315a3 434322003-11-17 Marco Gerards <metgerards@student.han.nl>
43433
43434 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
43435 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
43436 (pupa_emu_SOURCES): New variable.
43437 (pupa_emu_LDFLAGS): Likewise.
43438 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
43439 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
43440 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
43441 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43442 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
43443 (pupa_jmp_buf): New typedef.
43444 (pupa_setjmp) [PUPA_UTIL]: New macro.
43445 (pupa_longjmp) [PUPA_UTIL]: Likewise.
43446 * include/pupa/term.h (struct pupa_term): New member `refresh'.
43447 (pupa_refresh): New prototype.
43448 * include/pupa/util/getroot.h: New file.
43449 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
43450 it.
43451 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
43452 (pupa_rescue_cmd_cat): Likewise.
43453 (pupa_rescue_cmd_ls): Likewise.
43454 (pupa_rescue_cmd_testload): Likewise.
43455 (pupa_rescue_cmd_lsmod): Likewise.
43456 * normal/cmdline.c (pupa_cmdline_get): Likewise.
43457 * normal/menu.c (run_menu): Likewise.
43458 * kern/term.c (pupa_cls): Likewise.
43459 (pupa_refresh): New function.
43460 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
43461 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43462 * util/console.c: New file.
f19dbdb7 43463
1f7315a3 43464 * util/i386/pc/getroot.c: New file.
43465 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
43466 (pupa_putchar): New function.
43467 (pupa_refresh): Likewise.
43468 (xgetcwd): Function moved to ...
43469 (strip_extra_slashes): Likewise.
43470 (get_prefix): Likewise.
f19dbdb7 43471 * util/i386/pc/getroot.c: ... here.
1f7315a3 43472 (find_root_device): Function moved and renamed to...
43473 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
43474 Changed all callers.
43475 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
43476 and renamed to...
43477 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
43478 Changed all callers.
43479 * util/misc.c (pupa_memalign): New function.
43480 (pupa_mm_init_region): Likewise.
43481 (pupa_register_exported_symbols): Likewise.
43482 (pupa_putchar): Function removed.
43483 * util/pupa-emu.c: New file.
43484
9a5c1ade 434852003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
43486
43487 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
43488 (_multiboot_mod_SOURCES): New variable.
43489 (_multiboot_mod_CFLAGS): Likewise.
43490 * loader/i386/pc/multiboot.c: New file.
43491 * include/pupa/i386/pc/multiboot.h: Likewise.
43492 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
43493 (pupa_multiboot_real_boot): New function.
43494 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
43495 (pupa_multiboot_real_boot): New prototype.
43496 (pupa_rescue_cmd_multiboot): Likewise
43497 (pupa_rescue_cmd_module): Likewise.
43498
43499 * kern/loader.c (pupa_loader_set): Continue when
43500 pupa_loader_unload_func() fails.
43501 (pupa_loader_unset): New function.
43502 * include/pupa/loader.h (pupa_loader_unset): New prototype.
43503
43504 * kern/misc.c (pupa_stpcpy): New function.
43505 * include/pupa/misc.h (pupa_stpcpy): New prototype.
43506
8e72a9c0 435072003-11-12 Marco Gerards <metgerards@student.han.nl>
43508
43509 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
43510 for available extensions.
43511
43512 * include/pupa/i386/pc/time.h: New file.
43513 * kern/disk.c: Include <pupa/machine/time.h>.
43514 (PUPA_CACHE_TIMEOUT): New macro.
43515 (pupa_last_time): New variable.
43516 (pupa_disk_open): Flush the cache when there was a timeout.
43517 (pupa_disk_close): Reset the timer.
43518 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
43519 pupa_currticks.
43520 * util/misc.c: Include <sys/times.h>
43521 (pupa_get_rtc): New function.
43522
c4adbd32 435232003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43524
43525 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
43526 as blocks.
43527 (pupa_ext2_get_file_block): Use blocks member.
43528
43529 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
43530 first block. Return -1 instead of pupa_errno on error.
43531
bfd30f06 435322003-10-27 Marco Gerards <metgerards@student.han.nl>
43533
43534 * README: In the pupa-mkimage example use _chain instead of chain
43535 and ext2 instead of fat.
43536 * TODO: Replace ext2fs with jfs as an example. Add an item for
43537 adding journal playback for ext2fs.
43538 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
43539 (pkgdata_MODULES): Added ext2.mod.
43540 (ext2_mod_SOURCES): New variable.
43541 (ext2_mod_CFLAGS): Likewise.
43542 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
43543 * include/pupa/misc.h (pupa_strncpy): New prototype.
43544 (pupa_strcat): Likewise.
43545 (pupa_strncmp): Likewise.
43546 * kern/misc.c (pupa_strcat): Enable function.
43547 (pupa_strncpy): New function.
43548 (pupa_strncmp): Likewise.
43549 * fs/ext2.c: New file.
f19dbdb7 43550
bfd30f06 43551 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
43552 when the read failed before retrying.
43553 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
43554 (_FILE_OFFSET_BITS): Likewise.
43555 * configure.ac: Added AC_SYS_LARGEFILE.
43556
98d15063 435572003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43558
43559 * genmk.rb (PModule#rule): Make sure to get only symbol names
43560 from the output of nm.
59cad637 43561 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 43562
18d9c7cd 435632003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43564
43565 I forgot to check in these changes for a long time. This adds
43566 incomplete support for VGA console, and this is still very
43567 buggy. Also, a lot of consideration is required for I18N,
43568 UNICODE, and VGA font issues. Therefore, assume that this is
43569 such that "better than nothing".
f19dbdb7 43570
18d9c7cd 43571 * font/manager.c: New file.
43572 * include/pupa/font.h: Likewise.
43573 * include/pupa/i386/pc/vga.h: Likewise.
43574 * term/i386/pc/vga.c: Likewise.
43575 * util/unifont2pff.rb: Likewise.
43576
43577 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
43578 (pkgdata_MODULES): Added vga.mod and font.mod.
43579 (vga_mod_SOURCES): New variables.
43580 (vga_mod_CFLAGS): Likewise.
43581 (font_mod_SOURCES): Likewise.
43582 (font_mod_CFLAGS): Likewise.
43583
43584 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
43585
43586 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 43587 (struct pupa_term): Added init and fini.
18d9c7cd 43588 Changed the argument of putchar to pupa_uint32_t.
43589
43590 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
43591 (pupa_console_real_putchar): New prototype.
43592 (pupa_console_putchar): Removed.
43593 (pupa_console_checkkey): Exported.
43594 (pupa_console_getkey): Likewise.
43595
43596 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
43597 characters.
43598
43599 * kern/term.c (pupa_term_set_current): Rewritten.
43600 (pupa_putchar): Likewise.
43601 (pupa_putcode): New function.
43602
43603 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
43604 (pupa_console_real_putchar): ... this.
43605 (pupa_vga_set_mode): New function.
43606 (pupa_vga_get_font): Likewise.
43607
43608 * normal/command.c: Include pupa/term.h.
43609 (terminal_command): New function.
43610 (pupa_command_init): Register the command "terminal".
43611
43612 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
43613 (DISP_UP): Likewise.
43614 (DISP_RIGHT): Likewise.
43615 (DISP_DOWN): Likewise.
43616 (DISP_HLINE): Likewise.
43617 (DISP_VLINE): Likewise.
43618 (DISP_UL): Likewise.
43619 (DISP_UR): Likewise.
43620 (DISP_LL): Likewise.
43621 (DISP_LR): Likewise.
43622
43623 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 43624
977329f5 436252003-02-08 NIIBE Yutaka <gniibe@m17n.org>
43626
43627 * util/resolve.c (pupa_util_resolve_dependencies): BUG
43628 FIX. Reverse the path_list.
43629
43630 * include/pupa/normal.h: Export pupa_register_command and
43631 pupa_unregister_command.
43632
43633 * hello/hello.c (pupa_cmd_hello): New module.
43634 * conf/i386-pc.rmk: Added hello.mod.
43635
1f5ab428 436362003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
43637
43638 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 43639
1f5ab428 43640 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
43641 (compress_kernel): New variable.
43642 (generate_image): Heavily modified to support compressing a
43643 large part of the core image.
43644
43645 * util/misc.c (pupa_util_read_image): Fix a file descriptor
43646 leak.
43647 (pupa_util_load_image): New function.
43648
43649 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
43650 (pupa_compressed_size): New variable.
43651 (codestart): Enable Gate A20 here.
43652 Decompress the compressed part of the core image.
43653 Rearrange the code to put functions and variables which are
43654 required for initialization in the non-compressed part.
43655 Include lzo1x.S.
43656
43657 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
43658 here.
43659
43660 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
43661
f19dbdb7 43662 * include/pupa/i386/pc/kernel.h
1f5ab428 43663 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
43664 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
43665 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43666 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43667 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
43668
43669 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
43670
43671 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
43672 (Utility#rule): Likewise.
43673
43674 * configure.ac: Check if LZO is available.
43675
ce5bf700 436762003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
43677
43678 * include/pupa/normal.h: New file.
43679 * include/pupa/setjmp.h: Likewise.
43680 * include/pupa/i386/setjmp.h: Likewise.
43681 * normal/cmdline.c: Likewise.
43682 * normal/command.c: Likewise.
43683 * normal/main.c: Likewise.
43684 * normal/menu.c: Likewise.
43685 * normal/i386/setjmp.S: Likewise.
f19dbdb7 43686
ce5bf700 43687 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
43688 (pupa_rescue_cmd_initrd): Likewise.
43689
43690 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
43691 Likewise.
43692
43693 * kern/i386/pc/startup.S (translation_table): New variable.
43694 (translate_keycode): New function.
43695 (pupa_console_getkey): Call translate_keycode.
43696
43697 * kern/rescue.c (attempt_normal_mode): New function.
43698 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
43699 it failed, print a message.
43700
43701 * kern/mm.c (pupa_real_malloc): Print more information when a
43702 free magic is broken.
43703 (pupa_free): If the first free header is not free actually, set
43704 it to P.
43705
43706 * kern/main.c (pupa_load_normal_mode): Just load the module
43707 "normal".
43708 (pupa_main): Don't print the message
43709 "Entering into rescue mode..." here.
43710
43711 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
43712 Declared.
43713 (pupa_rescue_cmd_initrd): Likewise.
43714 (pupa_rescue_cmd_initrd): Likewise.
43715
43716 * include/pupa/symbol.h (FUNCTION): Specify the type.
43717 (VARIABLE): Likewise.
43718
43719 * include/pupa/err.h (pupa_err_t): Added
43720 PUPA_ERR_UNKNOWN_COMMAND.
43721
43722 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
43723 (pupa_dl_get_prefix): Likewise.
43724
43725 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
43726 Added _chain.mod and _linux.mod instead of chain.mod and
43727 linux.mod.
43728 (chain_mod_SOURCES): Renamed to ...
43729 (_chain_mod_SOURCES): ... this.
43730 (chain_mod_CFLAGS): Renamed to ...
43731 (_chain_mod_CFLAGS): ... this.
43732 (linux_mod_SOURCES): Renamed to ...
43733 (_linux_mod_SOURCES): ... this.
43734 (linux_mod_CFLAGS): Renamed to ...
43735 (_linux_mod_CFLAGS): ... this.
43736 (normal_mod_SOURCES): New variable.
43737 (normal_mod_CFLAGS): Likewise.
43738 (normal_mod_ASFLAGS): Likewise.
43739
437402003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
43741
43742 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
43743 possible.
43744
fe6b695a 43745 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 43746 recursively.
43747 (pupa_dl_unref): Unrefer depending modules recursively.
43748 Don't call pupa_dl_unload implicitly, because PUPA can crash if
43749 a module is unloaded before one depending on that module is
43750 unloaded.
43751 (pupa_dl_unload): Unload depending modules explicitly,
43752 if possible.
43753
c04da074 437542003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
43755
43756 * include/pupa/i386/pc/linux.h: New file.
43757 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 43758
c04da074 43759 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
43760 Removed.
43761 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
43762 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
43763 of PUPA_CHAINLOADER_BOOT_SECTOR.
43764
43765 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
43766 (pupa_linux_prot_size): New variable.
43767 (pupa_linux_tmp_addr): Likewise.
43768 (pupa_linux_real_addr): Likewise.
43769 (pupa_linux_boot_zimage): New function.
43770 (pupa_linux_boot_bzimage): Likewise.
43771
43772 * kern/i386/pc/init.c (struct mem_region): New structure.
43773 (MAX_REGIONS): New macro.
43774 (mem_regions): New variable.
43775 (num_regions): Likewise.
43776 (pupa_os_area_addr): Likewise.
43777 (pupa_os_area_size): Likewise.
43778 (pupa_lower_mem): Likewise.
43779 (pupa_upper_mem): Likewise.
43780 (add_mem_region): New function.
43781 (compact_mem_regions): Likewise.
43782 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
43783 the size of the conventional memory and that of so-called upper
43784 memory (before the first memory hole).
43785 Instead of adding each found region to free memory, use
43786 add_mem_region and add them after removing overlaps.
43787 Also, add only 1/4 of the upper memory to free memory. The rest
43788 is used for loading OS images. Maybe this is ad hoc, but this
43789 makes it much easier to relocate OS images when booting.
43790
43791 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
43792 (pupa_enter_rescue_mode): Don't register initrd and module.
43793
43794 * kern/mm.c: Include pupa/dl.h.
43795
43796 * kern/main.c: Include pupa/file.h and pupa/device.h.
43797
43798 * kern/loader.c (pupa_loader_load_module_func): Removed.
43799 (pupa_loader_load_module): Likewise.
43800
43801 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
43802 ``.o''.
43803
43804 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
43805 (pupa_linux_tmp_addr): Likewise.
43806 (pupa_linux_real_addr): Likewise.
43807 (pupa_linux_boot_zimage): Likewise.
43808 (pupa_linux_boot_bzimage): Likewise.
43809
43810 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
43811 (pupa_upper_mem): Likewise.
43812 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
43813 module is too dangerous.
43814
43815 * include/pupa/loader.h (pupa_os_area_addr): Declared.
43816 (pupa_os_area_size): Likewise.
43817 (pupa_loader_set): Remove the first argument. Loader doesn't
43818 manage modules or initrd any longer.
43819 (pupa_loader_load_module): Removed.
43820
43821 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
43822 (linux_mod_SOURCES): New variable.
43823 (linux_mod_CFLAGS): Likewise.
43824
a13f9237 438252003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
43826
43827 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
43828 the length of a blocklist correctly.
43829
43830 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
43831 Use ioctl only if the OS file is a block device.
43832 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
43833 not very useful for normal files.
43834
43835 * kern/main.c (pupa_set_root_dev): New function.
43836 (pupa_load_normal_mode): Likewise.
43837 (pupa_main): Call those above.
43838
43839 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
43840 pupa_uint16_t.
43841
43842 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
43843
a5ffe966 438442003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43845
43846 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
43847 (setup): Configure the installed partition information and the
43848 dl prefix.
43849
43850 * loader/i386/pc/chainloader.c (my_mod): New variable.
43851 (pupa_chainloader_unload): New function.
43852 (pupa_rescue_cmd_chainloader): Refer itself.
43853 (PUPA_MOD_INIT): Save its own module in MY_MOD.
43854
43855 * kern/i386/pc/startup.S (install_partition): Removed.
43856 (version_string): Likewise.
43857 (config_file): Likewise.
43858 (pupa_install_dos_part): New variable.
43859 (pupa_install_bsd_part): Likewise.
43860 (pupa_prefix): Likewise.
43861 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
43862
43863 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
43864 and pupa/misc.h.
43865 (make_install_device): New function.
43866 (pupa_machine_init): Set the dl prefix.
43867
43868 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
43869 (buf): Renamed to ...
43870 (linebuf): ... this.
43871 (pupa_rescue_cmd_prefix): New function.
43872 (pupa_rescue_cmd_insmod): Likewise.
43873 (pupa_rescue_cmd_rmmod): Likewise.
43874 (pupa_rescue_cmd_lsmod): Likewise.
43875 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
43876 rmmod and lsmod.
43877
43878 * kern/mm.c (pupa_memalign): If failed even after invalidating
43879 disk caches, unload unneeded modules and retry.
43880
43881 * kern/misc.c (pupa_memmove): New function.
43882 (pupa_memcpy): Removed.
43883 (pupa_strcpy): New function.
43884 (pupa_itoa): Made static.
43885
43886 * kern/dl.c (pupa_dl_iterate): New function.
43887 (pupa_dl_ref): Likewise.
43888 (pupa_dl_unref): Likewise.
43889 (pupa_dl_unload): Return if succeeded or not.
43890 (pupa_dl_unload_unneeded): New function.
43891 (pupa_dl_unload_all): Likewise.
43892 (pupa_dl_init): Renamed to ...
43893 (pupa_dl_set_prefix): ... this.
43894 (pupa_dl_get_prefix): New function.
43895
43896 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
43897 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
43898 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43899 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43900 (pupa_install_dos_part): Declared.
43901 (pupa_install_bsd_part): Likewise.
43902 (pupa_prefix): Likewise.
43903 (pupa_boot_drive): Likewise.
43904
43905 * include/pupa/types.h: Fix a typo.
43906
43907 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
43908 pupa_memmove.
43909 (pupa_memmove): Declared.
43910 (pupa_strcpy): Likewise.
43911
43912 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
43913 pupa_mod_init takes one argument, its own module.
43914 (pupa_dl_unload_unneeded): Declared.
43915 (pupa_dl_unload_all): Likewise.
43916 (pupa_dl_ref): Likewise.
43917 (pupa_dl_unref): Likewise.
43918 (pupa_dl_iterate): Likewise.
43919 (pupa_dl_init): Renamed to ...
43920 (pupa_dl_set_prefix): ... this.
43921 (pupa_dl_get_prefix): Declared.
43922
43923 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 43924 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 43925 unloaded.
43926 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
43927 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
43928
43929 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
43930 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
43931
012d7999 439322003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43933
43934 * util/i386/pc/pupa-setup.c (setup): Define the internal
43935 function find_first_partition_start at the top level, because GCC
43936 3.0.x cannot compile internal functions in deeper scopes
43937 correctly.
43938 (find_root_device): Use lstat instead of stat.
43939 Don't follow symbolic links.
43940 Fix the path-constructing code.
43941
43942 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
43943 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
43944 by a BLKGETSIZE ioctl first, because block devices don't fill
43945 the member st_mode of the structure stat on Linux.
43946 [__linux__] (linux_find_partition): Use a temporary buffer
43947 REAL_DEV for the working space. Copy it to DEV before returning.
43948 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
43949 buffer cache consistent.
43950 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
43951 strncmp. The previous value was merely wrong.
43952 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
43953
43954 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
43955 FAT size is 12. The previous value was merely wrong.
43956
43957 * kern/main.c (pupa_main): Don't split the starting message from
43958 newlines.
43959
43960 * kern/term.c (pupa_putchar): Put CR after LF instead of before
43961 LF, because BIOS goes crazy about character attributes in this
43962 case.
43963
1cc73a62 439642003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43965
43966 * include/i386/pc/util/biosdisk.h: New file.
43967 * util/i386/pc/biosdisk.c: Likewise.
43968 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 43969
1cc73a62 43970 * Makefile.in (INCLUDE_DISTFILES): Added
43971 include/pupa/i386/pc/util/biosdisk.h.
43972 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
43973 directory util/i386/pc.
43974 (install-local): Added a rule for sbin_UTILITIES.
43975 (uninstall): Likewise.
43976
43977 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
43978
43979 * util/misc.c (xrealloc): New function.
43980 (pupa_malloc): Likewise.
43981 (pupa_free): Likewise.
43982 (pupa_realloc): Likewise.
43983 (pupa_stop): Likewise.
43984 (pupa_putchar): Likewise.
43985
43986 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
43987
43988 * include/pupa/util/misc.h (xrealloc): Declared.
43989
43990 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
43991 macro.
43992 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
43993 (PUPA_BOOT_MACHINE_BPB_END): ... this.
43994
43995 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
43996 [PUPA_UTIL] (pupa_fat_fini): Likewise.
43997
43998 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
43999 way should be implemented.
44000 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44001
44002 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
44003 the size of NAME for safety.
44004 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
44005 0x88.
44006
44007 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
44008 (pupa_setup_SOURCES): Likewise.
44009
44010 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
44011
08b70fe8 440122002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44013
44014 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
44015 bunch of pushl's from pusha, because this destroys the return
44016 value.
44017
62ddcc8f 440182002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44019
44020 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
44021 This means that any missing prototypes could be fatal. Also, you
44022 must take care when writing assembly code. See the comments at
44023 the beginning of startup.S, for more details.
f19dbdb7 44024
62ddcc8f 44025 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
44026 compilation mechanism.
44027 (pupa_chainloader_real_boot): Likewise.
44028 (pupa_biosdisk_rw_int13_extensions): Likewise.
44029 (pupa_biosdisk_rw_standard): Likewise.
44030 (pupa_biosdisk_check_int13_extensions): Likewise.
44031 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
44032 (pupa_biosdisk_get_diskinfo_standard): Likewise.
44033 (pupa_get_memsize): Likewise.
44034 (pupa_get_mmap_entry): Likewise.
44035 (pupa_console_putchar): Likewise.
44036 (pupa_console_setcursor): Likewise.
44037 (pupa_getrtsecs): Use pushl instead of push.
44038
44039 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
44040 memory instead of the stack for a mmap entry, because some
44041 BIOSes may ignore the maximum size and overflow.
44042
44043 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
44044
44045 * genmk.rb (PModule#rule): Compile automatically generated
44046 sources with module-specific CFLAGS as well as other sources.
44047
9962ed99 440482002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44049
44050 * configure.ac: Check ld.
44051 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
44052 respectively, before checking endianness and sizes.
44053
44054 * Makefile.in (LD): New variable.
f19dbdb7 44055
abdfc3c5 440562002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44057
44058 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
44059
6a161fa9 440602002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44061
44062 * Changelog: New file.
44063