]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* Makefile.am: Strip gold section.
[grub2.git] / ChangeLog
CommitLineData
0f021838
VS
12012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * Makefile.am: Strip gold section.
4 * conf/Makefile.common: Likewise.
5 * gentpl.py: Likewise.
6 * grub-core/Makefile.core.def: Likewise.
7 * grub-core/genmod.sh.in: Likewise.
8
1039c8eb
VS
92012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
12 * util/grub.d/20_linux_xen.in: Likewise.
13 Based on Debian patch.
14
6dd412cd
VS
152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * util/grub.d/10_linux.in: Fix syntax error resulting in
18 Richard Laager's patch.
19 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
20
3fd8bae5
VS
212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
24 dependencies.
25
7eea1671
RL
262012-03-10 Richard Laager <rlaager@wiktel.com>
27
28 * util/grub.d/10_linux.in: Fix ZFS root passing.
29
e8e0566b
VS
302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
33 * grub-core/commands/xnu_uuid.c: Likewise.
34 * grub-core/loader/efi/appleloader.c: Likewise.
35 * grub-core/script/execute.c: Likewise.
36 * grub-core/script/main.c: Likewise.
37 * util/grub-mkfont.c: Likewise.
38
1acc5b1f
VS
392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * util/grub-mkfont.c (options): Use more appropriate "select" that
42 "set" for face index.
43
35d70620
VS
442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * util/grub-editenv.c (options): Gettextize command summaries.
47
c9eb96b5
VS
482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
51 "out of memory" error messagge.
52
1f493136
VS
532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
56 of diskfilter for diskfilter on diskfilter support.
57
6d790129
VS
582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
61
005f46c9
VS
622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * util/grub-install.in: Check for themes/starfield/theme.txt and not
65 themes/starfield.
66
c8f778a0
VS
672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
70
de1e64eb
VS
712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
74
c6d54211
VS
752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
78 of error message.
79
dd390777
VS
802012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
83
5fd1c522
VS
842012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
87 message.
c6d54211 88 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 89
fae01f6c
VS
902012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
93 Gettextize.
94 * util/grub-mount.c (options): Likewise.
95
292fdaff
VS
962012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
99 gettextize.
100 * grub-core/commands/search_wrap.c (options): Likewise.
101
ecdbae77
VS
1022012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
105
52bfedfa
VS
1062012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
109 size calculation.
110 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
111 none is known.
112
55b20e58
VS
1132012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
116 "temporary" since it's used in identifier and is limited in space.
117
fda9d101
VS
1182012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * po/POTFILES.in: Regenerate. Include *.h since they contain
121 translatable strings as well.
122
6a0295e2
VS
1232012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
126 byte-swap on big-endian.
127 Reported by: Lennart Sorensen
128
807fb77c
VS
1292012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
132 (allocate_pages): Improve dprintf.
133 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
134 code32_start. Fill code32_start and kernel_alignment in params.
135 (grub_cmd_initrd): Use prot_init_space.
136
61ac50ba
VS
1372012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
140
abdd26dd
VS
1412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * util/grub-install.in: Add missing dot at the end of sentence.
144
6e69da9c
VS
1452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
148 * grub-core/commands/videotest.c: Likewise.
149 * grub-core/loader/i386/linux.c: Likewise.
150
4a929343
VS
1512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
154 sentence.
155 Reported by: Milo Casagrande.
156
bb51c6c6
VS
1572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
160 * grub-core/commands/gptsync.c: Likewise.
161 * grub-core/commands/hashsum.c: Likewise.
162 * grub-core/commands/i386/pc/sendkey.c: Likewise.
163 * grub-core/commands/legacycfg.c: Likewise.
164 * grub-core/io/gzio.c: Likewise.
165 * grub-core/net/net.c: Likewise.
166 * grub-core/term/gfxterm.c: Likewise.
167 * grub-core/term/terminfo.c: Likewise.
168 * grub-core/tests/test_blockarg.c: Likewise.
169 * grub-core/video/video.c: Likewise.
170 * util/grub-install.in: Likewise.
171 * util/grub-mkfont.c: Likewise.
172
b2b149cb
VS
1732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
174
175 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
176
c7c080ad
VS
1772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 180 Reported by: David Prévot.
c7c080ad 181
f2e243c0
VS
1822012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
185 description.
186
09963c76
VS
1872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * util/grub-script-check.c (main): Fix a syntax error message which was
190 unclear.
191
a50514a8
VS
1922012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
193
194 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
195
4650daec
VS
1962012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
199 messages.
200
2012012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
202
203 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
204 without argument.
205 * util/grub-mount.c (options): Likewise.
206
bbc5a342
VS
2072012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
210
ef292a87
VS
2112012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * grub-core/net/http.c: Add TRANSLATORS comments.
214 * grub-core/normal/cmdline.c: Likewise.
215 * grub-core/normal/misc.c: Likewise.
216 * grub-core/partmap/msdos.c: Likewise.
217 * grub-core/parttool/msdospart.c: Likewise.
218 * grub-core/script/execute.c: Likewise.
219 * grub-core/script/main.c: Likewise.
220 * grub-core/term/terminfo.c: Likewise.
221 * grub-core/video/bitmap.c: Likewise.
222 * util/grub-install.in: Likewise.
223 * util/grub-mkimage.c: Likewise.
224 * util/grub-mklayout.c: Likewise.
225 * util/grub-setup.c: Likewise.
226
0fc19bd0
VS
2272012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
230 with similar messages in grub-fstest.
231
d95862ef
VS
2322012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * util/grub-install.in: Unify "option requires an argument" message
235 with similar messages in other files.
236 * util/grub-mkconfig.in: Likewise.
237
b7308f90
VS
2382012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * util/grub-set-default.in: Replace printf with gettext_printf (the
241 string in in question is already translated from grub-reboot)
242
559dc587
VS
2432012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * configure.ac: Bump up the version to beta1.
246
1a11761f
VS
2472012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
250 case when min_align = 0.
251
24539abd
VS
2522012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
255 and fix a case when line_start overflows.
256
32bd735b
VS
2572012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * util/grub-reboot.in (usage): Mention id posibility.
260 * util/grub-set-default.in (usage): Likewise.
261
1a2fd1e6
VS
2622012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
265 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
266 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
267 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
268 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
269 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
270 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
271
90eeab76
VS
2722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * grub-core/commands/menuentry.c (options): Remove
275 GRUB_ARG_OPTION_REPEATABLE.
276 Reported by: Andreas Vogel
277
5ad1be82
AV
2782012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
279
280 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
281
cb055286
HE
2822012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
283
284 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
285 error.
286
93b1cd79
VS
2872012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
288
289 Use sort -V by the idea of Georgi Georgiev.
290
291 * util/grub-mkconfig_lib.in (version_sort): New function.
292 (version_test_numeric): Use version_sort.
293
0cdc126c
VS
2942012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
295
296 Use submenus in grub-mkconfig.
297
298 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
299 * util/grub-mkconfig_lib.in (grub_quote): New function.
300 (gettext_printf): Use gettext and not gettext_quoted to fix several
301 messages.
302 * util/grub.d/10_hurd.in: Use submenus.
303 * util/grub.d/10_kfreebsd.in: Likewise.
304 * util/grub.d/10_linux.in: Likewise.
305 * util/grub.d/10_netbsd.in: Likewise.
306 * util/grub.d/20_linux_xen.in: Likewise.
307 * util/grub.d/30_os-prober.in: Likewise.
308 * util/grub.d/10_illumos.in: Add missing quoting.
309 * util/grub.d/10_windows.in: Likewise.
310
d9bef9bc
VS
3112012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
312
313 Fix menu title instability bug.
314
315 * grub-core/commands/menuentry.c (options): New option --id.
316 (grub_normal_add_menu_entry): New argument id. All users updated.
317 (grub_cmd_menuentry): Handle --id.
318 (grub_menu_init): Accept unknown arguments.
319 * grub-core/normal/main.c (features): Add feature_menuentry_id and
320 feature_menuentry_options.
321 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
322 saved_entry.
323 (get_entry_number): Match with id as well.
324 * include/grub/menu.h (grub_menu_entry): New member id.
325 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
326 * util/grub.d/00_header.in: Define menuentry_id_option.
327 * util/grub.d/10_hurd.in: Define id.
328 * util/grub.d/10_illumos.in: Likewise.
329 * util/grub.d/10_kfreebsd.in: Likewise.
330 * util/grub.d/10_linux.in: Likewise.
331 * util/grub.d/10_netbsd.in: Likewise.
332 * util/grub.d/10_windows.in: Likewise.
333 * util/grub.d/20_linux_xen.in: Likewise.
334 * util/grub.d/30_os-prober.in: Likewise.
335
3362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
337
338 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
339 "scope" with "body".
340
7c8d0ce7
VS
3412012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
344 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
345 prot_size and prot_file_size.
346
49de079b
VS
3472012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
350 All users updated. If easily=1 require raid-5/-6 to be full.
351 (is_node_readable): Likewise.
352 (scan_devices): Scan incomplete but readable LVs at the end.
353 (grub_diskfilter_memberlist): Pull missing devices.
354 (insert_array): Skip scanning until device is complete or scan is
355 done otherwise.
356 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
357 check.
358 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
359 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
360
aff05d45
MG
3612012-03-03 Matthew Garrett <mjg@redhat.com>
3622012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
363
364 Avoid EFI boot services when loading Linux.
365
366 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
367 avoid_efi_bootservices. All users updated.
368 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
369 argument avoid_efi_bootservices. All users updated.
370 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
371 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
372 align, min_align, relocatable, prefered_address. All users updated.
373 Allocate avoiding boot services if kernel is relocatable.
374 (grub_cmd_linux): Check if kernel is relocatable.
375 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
376 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
377 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
378 avoid_efi_boot_services.
379 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
380 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
381 (linux_kernel_params): Likewise.
382
3935dde2
MG
3832012-03-03 Matthew Garrett <mjg@redhat.com>
3842012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
385
386 Use EDID on EFI.
387
388 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
389 datasize_out.
390 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
391 modes. Set gop_handle.
392 (grub_video_gop_get_edid): New function.
393 (grub_gop_get_preferred_mode): Likewise.
394 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
395 (grub_video_efi_gop_adapter): Set .get_edid.
396 * include/grub/efi/edid.h: New file.
397 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
398
32107ec0
VS
3992012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * util/grub-install.in: Load efivars unconditionally.
402
e70a2c50
VS
4032012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * po/Rules-piglatin: Change suffix from .po-update-en to
406 .po-update-en-piglatin.
407
8f9cace1
VS
4082012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
409
410 Add a pig farm.
411
412 * po/piglatin.sed: New file.
413 * po/en@piglatin.header: Likewise.
414 * po/Rules-piglatin: Likewise.
415 * po/README: Add en@piglatin to autogenerated languages.
416
8f95d002
VS
4172012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
420 "Command for ...".
421 * grub-core/commands/hdparm.c (options): Use "Display" rather than
422 "Check" since we don't check anything.
423 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
424 is 64-bit one.
425 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
426 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
427 (grub_md_sha512_real): Likewise.
428
805a8dcc
VS
4292012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * grub-core/commands/gptsync.c: Fix typographic quoting.
432 * grub-core/commands/ieee1275/suspend.c: Likewise.
433 * grub-core/commands/parttool.c: Likewise.
434 * grub-core/commands/search_wrap.c: Likewise.
435 * grub-core/commands/videoinfo.c: Likewise.
436 * grub-core/gfxmenu/gui_label.c: Likewise.
437 * grub-core/hello/hello.c: Likewise.
438 * grub-core/kern/emu/main.c: Likewise.
439 * grub-core/net/net.c: Likewise.
440 * grub-core/normal/menu.c: Likewise.
441 * grub-core/normal/menu_text.c: Likewise.
442 * grub-core/normal/misc.c: Likewise.
443 * util/grub-editenv.c: Likewise.
444 * util/grub-install.in: Likewise.
445 * util/grub-kbdcomp.in: Likewise.
446 * util/grub-mkconfig.in: Likewise.
447 * util/grub-mknetdir.in: Likewise.
448 * util/grub-mkrescue.in: Likewise.
449 * util/grub-mkstandalone.in: Likewise.
450 * util/grub-reboot.in: Likewise.
451 * util/grub-set-default.in: Likewise.
452 * util/grub-setup.c: Likewise.
453 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
454
40211ab8
VS
4552012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
458 * grub-core/commands/keystatus.c: Likewise.
459 * grub-core/commands/loadenv.c: Likewise.
460 * grub-core/commands/probe.c: Likewise.
461 * grub-core/commands/regexp.c: Likewise.
462 * grub-core/commands/true.c: Likewise.
463 * grub-core/commands/videoinfo.c: Likewise.
464 * grub-core/disk/cryptodisk.c: Likewise.
465 * grub-core/disk/ldm.c: Likewise.
466 * grub-core/disk/loopback.c: Likewise.
467 * grub-core/disk/luks.c: Likewise.
468 * grub-core/fs/zfs/zfsinfo.c: Likewise.
469 * grub-core/kern/disk.c: Likewise.
470 * grub-core/kern/emu/hostdisk.c: Likewise.
471
0c7d99c7
VS
4722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
475 * util/grub-install.in: Add missing quote in the comment.
476
e7d2559b
VS
4772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
480 * grub-core/commands/lsmmap.c: Likewise.
481 * grub-core/commands/minicmd.c: Likewise.
482 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
483 * grub-core/commands/regexp.c: Likewise.
484 * grub-core/gdb/gdb.c: Likewise.
485 * grub-core/term/gfxterm.c: Likewise.
486 * util/grub-mkconfig.in: Likewise.
487 * util/grub-mkfont.c: Likewise.
488 * util/grub-mklayout.c: Likewise.
489 * util/grub-mknetdir.in: Likewise.
490 * util/grub-mkrescue.in: Likewise.
491 * util/grub.d/30_os-prober.in: Likewise.
492
49ce9e50
VS
4932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
496 with "Direct color" and "Packed" with "Packed pixel".
497 (grub_cmd_videoinfo): Simplify legend.
498
e4b791fa
VS
4992012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
502 absolutely unclear error message.
503
fd1265cb
VS
5042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
505
506 * util/grub-mkstandalone.in: Remove confusing leftover print.
507
8822a8a0
VS
5082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
511 comments.
512 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
513 (GRUB_MOD_INIT): Likewise.
514 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
515 VGA mode.
516 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
517 comments.
518 * util/grub-install.in (usage): Likewise.
519 Spell ID in whole letters.
520 Add missing ending dot.
521 Quote variables.
522 * util/grub-reboot.in: Fix capitalisation.
523 * util/grub-set-default.in: Likewise.
524
937fd0cc
VS
5252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
528 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
529 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
530 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
531 Disable -Werror for -Wdeprecated-declarations.
532 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
533 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
534 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
535 (grub_util_get_grub_dev): Make luks handling dependent on
536 HAVE_DEVICE_MAPPER and not __linux__.
537 (get_win32_path): Fix format security.
538 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
539 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
540 Don't try grub_find_zpool_from_dir.
541 (grub_make_system_path_relative_to_its_root) [!__linux__]:
542 #ifdef-out paresdir.
543
1bab1ae3
VS
5442012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * util/grub-pe2elf.c (usage): Add missing noreturn.
547 (write_section_data): Rename name to shname to avoid shadowing.
548 (write_symbol_table): Rename name to symname to avoid shadowing.
549 Fix write_reloc_section call.
550
ef023e42
VS
5512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
554 to ensure that it's after the last byte of .text.
555
48afcb75
VS
5562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * util/ieee1275/ofpath.c (my_isdigit): New function.
559 (trailing_digits): Use my_isdigit.
560 (strip_trailing_digits): Likewise.
561
88d51eff
VS
5622012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
565 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
566
17edc2ba
VS
5672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * grub-core/kern/i386/pc/startup.S: Define __start.
570
ad5518d7
VS
5712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
574 strip already transforms he format.
575
9e95e1bf
VS
5762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
579
9cc3ee5c
VS
5802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * util/grub-install.in: Add missing gettext init.
583 * util/grub-kbdcomp.in: Likewise.
584 * util/grub-mkconfig.in: Likewise.
585 * util/grub-mknetdir.in: Likewise.
586 * util/grub-mkrescue.in: Likewise.
587 * util/grub-mkstandalone.in: Likewise.
588 * util/grub-reboot.in: Likewise.
589 * util/grub-set-default.in: Likewise.
590 * util/grub.d/00_header.in: Likewise.
591 * util/grub.d/10_hurd.in: Likewise.
592 * util/grub.d/10_windows.in: Likewise.
593 * util/grub.d/30_os-prober.in: Likewise.
594 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
595
49e08a06
VS
5962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * po/Rules-swiss: Fix header comment.
599
3809cb41
AV
6002012-02-29 Andreas Vogel <anvoit>
601
602 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
603 resulted in leak of arguments.
604
fa6ec573
VS
6052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * grub-core/boot/i386/pc/startup_raw.S: Use separate
608 reed_solomon_size const definition instead of computing it since
609 Apple assembler doesn't support the later.
610
22899b9c
VS
6112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * gentpl.py (kernel): Rewrite Apple part.
614
a132afc3
VS
6152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * include/grub/kernel.h (FOR_MODULES): Check module magic.
618
9d742bd4
VS
6192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
620
621 * util/grub-mkimagexx.c (locate_sections): Support non-standard
622 ELF section gap.
623 (load_image): Likewise.
624
f04a9a21
VS
6252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * configure.ac: Fix a typo in previous commit.
628
46cf439c
VS
6292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
630
631 Don't add -Wl,-N on Apple platform.
632
633 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
634 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
635
c4c48c54
VS
6362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/Makefile.core.def (lzma_decompress): Use
639 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
640
31a12124
VS
6412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * grub-core/genmod.sh.in: Rewrite the Apple part.
644
4f3aa1af
VS
6452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
648 comparison.
649
7bd8b0c7
VS
6502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * acinclude.m4 (grub_CHECK_PIC): New test.
653 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
654
97304d7c
VS
6552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
658 to avoid the warning.
659
fb883812
VS
6602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
663 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
664 after. All users updated.
665
a121c964
VS
6662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
667
668 Use the common size routine in hostfs so we can read disks as well.
669
670 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
671 (grub_util_get_fd_size): ... this. Return size in bytes.
672 All users updated.
673 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
674 grub_util_get_fd_size.
675
c66d6410
VS
6762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
677
678 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
679 Add blocksize retrieval.
680
dfc8aeb0
VS
6812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * configure.ac: Restore CFLAGS after efiemu check.
684
403e25a5
VS
6852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
688 Apple bug.
689
382775d1
VS
6902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
691
692 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
693
6fd4e6e4
VS
6942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
697 (grub_cmd_halt): Likewise.
698
bea359d6
VS
6992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
700
701 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
702 for local arithmetics.
703 Break %sp init into 2 instructions.
704 Add 0 byte at the end.
705
32eb6ee1
VS
7062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * grub-core/disk/diskfilter.c (read_segment): Initialise err
709 before loops.
710
e8377389
VS
7112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
714 for context.
715
8cb17de7
VS
7162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/disk/ldm.c (make_vg): Init part.name.
719 (grub_ldm_detect): Silence spurious warning.
720 (grub_util_is_ldm): Likewise.
721
595717e6
VS
7222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
725 sane value to avoid a spurious warning.
726
c4b7e588
VS
7272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
730 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
731
59824957
VS
7322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
733
734 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
735 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
736
70115b99
VS
7372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
740 hardcoding the relevant info.
741
56733740
VS
7422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
743
744 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
745 missing const qualifiers.
746 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
747
43481481
VS
7482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * util/getroot.c [__APPLE__]: Add missing includes.
751 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
752
3cb38f01
VS
7532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * util/grub-mkimage.c (generate_image): Silence spurious warning.
756
d9dbf11e
VS
7572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
758
759 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
760 avoid conflicts.
761
0c42a45d
VS
7622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
765
46c34eb0
VS
7662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
769 and grub_file_close call.
770
99ce1597
VS
7712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
772
773 Add LZSS Mach-O support (needed for new xnu kernelcache).
774
775 * grub-core/Makefile.core.def (xnu): Add file lzss.c
776 * grub-core/loader/lzss.c: New file.
777 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
778 on Mach-O open failure.
779 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
780 Don't free cmdsXX in uncompressedXX is set.
781 (grub_macho_file): Init new fields.
782 New argument is_64bit. All users updated.
783 Handle compressed. Error out if no suitable architecture is found.
784 Don't close file.
785 (grub_macho_open): New argument is_64bit. All users updated.
786 * grub-core/loader/macho32.c: Add defines for new fields.
787 * grub-core/loader/macho64.c: Likewise.
788 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
789 (grub_macho_parse): Handle compressed.
790 Defer actual processing if compressed.
791 (grub_macho_cmds_iterate): Decompress if compressed. New argument
792 "filename". All users updated.
793 (grub_macho_size): New argument "filename". All users updated.
794 (grub_macho_get_entry_point): Likewise.
795 (grub_macho_load): Handle compressed.
796 * include/grub/macho.h (grub_macho_lzss_header): New struct.
797 (GRUB_MACHO_LZSS_OFFSET): New define.
798 (grub_decompress_lzss): New proto.
799 * include/grub/machoload.h (grub_macho_file): New fields to handle
800 compressed.
801 (grub_macho_contains_macho64): Remove proto.
802 (grub_macho_contains_macho32): Likewise.
803 * util/grub.d/30_os-prober.in: Use kernel cache if available.
804
ebd17d6f
VS
8052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
808
2702b4e4
VS
8092012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
810
811 Fix make dist.
812
813 * Makefile.am (starfield_theme_files): New var.
814 (starfield_DATA): Use starfield_theme_files.
815 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
816 Add bootcheck-related files.
817 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
818 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
819 and font_char_metrics.txt.
820 * grub-core/Makefile.core.def (kernel): Update extra_dist.
821 (setjmp): Add lib/ia64/longjmp.S.
822 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
823 * po/POTFILES.in: Regenerate.
824 * po/Rules-swiss: use DISTFILES.common.extra2 and not
825 DISTFILES.common.extra1.
826 * util/devicemap.c: Removed.
827 * grub-core/lib/i386/relocator_backward.S: Likewise.
828 * util/import_gcry.py: Remove unused files. Add extra_dist for
829 ChangeLog.
830
cf1adfdf
VS
8312012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * grub-core/gettext/gettext.c (grub_mofile_open): Call
834 grub_gettext_delete_list before changing grub_gettext_max to avoid
835 running out of array bounds.
836
8372012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
838
839 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
840 grub_vga_text_init/grub_vga_text_fini.
841
cf1adfdf 8422012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
843
844 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
845
541d92e9
VS
8462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * configure.ac: Bump to 2.00~beta0.
849
7931dddf
VS
8502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
853 missing initialisation.
854
f1b16fa3
VS
8552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
856
857 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
858
83ddae23
VS
8592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
860
861 Support v2 xnu boot arguments.
862
863 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
864 New argument fsbfreq_out.
865 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
866 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
867 be used.
868 * grub-core/loader/machoXX.c (grub_macho_load): New argument
869 darwin_version.
870 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
871 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
872 (grub_xnu_boot_params): Rename to ...
873 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
874 (grub_xnu_boot_params_v2): New struct.
875
dc693fe6
VS
8762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
879 zeroing of CRC field before computing CRC.
880
5a6e39c2
VS
8812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
884 Change order of allocations to decrease fragmentation.
885
6c21f5d7
VS
8862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
889
cfe456dc
CW
8902012-02-27 Colin Watson <cjwatson@ubuntu.com>
891
892 Use write-combining MTRR to speed up video with buggy BIOSes.
893
894 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
895 (cpuid): New define.
896 (rdmsr): Likewise.
897 (wrmsr): Likewise.
898 (mtrr_base): Likewise.
899 (mtrr_mask): Likewise.
900 (grub_vbe_enable_mtrr_entry): New function.
901 (grub_vbe_enable_mtrr): Likewise.
902 (grub_vbe_disable_mtrr): Likewise.
903 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
904 control off to BIOS.
905 (grub_video_vbe_init): Fill mtrr.
906 (grub_video_vbe_fini): Disable mtrr.
907 (grub_video_vbe_get_info_and_fini): Likewise.
908 (grub_video_vbe_setup): Enable mtrr.
909
e3c78337
CW
9102012-02-27 Colin Watson <cjwatson@ubuntu.com>
911
912 * include/grub/partition.h (grub_partition_map): Change prototype of
913 embed to take a maximum value for nsectors.
914 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
915 * include/grub/fs.h (grub_fs): Likewise.
916 * grub-core/partmap/msdos.c (embed_signatures): New array.
917 (pc_partition_map_embed): Check for and avoid sectors matching any
918 of the signatures in embed_signatures, up to max_nsectors.
919 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
920 returned sector map to max_nsectors.
921 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
922 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
923 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
924 * util/grub-setup.c (setup): Allow for the embedding area being
925 split into multiple blocklists. Tell dest_partmap->embed the
926 maximum number of sectors we care about.
927
9282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
931 Specify blocklist_install and reserver_first_sector for all fs.
932 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
933 blocklists.
934
984b973f
VS
9352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * util/grub-install.in: Clarify strings.
938 Fix source dir check.
939
f122e0d6
RL
9402012-02-27 Richard Laager <rlaager@wiktel.com>
941
942 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
943 "zfs" and "fuse.zfs" as synonyms.
944
071114bb
VS
9452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * configure.ac: Put platform and target_cpu substitutions back since
948 they are used for directories.
949
817e6abc
RL
9502012-02-27 Richard Laager <rlaager@wiktel.com>
9512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * util/grub.d/10_linux.in: Add ZFS-related arguments.
954 * util/grub.d/20_linux_xen.in: Likewise.
955
897b7419
RL
9562012-02-27 Richard Laager <rlaager@wiktel.com>
957
958 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
959 with full paths.
960
a414bd15
RL
9612012-02-27 Richard Laager <rlaager@wiktel.com>
962
963 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
964 unescape.
965
30ac48c4
VS
9662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
967
968 Don't use insecure popen in getroot.
969
970 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
971 (exec_pipe): ... here.
972 (find_root_devices_from_poolname): Use exec_pipe.
973
53f13848
VS
9742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
975
976 Remove platform and target_cpu replacement.
977
978 * configure.ac: Remove platform and target_cpu substitutions.
979 * tests/util/grub-shell.in: Use modinfo.
980 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
981 explicitly.
982
90cb2803
VS
9832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
984
985 Autodetect platform in grub-install but allow override.
986
987 * util/grub-install.in: Autodetect platform. Support --target and
988 --directory. Read platform from modinfo.sh.
989
b9136427
VS
9902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
991
992 Support btrfs multi-volume probe.
993
994 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
995 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
996 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
997 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
998 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
999 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1000 grub_find_root_devices_from_btrfs if on btrfs.
1001
c36e5cd1
VS
10022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 Remove any awareness of *.c util files about target.
1005
1006 * Makefile.util.def (grub-setup): Split to ...
1007 (grub-bios-setup): ... and this.
1008 (grub-sparc64-setup): ... and this.
1009 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1010 * docs/man/grub-setup.h2m: Split into ...
1011 * docs/man/grub-sparc64-setup.h2m: ... this.
1012 * docs/man/grub-bios-setup.h2m: ... and this.
1013 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1014 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1015 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1016 (grub_target_addr_t): Remove.
1017 (grub_target_size_t): Remove.
1018 (grub_target_ssize_t): Remove.
1019 * util/grub-install.in: Use new grub-*-setup.
1020 * util/grub-mkimagexx.c (Elf_Word): New define.
1021 (Elf_Half): Likewise.
1022 (Elf_Section): Likewise.
1023 (ELF_ST_TYPE): Likewise.
1024 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1025 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1026
584b2f8a
VS
10272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 Replace grub_target_addr with more appropriate types.
1030
1031 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1032 grub_target_addr with grub_addr.
1033 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1034 grub_target_addr with grub_port.
1035 (grub_cmd_write): Likewise.
1036 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1037 grub_target_addr with grub_addr.
1038 (grub_cmd_write): Likewise.
1039 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1040
5a0dc6fb
VS
10412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1044 const qualifier for vendor_guid.
1045
786aff6e
VS
10462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1049 const qualifier.
1050 (efiemu_memequal): Likewise.
1051 (find_variable): Likewise.
1052
49017b17
VS
10532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 Fix missing console prototype on qemu-mips.
1056
1057 * include/grub/mips/qemu_mips/console.h: New file.
1058
c5988629
MG
10592012-02-27 Matthew Garrett <mjg@redhat.com>
10602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1063 * include/grub/efi/efi.h: Likewise.
1064 * include/grub/efi/api.h: Add guid for EFI-specified variables.
1065 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
1066 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
1067 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
1068 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
1069 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
1070
e33f8d69
MG
10712012-02-27 Matthew Garrett <mjg@redhat.com>
1072
1073 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
1074
fb312cd9
VS
10752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
1078 error.
1079
7134247c
VS
10802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * configure.ac: Remove inappropriate use of program_transform_name
1083 on grubdir and bootdir but allow explicit specification of those
1084 variables.
1085
6a313124
VS
10862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * util/grub-mknetdir.in (grub_prefix): Removed.
1089 (subdir): Use @bootdirname@ and @grubdirname@.
1090
2311c5ca
VS
10912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
1094
7d5d60f7
VS
10952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * po/POTFILES.in: Regenerated.
1098
8151bc82
VS
10992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 Remove improper use of program_transform_name on pkglibrootdir.
1102
1103 * configure.ac (pkglibrootdir): Removed.
1104 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
1105 * util/grub-mkimage.c: Likewise.
1106
b4a6a533
VS
11072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
1110 warning.
1111
668f304f
VS
11122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * util/grub-install.in: Use file identifier if no UUID is available
1115 or user explicitly prompted for it.
1116
665f2341
NP
11172012-02-27 Navdeep Parhar <nparhar@gmail.com>
1118
1119 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
1120 (freebsd_get_zfs): New function.
1121 (grub_freebsd_boot): Pass zfs UUID.
1122 (grub_cmd_freebsd): Set zfs UUID.
1123
8151bc82 11242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
1125
1126 * conf/Makefile.common (platformdir): Base on pkglibdir and not
1127 pkglibrootdir.
1128
e4c498a1
MG
11292012-02-27 Mike Gilbert <floppym@gentoo.org>
1130
1131 Add configure flag to control libzfs integration.
1132
1133 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
1134
1e9a9a3f
VS
11352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
1138 device.
1139 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
1140 small devices.
1141
036985b8
VS
11422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1143
1144 Remove grub_{modname}_init and grub_{modname}_fini. They should never
1145 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
1146 be used on non-modules.
1147
1148 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
1149 Rename to grub_boot_init.
1150 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
1151 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
1152 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
1153 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
1154 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
1155 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
1156 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
1157 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
1158 includes.
1159 (grub_machine_init): Remove empty inits.
1160 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
1161 includes.
1162 (grub_machine_init): Remove empty inits.
1163 * grub-core/term/arc/console.c: Remove explicit proto.
1164 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
1165 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
1166 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1167 grub_at_keyboard_fini.
1168 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
1169 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
1170 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1171 grub_gfxterm_fini.
1172 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
1173 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
1174 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1175 grub_vgatext_fini.
1176 * grub-core/term/ieee1275/console.c: Remove explicit proto.
1177 * grub-core/term/serial.c (GRUB_MOD_INIT)
1178 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
1179 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1180 grub_serial_fini.
1181 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
1182 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
1183 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1184 grub_terminfo_fini.
1185 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
1186 (GRUB_MOD_FINI): Likewise.
1187 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
1188 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
1189 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1190 grub_video_radeon_fuloong2e_fini.
1191 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
1192 [LOONGSON]: Rename to grub_video_sis315pro_init.
1193 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1194 grub_video_sis315pro_fini.
1195 * grub-core/video/sm712.c (GRUB_MOD_INIT)
1196 [LOONGSON]: Rename to grub_video_sm712_init.
1197 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1198 grub_video_sm712_fini.
1199 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
1200 (grub_at_keyboard_fini): Likewise.
1201 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
1202 Don't declare grub_{modname}_init.
1203 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
1204 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
1205 New proto.
1206 (grub_keylayouts_fini) [!EMU]: Likewise.
1207 * include/grub/serial.h (grub_serial_init) [!EMU]:
1208 New proto.
1209 (grub_serial_fini) [!EMU]: Likewise.
1210 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
1211 New proto.
1212 (grub_terminfo_fini) [!EMU]: Likewise.
1213 * include/grub/video.h (grub_font_init) [!EMU]:
1214 New proto.
1215 (grub_font_fini) [!EMU]: Likewise.
1216 (grub_gfxterm_init) [!EMU]: Likewise.
1217 (grub_gfxterm_fini) [!EMU]: Likewise.
1218 (grub_video_sm712_init) [!EMU]: Likewise.
1219 (grub_video_sm712_fini) [!EMU]: Likewise.
1220 (grub_video_sis315pro_init) [!EMU]: Likewise.
1221 (grub_video_sis315pro_fini) [!EMU]: Likewise.
1222 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
1223 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
1224
d5534665
VS
12252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 Make nand a prefix for nand devices.
1228
1229 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
1230
10133b5f
VS
12312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
1234 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
1235
8e307a62
VS
12362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * include/grub/env.h (grub_env_find): Remove prototype.
1239 * grub-core/kern/env.c (grub_env_find): Make static.
1240 (grub_env_set): Remove useless set.
1241
a4c65f34
VS
12422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 * grub-core/kern/i386/realmode.S: Remove useless align.
1245
d87893d5
VS
12462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * include/grub/dl.h (grub_dl_load_file): Don't export.
1249
50159add
VS
12502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
1253 grub_dprintf.
1254
b2582b84
VS
12552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
1258 grub_errors.
1259 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
1260 not reloading whole superblock but only the part which is really needed.
1261 Remove useless grub_errors.
1262 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
1263 grub_errors.
1264
e2a83395
VS
12652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 Don't export grub_get_rtc.
1268
1269 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
1270 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
1271
e7d2a906
VS
12722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
1275
6cf1363b
VS
12762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 1279 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 1280
eece3349
VS
12812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 Remove prio_list.
1284
1285 * include/grub/list.h (grub_prio_list): Removed.
1286 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
1287 GRUB_COMMAND_PRIO_MASK.
1288 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
1289 GRUB_COMMAND_FLAG_ACTIVE.
1290 (grub_prio_list_insert): Removed.
1291 (grub_prio_list_remove): Likewise.
1292 (GRUB_AS_PRIO_LIST): Likewise.
1293 (GRUB_AS_PRIO_LIST_P): Likewise.
1294 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
1295 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
1296 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
1297 * grub-core/kern/command.c (grub_register_command_prio): Inline
1298 the prio_list code.
1299 (grub_unregister_command): Likewise.
1300
94f064b4
VS
13012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 Fix interrupt mixup from previous commit.
1304
1305 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
1306 (grub_realidt): New var.
1307 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
1308 Load idt.
1309 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
1310 New declaration.
1311 (grub_relocator16_boot): Set grub_relocator16_idt.
1312 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
1313 (LOCAL(realidt)): ... this.
1314 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
1315 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
1316 (grub_realidt): New variable.
1317
27317084
VS
13182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
1321 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
1322 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
1323 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
1324 Gettextize.
1325 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
1326 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
1327 * po/POTFILES.in: Regenerate.
1328
47b40053
VS
13292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
1332 errors.
1333
2b343101
VS
13342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
1337 \0.
1338 (add_length): Likewise.
1339
ff27c3dd
LK
13402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
13412012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
1342
1343 GDB serial and backtrace support.
1344
1345 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
1346 (prot_to_real): Likewise.
1347 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
1348 * grub-core/Makefile.core.def (backtrace): New module.
1349 (gdb): Likewise.
1350 * grub-core/gdb/cstub.c: New file.
1351 * grub-core/gdb/gdb.c: Likewise.
1352 * grub-core/gdb/i386/idt.c: Likewise.
1353 * grub-core/gdb/i386/machdep.S: Likewise.
1354 * grub-core/gdb/i386/signal.c: Likewise.
1355 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 1356 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
1357 * include/grub/backtrace.h: Likewise.
1358 * include/grub/gdb.h: Likewise.
1359 * include/grub/i386/gdb.h: Likewise.
1360
13612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
1362
1363 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
1364 New function.
1365 (add_length): Likewise.
1366 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
1367 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
1368 proto.
1369 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
1370 __argp_get_display_len.
1371
ff27c3dd 13722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
1373
1374 $"..." support in scripts.
1375
1376 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
1377 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
1378 * grub-core/script/yylex.l: Likewise.
1379 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
1380 value.
1381
ff27c3dd 13822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
1383
1384 * gentpl.py: Remove obsolete pkglib_DATA handling.
1385
ff27c3dd 13862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
1387
1388 Don't transform PACKAGE_TARNAME following a discussion on autoconf
1389 mailing list.
1390
1391 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
1392 * util/grub-kbdcomp.in: Likewise.
1393 * util/grub-mkconfig.in: Likewise.
1394 * util/grub-mkconfig_lib.in: Likewise.
1395 * util/grub-mknetdir.in: Likewise.
1396 * util/grub-mkrescue.in: Likewise.
1397 * util/grub-mkstandalone.in: Likewise.
1398 * util/grub-reboot.in: Likewise.
1399 * util/grub-set-default.in: Likewise.
1400 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1401
ff27c3dd 14022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
1403
1404 Remove GRUB_PREFIX.
1405
1406 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
1407 * util/grub.d/00_header.in: Compute prefix in the only place it's still
1408 used for backward compatibility.
1409
ff27c3dd 14102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
1411
1412 Add new all_video module.
1413
1414 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
1415 * grub-core/Makefile.core.def (all_video): New module.
1416 * grub-core/genmoddep.awk: Generate dependency of all_video from
1417 video.lst.
1418 * grub-core/lib/fake_module.c: New file.
1419 * grub-core/normal/main.c (features): Add feature_all_video_module.
1420 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
1421 don't do explicit search again.
47454da5 1422 insmod all_video in load_video if available.
22c7ce85 1423
ff27c3dd 14242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
1425
1426 Another round of string clarification and adding TRANSLATORS comments.
1427
ff27c3dd 14282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
1429
1430 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
1431
ff27c3dd 14322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
1433
1434 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
1435 to grub_ssize_t.
1436 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
1437 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
1438
ff27c3dd 14392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
1440
1441 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
1442 trailing newline implicitly. All users updated.
1443
ff27c3dd 14442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
1445
1446 Implement serial on IEEE1275 and EFI.
1447
1448 * docs/grub.texi (Platform-specific limitations): Fix the columen video
1449 on emu. Mention arc and emu as the only platforms without serial
1450 support.
1451 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
1452 ieee1275 platforms.
1453 * grub-core/term/efi/serial.c: New file.
1454 * grub-core/term/ieee1275/serial.c: Likewise.
1455 * grub-core/term/serial.c (grub_serial_find): Disable direct port
1456 specification if no ns8250 driver is available.
1457 (grub_cmd_serial): Likewise.
1458 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
1459 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
1460 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
1461 (grub_efi_parity_type_t): New type.
1462 (grub_efi_stop_bits_t): Likewise.
1463 (grub_efi_serial_io_interface): New struct.
1464 * include/grub/serial.h (grub_serial_port): Make 'broken' field
1465 available for all interfaces.
1466 Add EFI and IEEE1275 fields.
1467 (grub_ofserial_init): New proto.
1468 (grub_efiserial_init): Likeiwse.
1469 * util/grub.d/00_header.in: Don't check for the presence of serial
1470 module.
1471
ff27c3dd 14722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
1473
1474 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
1475 name as if it was an alias.
1476
114076ef
VS
14772012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * grub-core/commands/lsacpi.c (options): Fix typo.
1480
6a656b0e
VS
14812012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 Convert grub-emu to argp.
1484
1485 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
1486 emu.
1487 * util/argp_common.c: Rename to ...
1488 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
1489 Add missing includes.
1490 * grub-core/kern/emu/main.c: Convert to argp.
1491 * po/POTFILES.in: Regenerate.
1492 * util/grub-install.in (usage): Make first letter lowcase in messages
1493 for uniformity.
1494 * util/grub-setup.c (options): Likewise.
1495
1e3f8ae8
VS
14962012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
1499 Put back accidently commented-out code.
1500
ed167a80
VS
15012012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
1504 loop check using Brent algorithm.
1505 (grub_hfsplus_btree_search): Likewise.
1506
6753c0ec
VS
15072012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * util/grub-install.in: Fix usage of wrong device for PreP install.
1510
4e27343f
VS
15112012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * conf/Makefile.common (CFLAGS_GNULIB): Add
1514 -Wno-unsafe-loop-optimizations.
1515 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
1516 on tools.
1517 * grub-core/commands/legacycfg.c: Add pragma to skip
1518 -Wunsafe-loop-optimizations.
1519 (check_password_md5_real): Fix loop counter type.
1520 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
1521 reading.
1522 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
1523 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
1524 loop condition.
1525 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
1526 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
1527 * grub-core/net/net.c (grub_net_route_address): Add safety loop
1528 condition.
1529 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
1530 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
1531 avoid possible infinite loops.
1532 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
1533 and -Wunsafe-loop-optimizations.
1534 * grub-core/script/yylex.l: Likewise.
1535 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
1536 (print_glyphs): Avoid infinite loops.
1537 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
1538
697f18b0
GS
15392012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
1540
1541 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
1542 to avoid infinite loop.
1543 (disp_acpi_rsdt_table): Likewise.
1544
274416e8
VS
15452012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * grub-core/font/font.c (grub_font_load): Add support for default
1548 path for fonts ($prefix/fonts).
1549 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
1550 for checking if string is a path.
1551 * grub-core/normal/main.c (features): Add feature_default_font_path.
1552 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
1553 * util/grub.d/00_header.in: Use default directory if possible.
1554 * util/grub-install.in: Install unicode.pf2.
1555
b3e08622
VS
15562012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
1559 * po/Rules-swiss: New file.
1560 * po/swiss.sed: Likewise.
1561
fe42ce09
VS
15622012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/fs/btrfs.c (find_device): Fix typos.
1565 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
1566 * util/grub-mkrelpath.c (argp_parser): Likewise.
1567 Reported by: Yuri Chornoivan.
1568
72f1d065
DO
15692012-02-23 Dalet Omega <daletomega@gmail.com>
1570
1571 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
1572 for usual informative messages.
1573
c5884973
DO
15742012-02-23 Dalet Omega <daletomega@gmail.com>
1575
1576 Starfield theme.
1577
1578 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
1579 * conf/Makefile.common: Define starfielddir.
1580 * configure.ac: Configure starfield.
1581 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
1582 * themes/starfield/README: Likewise.
1583 * themes/starfield/blob_w.png: Likewise.
1584 * themes/starfield/boot_menu_c.png: Likewise.
1585 * themes/starfield/boot_menu_e.png: Likewise.
1586 * themes/starfield/boot_menu_n.png: Likewise.
1587 * themes/starfield/boot_menu_ne.png: Likewise.
1588 * themes/starfield/boot_menu_nw.png: Likewise.
1589 * themes/starfield/boot_menu_s.png: Likewise.
1590 * themes/starfield/boot_menu_se.png: Likewise.
1591 * themes/starfield/boot_menu_sw.png: Likewise.
1592 * themes/starfield/boot_menu_w.png: Likewise.
1593 * themes/starfield/slider_c.png: Likewise.
1594 * themes/starfield/slider_n.png: Likewise.
1595 * themes/starfield/slider_s.png: Likewise.
1596 * themes/starfield/src/blob_nw.xcf: Likewise.
1597 * themes/starfield/src/bootmenu/: Likewise.
1598 * themes/starfield/src/bootmenu/center.xcf: Likewise.
1599 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
1600 * themes/starfield/src/bootmenu/side.xcf: Likewise.
1601 * themes/starfield/src/slider_c.xcf: Likewise.
1602 * themes/starfield/src/slider_n.xcf: Likewise.
1603 * themes/starfield/src/slider_s.xcf: Likewise.
1604 * themes/starfield/src/terminalbox/: Likewise.
1605 * themes/starfield/src/terminalbox/center.xcf: Likewise.
1606 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
1607 * themes/starfield/src/terminalbox/side.xcf: Likewise.
1608 * themes/starfield/starfield.png: Likewise.
1609 * themes/starfield/terminal_box_c.png: Likewise.
1610 * themes/starfield/terminal_box_e.png: Likewise.
1611 * themes/starfield/terminal_box_n.png: Likewise.
1612 * themes/starfield/terminal_box_ne.png: Likewise.
1613 * themes/starfield/terminal_box_nw.png: Likewise.
1614 * themes/starfield/terminal_box_s.png: Likewise.
1615 * themes/starfield/terminal_box_se.png: Likewise.
1616 * themes/starfield/terminal_box_sw.png: Likewise.
1617 * themes/starfield/terminal_box_w.png: Likewise.
1618 * themes/starfield/theme.txt: Likewise.
1619
17d73325
VS
16202012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 * util/grub.d/00_header.in: Add missing export theme.
1623
dbebaf92
VS
16242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
1627 already included.
1628 Reported by: Eren D.
1629
3d68bffb
VS
16302012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * conf/Makefile.common (grubdatadir): Removed.
1633 (Makefile.am): Move eveything grubdata to pkgdata.
1634
4b59234d
VS
16352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/commands/acpihalt.c (get_sleep_type):
1638 Remove unused variable.
1639
463dcadc
VS
16402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
1643 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
1644 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
1645 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
1646 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
1647 i18n with gettext no-op.
1648 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
1649 GRUB_ACPI_OPCODE_STRING_CONST.
1650 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
1651 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
1652
e5b90c82
VS
16532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * po/POTFILES.in: Regenerate.
1656
2a704ca9
VS
16572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
1660 -Wno-error=missing-noreturn.
1661
84f9d341
VS
16622012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
1665 condition to avoid possibly infinite loops.
1666 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
1667 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
1668
d46683f9
VS
16692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
1672 condition to avoid possibly infinite loops.
1673
c44866b2
VS
16742012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
1677 on show_error.
1678
96790539
VS
16792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
1682
1ba7e295
VS
16832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
1686
21ffe8f1
VS
16872012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * util/bin2h.c (usage): Add missing attribute noreturn.
1690
0ccb6b3c
VS
16912012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
1694 if the size isn't divisible by 512.
1695
b00d7fb6
VS
16962012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 Make list_push and list_remove functions rather than inline functions
1699 to decrease size and avoid aliasing violations.
1700
1701 * include/grub/list.h (grub_list_push): Move to ...
1702 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
1703 * include/grub/list.h (grub_list_remove): Move to ...
1704 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
1705
9d369087
VS
17062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
1709 and -Wunused-result.
1710
af0250d9
VS
17112012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
1714 Reported by: Seth Goldberg
1715
aad32b14
VS
17162012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
1719
ac96441c
ST
17202012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
1721
1722 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
1723 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
1724 command line.
1725 * docs/grub.texi (Simple configuration): Document
1726 GRUB_CMDLINE_GNUMACH.
1727
17282012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
1729
1730 * conf/Makefile.common (platform_SCRIPTS): New variable.
1731 (platform_PROGRAMS): Likewise.
1732 * gentpl.py: Mark *,module and *.image for install.
1733 * grub-core/gdb_grub.in: Add a notice of expected environment.
1734 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
1735 (gmodule.pl): Likewise.
1736
ac96441c 17372012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
1738
1739 Replace grub_checkkey with grub_getkey_noblock.
1740
1741 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
1742 (grub_getkey_noblock): ... this. All users updated.
1743
ac96441c 17442012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
1745
1746 * grub-core/kern/emu/console.c: Move to ...
1747 * grub-core/term/emu/console.c: ...here.
1748 (grub_ncurses_getkey): Fix return value if no key is detected.
1749
e51b5666
VS
17502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
1753 (grub_unit_test_fini): Likewise.
1754 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
1755
17562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * include/grub/test.h (GRUB_UNIT_TEST)
1759
d9a62292
VS
17602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * grub-core/script/execute.c (grub_script_break): Clarify logic.
1763 Better error handling.
1764 (grub_script_return): Likewise.
1765 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
1766
77c9182f
VS
17672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
1770 rimplicit redifinition.
1771
edb13cf9
VS
17722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
1775 GRUB.
1776
a9e9dc7c
VS
17772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
1780 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
1781 prompt here.
1782
b4ba8e02
VS
17832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
1786 as GRUB_ERR_BUG. Don't malloc if no device is available.
1787
dded5540
VS
17882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
1791 Mark calling with invalid term as GRUB_ERR_BUG.
1792
0cf69874
VS
17932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
1796 packets rather than raising an error.
1797
59bfe502
VS
17982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
1801 in if.
1802
db5fc596
VS
18032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
1806 diagnostic to dprintf.
1807 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1808
e4b7f404
VS
18092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
1812 device name.
1813
e7b02f9e
VS
18142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
1817 (grub_ntfs_iterate_dir): Likewise.
1818
0331e102
VS
18192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 Efiemu stylistic fixes and gettext.
1822
1823 * grub-core/efiemu/i386/loadcore32.c
1824 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
1825 * grub-core/efiemu/i386/loadcore64.c
1826 (grub_arch_efiemu_relocate_symbols64): Likewise.
1827 * grub-core/efiemu/i386/pc/cfgtables.c
1828 (grub_machine_efiemu_init_tables): Likewise.
1829 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
1830 (grub_efiemu_loadcore_initXX): Add a filename argument.
1831 All users updated.
1832 Improved error message.
1833 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
1834 Add a filename argument.
1835 All users updated.
1836 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
1837 Reclassify double relocation as GRUB_ERR_BUG.
1838
306fc074
VS
18392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
1842 handling.
1843
794d8ef2
VS
18442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
1847 on partition.
1848
18492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
1850
1851 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
1852
794d8ef2 18532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
1854
1855 Improve string. Gettextize.
1856
78dde88e
VS
18572012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
1860 utils.
1861 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
1862
4786a90f
VS
18632012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
1866 [GRUB_UTIL]: New function.
1867 (insert_array) [GRUB_UTIL]: Store partmaps.
1868 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
1869 partmaps.
1870 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
1871 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
1872 (probe_abstraction): Print diskfilter and not raid.
1873 Reported by: Lennart Sorensen
1874
0b6225bd
VS
18752012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
1878 * util/grub-mkimagexx.c (MASK3): New define.
1879 (add_value_to_slot_20b): Use MASK3.
1880 (add_value_to_slot_21): Likewise.
1881 (relocate_addresses): Fix format specification.
1882 (load_image): Explicitly init symtab_section.
1883
b055f8f6
VS
18842012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1885
1886 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
1887 (grub_util_biosdisk_get_grub_dev): Fix format specification.
1888
b77c2fb7
VS
18892012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
1892 on powerpc.
1893 Reported by: Lennart Sorensen
1894
e3ec28ab
VS
18952012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * gentpl.py: Add missing license header.
1898 * docs/grub.texi: Update copyright year.
1899
c8d9ead6
GS
19002012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
1901
1902 Source grub-mkconfig_lib from the build directory at build time.
1903 Suggested by: Vladimir Serbinenko.
1904
1905 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
1906 * util/grub-install.in: Define pkgdatadir if not already set, and source
1907 grub-mkconfig_lib from there.
1908 * util/grub-kbdcomp.in: Likewise.
1909 * util/grub-mkconfig.in: Likewise.
1910 * util/grub-mknetdir.in: Likewise.
1911 * util/grub-mkrescue.in: Likewise.
1912 * util/grub-mkstandalone.in: Likewise.
1913 * util/grub-reboot.in: Likewise.
1914 * util/grub-set-default.in: Likewise.
1915 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1916
ebcecdf1
VS
19172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 Increase warning level.
1920
1921 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
1922 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
1923 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
1924 (TARGET_CFLAGS): Likewise.
1925 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
1926 * grub-core/Makefile.core.def (decompressor_xz): Add
1927 -Wno-unreachable-code.
1928 (normal): Add -Wno-redundant-decls.
1929 (xzio): Add -Wno-unreachable-code.
1930 (lzopio): Add -Wno-redundant-decls -Wno-error.
1931 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
1932 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
1933 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
1934 * grub-core/kern/dl.c: Add exception to -Wcast-align.
1935 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
1936 * grub-core/kern/i386/coreboot/init.c: Add exception to
1937 -Wsuggest-attribute=noreturn.
1938 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
1939 * grub-core/kern/ia64/dl_helper.c: Likewise.
1940 * grub-core/kern/mips/dl.c: Likewise.
1941 * grub-core/kern/sparc64/dl.c: Likewise.
1942 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
1943 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
1944 (memcmp): Likewise.
1945 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
1946 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
1947 * grub-core/loader/mips/linux.c: Likewise.
1948 * grub-core/loader/multiboot_elfxx.c: Likewise.
1949 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
1950 * grub-core/video/sm712.c: Add exception to -Wcast-align.
1951 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
1952 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
1953 fixme.
1954 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
1955 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
1956 Fix prototype.
1957
37bb97fe
VS
19582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
1961 address.
1962
29a3550b
VS
19632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
1966 Avoid improper use of strings.
1967 (grub_cmd_legacy_initrdnounzip): Likewise.
1968
dfdffd0d
VS
19692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * include/grub/emu/misc.h (grub_util_warn): Add missing format
1972 attribute.
1973 (grub_util_info): Likewise.
1974 (grub_util_error): Likewise.
1975
102fae4a
VS
19762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
1979 * util/grub-fstest.c (fstest): Likewise.
1980
7e94d044
VS
19812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
1984 (grub_md_sha512_real): Likewise.
1985 (grub_util_get_geli_uuid): Likewise.
1986 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
1987 (grub_util_biosdisk_open): Fix format specification.
1988 Respect format security.
1989 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
1990 (xrealloc): Likewise.
1991 (xasprintf): Likewise.
1992
5ebd9769
VS
19932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * util/import_gcry.py: Include grub/crypto.h in init.c.
1996
495fc8c1
VS
19972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2000 (generate_image): Make prefix a const char *.
2001 Fix format specifications. Respect format security.
2002 Avoid void * arithmetics.
2003 Avoid shadowing.
2004 (argp_parser): Remove unused variable. Respect format security.
2005 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2006 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2007 (count_funcs): Remove unused variable.
2008 (relocate_addresses): Fix format specification.
2009 Disable x86-64 with elf32. Remove unused variables.
2010 (add_fixup_entry): Avoid shadowing.
2011 (make_reloc_section): Fix format specification.
2012 Use assert.
2013 (locate_sections): Fix format specifications.
2014 (load_image): Avoid shadowing.
2015
043c2ea3
VS
20162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2019 Fix format specifications. Respect format security.
2020 Don't translate already translated grub_errmsg.
2021 (argp_parser): Remove unused variable
2022
3ec65a81
VS
20232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2026
a4d9fe4a
VS
20272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2030 (main): Likewise. Use xmalloc. Respect format security.
2031
15b81d49
VS
20322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2035 a const char *.
2036 (argp_parser): Remove unused variable.
2037
31731fc0
VS
20382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2041 (add_pixel): Make static.
2042 (add_font): Likewise.
2043 (write_string_section): Make name and str a const char *.
2044 (write_be16_section): Make name a const char *.
2045 (print_glyphs): Make static.
2046 (write_font_ascii_bitmap): Likewise.
2047 (write_font_width_spec): Likewise.
2048 (write_font_pf2): Likewise.
2049 (argp_parser): Remove unused variable.
2050 Respect format security.
2051 (main): Avoid shadowing. Respect format security.
2052
0809527b
VS
20532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * util/grub-editenv.c (argp_parser): Make static.
2056 (create_envblk_file): Use xmalloc.
2057 (open_envblk_file): Likewise.
2058 Resepect format security.
2059 (set_variables): Respect format security.
2060
45b0c8b7
VS
20612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * util/getroot.c (grub_find_device): Respect format security.
2064 (get_mdadm_uuid): Remove unused variable.
2065 (grub_util_pull_device): Dont call gettext on already translated
2066 grub_errmsg.
2067 (find_system_device): Remove unused variable.
2068 (grub_util_get_grub_dev): Likewise.
2069 (grub_make_system_path_relative_to_its_root): Respect format security.
2070
1b024b4e
VS
20712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * util/grub-fstest.c (execute_command): Make first argument
2074 a const char *.
2075 (read_file): Avoid shadowing.
2076 Reuse underlying error message if device open fails.
2077 (cmd_cmp): Respect format security.
2078 (root): Make const char *.
2079 (fstest): Remove args argument and use global copy.
2080 Respect format security.
2081 (argp_parser): Make static.
2082 (main): Make default_root const char *.
2083
5d1d4e28
VS
20842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * util/grub-mount.c (root): Make const char *.
2087 (execute_command): Make first argument a const char *.
2088 (fuse_init): Respect format security.
2089 (argp_parser): Make static. Remove unused variable.
2090 (main): Make default_root a const char *.
2091 Respect format security.
2092
36eb7379
VS
20932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * util/grub-probe.c (probe): Don't call gettext on already translated
2096 grub_errmsg.
2097 Remove unused variables.
2098 (argp_parser): Remove unused variable.
2099
76fb2ea9
VS
21002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * util/grub-script-check.c (argp_parser): Remove unused variable.
2103 (main): Rename read to curread to avoid shadowing.
2104
56c98584
VS
21052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * util/misc.c (grub_util_write_image_at): Fix format specification.
2108 (grub_util_write_image): Likewise.
2109 (grub_script_execute_argument_to_string): Removed (unused).
2110 (grub_script_execute_menuentry): Likewise.
2111 (grub_putchar): Likewise.
2112
164ebb48
VS
21132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
2116 (FUNCTION) [GRUB_UTIL]: Likewise.
2117 (VARIABLE) [GRUB_UTIL]: Likewise.
2118
44318d61
VS
21192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
2122 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
2123
31a26002
VS
21242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
2127 buffer.
2128
21292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
2132 (LzmaEnc_SaveState): Removed (unused).
2133 (LzmaEnc_RestoreState): Likewise.
2134 (LzmaEnc_InitPriceTables): Made static.
2135 (LzmaEnc_Construct): Likewise.
2136 (LzmaEnc_FreeLits): Likewise.
2137 (LzmaEnc_Destruct): Likewise.
2138 (LzmaEnc_Init): Likewise.
2139 (LzmaEnc_InitPrices): Likewise.
2140 (LzmaEnc_Finish): Likewise.
2141 (LzmaEnc_PrepareForLzma2): Removed (unused).
2142 (LzmaEnc_MemPrepare): Likewise.
2143 (LzmaEnc_GetNumAvailableBytes): Likewise.
2144 (LzmaEnc_GetCurBuf): Likewise.
2145 (LzmaEnc_CodeOneMemBlock): Likewise.
2146
6fa67967
VS
21472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
2150 (grub_util_ldm_embed): Likewise.
2151
9a7428e6
VS
21522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * util/grub-editenv.c (print_var): Rename name to varname to
2155 avoid shadowing.
2156 (main): Rename index to curindex to avoid shadowing.
31a26002 2157 Make filename a const char *.
9a7428e6 2158
4f96abd1
VS
21592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2162 to arg_getline to avoid shadowing.
2163
44d10dad
VS
21642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
2167 disk_ to avoid shadowing.
2168
340ba63e
VS
21692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
2172 curindex to avoid shadowing.
2173 Make static.
2174 (MatchFinder_GetNumAvailableBytes): Make static.
2175
22965bce
VS
21762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
2179 avoid shadowing.
2180
7b5784d4
VS
21812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
2184 argument from encrypt to do_encrypt to avoid shadowing.
2185
6f48ca01
VS
21862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
2189 incorrect nesting of #if's.
2190
a4ea2dff
VS
21912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
2194 checks which are always false on some platforms.
2195 (grub_cmd_lsacpi): Likewise.
2196 * grub-core/kern/misc.c (grub_strtoul): Likewise.
2197 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
2198 Likewise.
2199
def9fc1b
VS
22002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
2203 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
2204
a67b2a04
VS
22052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
2208 re_dfa_t to avoid breaking alignment invariants.
2209 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
2210 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
2211
44c6828d
VS
22122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
2215 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
2216
bebe0dd0
VS
22172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
2220 Fix declaration.
2221
a9cdb3cf
VS
22222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
2225 conserve alignment invariants.
2226 (grub_ehci_ehcc_read16): Likewise.
2227 (grub_ehci_oper_read32): Likewise.
2228 (grub_ehci_oper_write32): Likewise.
2229 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2230 Conserve alignment invariants.
2231
ccc3b1b8
VS
22322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
2235 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
2236 declarations.
2237
987fbd95
VS
22382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
2241 Remove unused variable.
2242
0df363f3
VS
22432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
2246 Remove set in if.
2247
b2c0c4a6
VS
22482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * include/grub/net.h: Remove double declarations.
2251
690c531f
VS
22522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 Remove "payload" command in ia64 Linux loader since I couldn't
2255 find any evidence of it being used for anything.
2256 Replace "relocate" command with an environment variable
2257
2258 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
2259 fields.
2260 (ia64_boot_payload): Removed.
2261 (last_payload): Likewise.
2262 (RELOCATE_OFF): Likewise.
2263 (RELOCATE_ON): Likewise.
2264 (RELOCATE_FORCE): Likewise.
2265 (relocate): Likewise.
2266 (free_pages): Don't free payloads.
2267 (grub_load_elf64): Use common error messages.
2268 Use "linux_relocate" variable.
2269 Increase the space after boot_params.
2270 (grub_cmd_payload): Removed.
2271 (grub_cmd_relocate): Likewise.
2272 (grub_cmd_fpswa): Improve messages.
2273 (cmd_payload): Removed.
2274 (cmd_relocate): Likewise.
2275 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
2276 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
2277
01783768
VS
22782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 Convert UHCI to DMA framework.
2281
2282 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
2283 (grub_uhci_pci_iter): Fill new members
2284 (grub_alloc_td): Use P2V and V2P functions.
2285 (grub_free_queue): Likewise.
2286 (grub_alloc_qh): Likewise.
2287 (grub_uhci_setup_transfer): Likewise.
2288 (grub_uhci_check_transfer): Likewise.
2289
43206939
VS
22902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
2293 Remove assignment in if while on it.
2294
571e140e
VS
22952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * util/grub-mkstandalone.in: Fix modules directory.
2298
a9d96eeb
VS
22992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
2302 on i386-pc target.
2303 (argp_parser): Accept "auto" as compression specification.
2304
e4e37e8d
VS
23052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 Fix `help' with unloaded modules.
2308
2309 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
2310 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
2311 (grub_dyncmd_dispatcher): Small stylistic fix.
2312 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
2313 explicit help is requested.
2314
e1ea3ade
VS
23152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
2318 Explicitly init restart while on it.
2319
27556881
VS
23202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
2323 uninited variable.
2324
d65f6b36
VS
23252012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * util/grub-mknetdir.in: Use . rather than source for POSIX
2328 compatibility.
2329
0a1e473c
VS
23302012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
2333
ce6647c8
VS
23342012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
2337 variable.
2338
66747894
VS
23392012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
2342 without quotes.
2343
71645f6e
VS
23442012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
2347
0e1c1f61
VS
23482012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
2351 iteration of partitions.
2352
9c4b5c13
VS
23532012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 Improve gettext support. Stylistic fixes and error handling fixes while
2356 on it.
2357
215c90cb
VS
23582012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
2361 part. Instead setup the correct stack in RM.
2362 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
2363 for stack.
2364 * include/grub/i386/relocator_private.h: New file.
2365
b5c1f9bf
VS
23662012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
2369 argument.
2370 * util/grub-fstest.c (options): Add missing DEVICE part.
2371
b525fd83
VS
23722012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 Clarify and unify messages.
2375
2376 * grub-core/commands/hashsum.c (options): Unify messages.
2377 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
2378 literal-only message as translatable.
2379 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
2380 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
2381 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
2382 commands.
2383 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
2384 key, not the key used to unlock. Clarify what it's used for.
2385 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
2386 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
2387 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
2388 * util/grub-editenv.c (options): Unify "verbose" message.
2389 * util/grub-fstest.c (read_file): Unify error message.
2390 (fstest): Add quotes around commands.
2391 (options): Unify "verbose" message.
2392 * util/grub-install.in: Add quotes around variable name.
2393 * util/grub-kbdcomp.in: Unify error message.
2394 * util/grub-mkfont.c (main): Likewise.
2395 * util/grub-mkrescue.in: Likewise.
2396 * util/grub-mklayout.c (options): Unify "verbose" message.
2397 * util/grub-mkstandalone.in: Unify help and verbose messages.
2398 * util/grub-mount.c (options): Unify "verbose" message.
2399 * util/grub-probe.c (options): Likewise.
2400 * util/grub-script-check.c (options): Likewise.
2401 * util/grub-setup.c (setup): Unify no-terminator message.
2402 (options): Use DEVICE and not DEV.
2403 Unify "verbose" message.
2404 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
2405
0ae70393
VS
24062012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 Improve and unify messages.
2409
2410 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
2411 name. All users updated.
2412 Print filename in error.
2413 (read_device_map): Print filename in error.
2414 * util/getroot.c (grub_guess_root_devices): Print filename in error.
2415 (grub_util_get_os_disk): Likewise.
2416 (grub_util_biosdisk_get_grub_dev): Likewise.
2417 (grub_util_check_block_device): Likewise.
2418 (grub_util_check_char_device): Likewise.
2419 (grub_make_system_path_relative_to_its_root): Likewise.
2420 * util/grub-editenv.c (create_envblk_file): Likewise.
2421 (open_envblk_file): Likewise.
2422 (write_envblk): Likewise.
2423 * util/grub-fstest.c (cmd_cp): Likewise.
2424 (cmd_cat): Likewise.
2425 (cmd_cmp): Likewise.
2426 * util/grub-menulst2cfg.c (main): Likewise.
2427 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
2428 (write_font_width_spec): Likewise.
2429 (write_font_pf2): Likewise.
2430 * util/grub-mkimage.c (generate_image): New argument outname.
2431 All users updated.
2432 Remove unreacheable message.
2433 (options): Unify messages.
2434 (help_filter): Likewise.
2435 * util/grub-mklayout.c (usage): Removed (unused).
2436 (main): Print filename in error.
2437 * util/grub-mkrescue.in: Fix wrong quoting.
2438 * util/grub-setup.c (setup): Print filename in error.
2439 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
2440 (check_sas): Likewise.
2441 * util/misc.c (grub_util_get_fp_size): Removed.
2442 (grub_util_get_image_size): Print filename in error.
2443 (grub_util_read_at): Removed.
2444 (grub_util_read_image): Print filename in error.
2445 (grub_util_load_image): Likewise.
2446 (grub_util_write_image_at): New argument filename. All users updated.
2447 Print filename in error.
2448 (grub_util_write_image): New argument filename. All users updated.
2449 Print filename in error.
2450 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
2451 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
2452
0a96117d
VS
24532012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * grub-core/Makefile.core.def (pxechain): New module.
2456 * grub-core/loader/i386/pc/pxechainloader.c: New file.
2457 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
2458 function.
2459 (grub_pc_net_config_real): Use grub_pxe_get_cached.
2460 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
2461
aca002f7
VS
24622012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
2465 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
2466 * include/grub/err.h (grub_error_saved): New struct.
2467 (grub_errmsg): Make array size explicit.
2468 * include/grub/misc.h (grub_error_save): New function.
2469 (grub_error_load): Likewise.
2470 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
2471 (grub_error_push): Update `errno' member name.
2472 (grub_error_pop): Likewise
2473 * grub-core/net/tftp.c (tftp_data): New member save_err.
2474 (tftp_receive): Save error.
2475 (tftp_open): Restore error.
2476
a51dab13
VS
24772012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
2480 to real mode down to execute A20-related code in protected mode as
2481 intended.
2482
eb6e6649
GS
24832012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2484
2485 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
2486 NULL when the argument `level' has an unexpected value.
2487
92cd0f6e
VS
24882012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 Move platform-dependent files from $prefix to $prefix/$platform.
2491
2492 * config.h.in (GRUB_TARGET_CPU): New definition.
2493 (GRUB_PLATFORM): Likewise.
2494 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
2495 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
2496 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2497 * grub-core/kern/dl.c (grub_dl_load): Likewise.
2498 * grub-core/normal/autofs.c (read_fs_list): Likewise.
2499 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
2500 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
2501 * grub-core/normal/term.c (read_terminal_list): Likewise.
2502 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
2503 $prefix/locale.
2504 (grub_gettext_init_ext): Likewise.
2505 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
2506 grub_platform.
2507 * util/grub-install.in: Update directories.
2508 * util/grub-mknetdir.in: Likewise.
2509 * util/grub-mkrescue.in: Likewise.
2510
db606889
VS
25112012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
2514 grub_error framework. All users updated.
2515
c39992a4
VS
25162012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
2519 lists (by always binsearching), improve caching (cache strings
2520 used for binsearch, not only results), improve
2521 maintainability (by using more structured binary search) and correct
2522 error handling.
2523
1e5ec32f
VS
25242012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * grub-core/script/execute.c (grub_script_return): Fix warning.
2527
ac576cde
VS
25282012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * grub-core/script/execute.c (grub_script_return): Fix potential
2531 NULL-dereference.
2532 Reported by: Jim Meyering.
2533
498453f6
VS
25342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 * po/POTFILES.in: Regenerate.
2537 * util/grub-install.in: Gettextize the strings missed in first pass.
2538
8be63f2e
VS
25392012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 * Makefile.util.def (grub-mkdevicemap): Removed.
2542 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
2543 * include/grub/util/deviceiter.h: Removed.
2544 * util/deviceiter.c: Likewise.
2545 * util/getroot.c (grub_util_get_os_disk): New function.
2546 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
2547 replacement for EFI.
2548 * util/grub-mkdevicemap.c: Removed.
2549 * util/grub-probe.c (probe): Handle PRINT_DISK.
2550 (argp_parser): Handle -t disk.
2551
8e1e4e39
VS
25522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 * util/grub-mkfont.c: Migrate to argp.
2555 * util/grub-mklayout.c: Likewise.
2556 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2557 * util/grub-mkrelpath.c: Likewise.
2558 * util/grub-probe.c: Likewise.
2559 * util/grub-script-check.c: Likewise.
2560
4459819a
VS
25612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * util/grub-reboot.in: Add missing datarootdir.
2564 Add missing newline.
2565 * util/grub-set-default.in: Add missing datarootdir.
2566 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
2567 * util/grub-mkrescue.in: Likewise.
2568
f65741c7
VS
25692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
2572
c1a33466
VS
25732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2574
2575 * util/grub-kbdcomp.in: Add decent help and gettextize.
2576 * docs/man/grub-kbdcomp.h2m: New file.
2577
c76899a0
VS
25782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 Migrate grub-mkimage.c to argp.
2581
2582 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
2583 (grub-setup): Likewise.
2584 * util/grub-setup.c (print_version): Move to ...
2585 * util/argp_common.c (print_version): ... here.
2586 * util/grub-setup.c (argp_program_version_hook): Move to ...
2587 * util/argp_common.c (argp_program_version_hook): ... here.
2588 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
2589 safety.
2590 * util/grub-mkimage.c (main): Migrate to argp.
2591
57db0757
VS
25922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * util/grub-mkrescue.in: Use same message as
2595 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
2596 for better translations.
2597
18534ad9
VS
25982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
2601 options with generic grub-mkrescue.in with the goal of future
2602 merge.
2603
c84ba308
VS
26042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * grub-core/kern/mm.c: Add missing include of i18n.h
2607 * grub-core/lib/relocator.c: Likewise.
2608
347998c2
VS
26092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
2612 error.
2613 (allocate_pages): Check return value.
2614 Replace fatal with error.
2615 (grub_linux_boot): Replace printf with dprintf.
2616 Check find_mmap_size return value.
2617 Replace fatal with error.
2618 Don't call grub_machine_fini.
2619 (grub_load_elf64): Replace printf with dprintf.
2620 (grub_cmd_linux): Likewise.
2621 (grub_cmd_initrd): Likewise.
2622 (grub_cmd_payload): Likewise.
2623
c779226e
VS
26242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
2627 message.
2628 * grub-core/video/radeon_fuloong2e.c
2629 (grub_video_radeon_fuloong2e_setup): Likewise.
2630 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
2631 * grub-core/video/video.c (grub_video_set_mode): Don't override
2632 standard out of memory message.
2633
dc87d45a
GS
26342012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2635
2636 NetBSD disk wedge support.
2637
2638 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
2639 [__NetBSD__]: Handle NetBSD disk wedges.
2640 * util/getroot.c (convert_system_partition_to_system_disk)
2641 [__NetBSD__]: Likewise.
2642
055f856f
MW
26432012-02-03 Mark Wooding <mdw@distorted.org.uk>
2644
2645 * util/grub-mkconfig.in: Use umask rather than chmod to create
2646 grub.cfg.new to avoid insecure grub.cfg.
2647
4a9f8346
VS
26482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/commands/ls.c: Gettextize.
2651 * grub-core/commands/setpci.c: Likewise.
2652 * grub-core/commands/videotest.c: Likewise.
2653 * grub-core/disk/geli.c: Likewise.
2654 * grub-core/kern/mm.c: Likewise.
2655 * grub-core/lib/relocator.c: Likewise.
2656 * grub-core/loader/efi/appleloader.c: Likewise.
2657 * grub-core/loader/i386/xnu.c: Likewise.
2658 * grub-core/loader/ia64/efi/linux.c: Likewise.
2659 * grub-core/loader/xnu.c: Likewise.
2660 * grub-core/net/dns.c: Likewise.
2661 * grub-core/net/net.c: Likewise.
2662 * grub-core/script/lexer.c: Likewise.
2663 * grub-core/script/parser.y: Likewise.
2664 * grub-core/script/yylex.l: Likewise.
2665 * util/getroot.c: Likewise.
2666 * util/grub-setup.c: Likewise.
2667
a646a366
VS
26682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
2671 number.
2672
54e2be26
VS
26732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
2676
f7c71e68
VS
26772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
2680 macro.
2681 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
2682 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
2683
a32d5c71
VS
26842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
2687 * util/grub-install.in: Gettextize.
2688 * util/grub-mkconfig.in: Likewise.
2689 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
2690 if not available.
2691 (grub_warn): Gettextize.
2692 * util/grub-mknetdir.in: Gettextize.
2693 * util/grub-mkrescue.in: Likewise.
2694 * util/grub-mkstandalone.in: Likewise.
2695 * util/grub-reboot.in: Likewise.
2696 * util/grub-set-default.in: Likewise.
2697 * util/grub.d/00_header.in: Likewise.
2698 * util/grub.d/10_hurd.in: Likewise.
2699 * util/grub.d/10_kfreebsd.in: Likewise.
2700 * util/grub.d/10_linux.in: Likewise.
2701 * util/grub.d/10_netbsd.in: Likewise.
2702 * util/grub.d/10_windows.in: Likewise.
2703 * util/grub.d/20_linux_xen.in: Likewise.
2704 * util/grub.d/30_os-prober.in: Likewise.
2705 * po/POTFILES-shell.in: Regenerate.
2706
69edd81a
RL
27072012-02-03 Richard Laager <rlaager@wiktel.com>
2708
2709 * util/grub-mkimage.c (main): Fix format-security warning.
2710 * util/grub-mkrelpath.c (main): Likewise.
2711 * util/grub-probe.c (main): Likewise.
2712
65f08dbf
RL
27132012-02-03 Richard Laager <rlaager@wiktel.com>
2714
2715 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
2716 failure.
2717 Put back lost PRINT_DRIVE.
2718
e9084abe
RL
27192012-02-03 Richard Laager <rlaager@wiktel.com>
2720
2721 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
2722 (grub_guess_root_devices): Replace strlen with sizeof.
2723 Avoid crash.
2724 (find_root_devices_from_poolname): Remove unused variable.
2725 Handle raidzN.
2726
cf5f7ee7
VS
27272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 Support install on multi-device filesystems.
2730
2731 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
2732 (grub_guess_root_devices): ...this. Return char **. All users updated.
2733 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
2734 Removed.
2735 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
2736 (find_root_devices_from_poolname): ... here.
2737 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
2738 Support zfs-fuse.
2739 (grub_guess_root_device): Rename to ...
2740 (grub_guess_root_devices): ... this. Return char **. All users updated.
2741 * util/grub-install.in: Handle multi-device filesystems.
2742 * util/grub-probe.c (probe). Make device_names a char **. Add delim
2743 argument. All users updated.
2744 Handle multi-device filesystems.
2745 Use 'delim' as separator.
2746 Remove device check to allow filesystems on file.
2747 (main): Support -0 argument. Handle multi-device.
2748 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
2749 Fix a cross-device check while on it.
2750 (arguments): Remove root_dev.
2751 (argp_parser): Remove -r.
2752 (main): Remove root_dev.
2753
2f53a9ed
VS
27542012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
2757
17e1d934
VS
27582012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
2761 symbol.
2762 Reported by: NODA, Kai <nodakai>.
2763
d3e3fab5
VS
27642012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 Fix ehci on amd64.
2767
2768 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
2769 pointers.
2770 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
2771 (grub_ehci_setup_qh): Likewise.
2772 (grub_ehci_find_qh): Likewise.
2773 (grub_ehci_transaction): Likewise.
2774 (grub_ehci_setup_transfer): Likewise.
2775 (grub_ehci_check_transfer): Likewise.
2776 (grub_ehci_portstatus): Likewise.
2777 (grub_ehci_detect_dev): Likewise.
2778 (grub_ehci_transfer_controller_data): New field td_last_phys.
2779 (grub_ehci_setup_transfer): Fill td_last_phys.
2780 (grub_ehci_check_transfer): Use td_last_phys.
2781
3008675b
SG
27822012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
2783
2784 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
2785 if no submenu is present.
2786
fc9b5652
AN
27872012-02-01 Aleš Nesrsta <starous@volny.cz>
2788
2789 CBI support.
2790
2791 * include/grub/usb.h (grub_usbms_protocol_t): New values
2792 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
2793 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
2794 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
2795 (grub_usbms_dev): Add subclass, protocol and intrpt.
2796 Remove in_maxsz and out_maxsz.
2797 (grub_usbms_reset): Rename to ...
2798 (grub_usbms_bo_reset): .. this.
2799 (grub_usbms_cbi_cmd): New function.
2800 (grub_usbms_cbi_reset): Likewise.
2801 (grub_usbms_reset): Likewise.
2802 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
2803 (grub_usbms_transfer): Rename to ...
2804 (grub_usbms_transfer_bo): ... this.
2805 (grub_usbms_transfer_cbi): Likewise.
2806 (grub_usbms_transfer): Likewise.
2807
a2b81d53
AN
28082012-02-01 Aleš Nesrsta <starous@volny.cz>
28092012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
2812 the support for the CS5536 modification thereos and few bugfixes.
2813
2814 * grub-core/Makefile.core.def (ehci): New module.
2815 * grub-core/bus/usb/ehci.c: New file.
2816 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
2817 port and hubaddr. All users updated.
2818 Save port and hubaddr into dev structure.
2819 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
2820 define.
2821 * include/grub/pci.h (grub_dma_phys2virt): New function.
2822 (grub_dma_virt2phys): Likewise.
2823 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
2824
b1d51f02
VS
28252012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
2828 check as some mkfs implementations omit it.
2829
fc694106
VS
28302012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * docs/grub.texi (Unicode): Mention identifier and space limitations.
2833
6c0920e3
VS
28342012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
2837 Add new member volname2.
2838 (grub_jfs_label): Use volname2 if available.
2839
d1a46f9a
VS
28402012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
2843 over last_mounted as seen in image generated by mkfs.nilfs2.
2844 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
2845
dec8ed14
VS
28462012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
2849 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
2850 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
2851
7397c69b
VS
28522012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
2855 over the sector.
2856
b3fe42ad
VS
28572012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
2860 subvolume name (by removing a bogus and useless check).
2861
10476bb0
VS
28622012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
2865 sizeof while on it.
2866
9c08ad87
VS
28672012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
2870 (grub_scsi_read_capacity10): ... this.
2871 (grub_scsi_read_capacity16): New function.
2872 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
2873 0xffffffff.
2874 Fix off-by-one error.
2875 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
2876 64-bit unsigned.
2877 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
2878 (grub_scsi_read_capacity10): ... this.
2879 (grub_scsi_read_capacity_data): Rename to ...
2880 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
2881 (grub_scsi_read_capacity16): New struct.
2882 (grub_scsi_read_capacity16_data): Likewise.
2883 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
2884 grub_scsi_cmd_read_capacity10.
2885 New command grub_scsi_cmd_read_capacity16.
2886
bc8d0f45
VS
28872012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 SCSI >2TiB support.
2890
2891 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
2892 (grub_scsi_write16): Likewise.
2893 (grub_scsi_read): Use read16 when necessary.
2894 (grub_scsi_write): Likewise.
2895 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
2896 (grub_scsi_write16): Likewise.
2897 (grub_scsi_cmd_t): Add READ16 and WRITE16.
2898
cc774926
VS
28992012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 SCSI write support (for usbms mainly).
2902
2903 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
2904 a const pointer.
2905 (grub_scsi_write): Implement.
2906 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
2907
67639fd7
VS
29082012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
2911 variable.
2912
9079d3ed
VS
29132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * grub-core/lib/posix_wrap/string.h (memchr): New function.
2916
c6a6f204
VS
29172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * po/POTFILES.in: Regenerate.
2920
ecbf8cd1
VS
29212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
2924 with grub_printf to avoid unnecessary fatal failure.
2925
0b3b3b38
VS
29262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
2929 (INT_MAX): Likewise.
2930 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
2931 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
2932 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
2933 (strcpy): Likewise.
2934 (strstr): Likewise.
2935 (strchr): Likewise.
2936 (strncpy): Likewise.
2937 (strcat): Likewise.
2938 (strncat): Likewise.
2939 (strcoll): Likewise.
2940 * include/grub/types.h (GRUB_SHRT_MAX): New define.
2941 (GRUB_INT_MAX): Likewise.
2942
db7337a3
VS
29432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
2946 unexpected error.
2947 (optimize_utf8): Likewise.
2948 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
2949
f37c87e1
VS
29502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * grub-core/boot/i386/pc/lnxboot.S: Use
2953 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
2954 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
2955 location.
2956 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
2957 definition.
2958 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
2959
63fe43f3
VS
29602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
2963 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
2964 now to avoid double free.
2965 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
2966 hostdisk.
2967 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
2968 * util/grub-probe.c (escape_of_path): Always return a new copy.
2969 (print_full_name): Escape path.
2970 (probe): Don't call grub_util_devname_to_ofpath on NULL.
2971 Fix hints on abstractions.
2972
ebe2c961
VS
29732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
2976 Don't add "root" line if no compatibility hont is available.
2977 Suggested by: Seth Goldberg.
2978
2b5336a2
VS
29792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
2982 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
2983 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
2984 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
2985
74310bd8
VS
29862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
2989
c30582ba
VS
29902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * util/grub-pe2elf.c (ehdr): Make static.
2993 (shdr): Likewise.
2994 (num_sections): Likewise.
2995 (offset): Likewise.
2996
5f47782c
VS
29972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 Eliminate ofpath limits and possible overflows.
3000
3001 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3002 (OF_PATH_MAX): Removed.
3003 (MAX_DISK_CAT): New const.
3004 (find_obppath): Use allocated rather than preallocated buffer.
3005 Return result. Argument of_path removed. All users updated.
3006 Add missing fdstat.
3007 (xrealpath): New function.
3008 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3009 Allocate rather than use preallocated buffer. All users updated.
3010 (__of_path_common): Use allocated rather than preallocatecd buffer.
3011 Return result. Argument of_path removed. All users updated.
3012 (vendor_is_ATA): Read only needed part form the file.
3013 (check_sas): Allocate depending on contents rather than fixed.
3014 (main) [STANDALONE]: Handle NULL result.
3015
f990cbf9
VS
30162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3019
9c6e84b8
VS
30202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 Cryptodisk write support.
3023
3024 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3025 (grub_cryptodisk_decrypt): Moved logic to ...
3026 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3027 (grub_cryptodisk_write): Implement.
3028 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3029 (grub_util_fd_write): ... this. Make global.
3030 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3031
87cf9744
VS
30322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 * include/grub/list.h (grub_list_remove): Don't crash if element is
3035 removed twice.
3036
ca8c0baf
VS
30372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 Rename ofconsole to console.
3040
3041 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3042 as sysnonym to console.
3043 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3044 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3045 Rename grub_ofconsole_ to grub_console_. All users updated
3046 (grub_console_term_output): Rename "ofconsole" to "console".
3047 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3048 as "console".
3049
64c8b8f6
VS
30502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3053 handling.
3054 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3055 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3056 GRUB_DISK_DEVICE_FILE_ID.
3057
f6c434d5
VS
30582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3061 and improve performance.
3062
5858b42d
VS
30632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
3066 missing ieee1275/ prefix on whole disk.
3067
4ed3c26b
VS
30682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3069
3070 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
3071 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
3072
df71143e
VS
30732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
3076
076e7c0f
VS
30772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 Merge common RAID and LVM logic to an abstract diskfilter.
3080 Add LDM support using the same framework.
3081
3082 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
3083 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
3084 (libgrubmods): Remove grub-core/disk/raid.c and
3085 grub-core/partmap/gpt.c.
3086 * grub-core/Makefile.core.def (ldm): New module.
3087 (raid): Renamed to diskfilter. All users updated.
3088 * grub-core/disk/raid.c: Moved to ...
3089 * grub-core/disk/diskfilter.c: ... here.
3090 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
3091 (lv_num): New var.
3092 (find_array): Renamed to ...
3093 (find_lv): ... this. Support multi-LV. Skip nameless LVs
3094 (grub_is_array_readable): Renamed to ...
3095 (grub_is_lv_readable): ... this. Support multinode hierarchy.
3096 (insert_array): New argument id.
3097 (is_node_readable): New function.
3098 (scan_device): Rename to ...
3099 (scan_disk): .. this. Restrict to one disk.
3100 (scan_devices): New function.
3101 (grub_diskfilter_iterate): Support multi-LV.
3102 Skip invisible and nameless LVs.
3103 (grub_diskfilter_memberlist): Support multi-LV.
3104 (grub_diskfilter_read_node): New function.
3105 (grub_raid_read): Most of logic moved to ...
3106 (read_segment): ... here
3107 (read_lv): New function.
3108 (grub_diskfilter_get_vg_by_uuid): New function.
3109 (grub_diskfilter_make_raid): Likewise.
3110 * grub-core/disk/ldm.c: New file.
3111 * grub-core/disk/lvm.c (vg_list): Removed.
3112 (lv_count): Likewise.
3113 (scan_depth): Likewise.
3114 (is_lv_readable): Likewise.
3115 (grub_lvm_getvalue): Advance pointer past the number.
3116 (find_lv): Removed.
3117 (do_lvm_scan): Refactored into ...
3118 (grub_lvm_detect): ... this. Support raid.
3119 (grub_lvm_iterate): Removed.
3120 (grub_lvm_memberlist): Likewise.
3121 (grub_lvm_open): Likewise.
3122 (grub_lvm_close): Likewise.
3123 (read_lv): Likewise.
3124 (read_node): Likewise.
3125 (is_node_readable): Likewise.
3126 (is_lv_readable): Likewise.
3127 (grub_lvm_read): Likewise.
3128 (grub_lvm_write): Likewise.
3129 (grub_lvm_dev): Use diskfilter
3130 (GRUB_MOD_INIT): Likewise.
3131 (GRUB_MOD_FINI): Likewise.
3132 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
3133 new interface.
3134 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
3135 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3136 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
3137 grub_diskfilter_read_node.
3138 Fix a bug with xor.
3139 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
3140 grub_diskfilter_read_node.
3141 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
3142 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
3143 (grub_disk_dev_iterate): Move from here...
3144 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
3145 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3146 Make global.
3147 (grub_hostdisk_find_partition_start): Likewise.
3148 (grub_hostdisk_os_dev_to_grub_drive): New function.
3149 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
3150 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
3151 * util/getroot.c (make_device_name): ... here.
3152 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3153 Move to ...
3154 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
3155 * grub-core/kern/emu/hostdisk.c
3156 (convert_system_partition_to_system_disk): Move to ...
3157 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
3158 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
3159 * util/getroot.c (device_is_wholedisk): ... here.
3160 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
3161 * util/getroot.c (find_system_device): ... here.
3162 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
3163 Move to ...
3164 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
3165 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3166 Move to ...
3167 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
3168 Handle LDM.
3169 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3170 Move to ...
3171 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
3172 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
3173 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
3174 DISKFILTER.
3175 * include/grub/raid.h: Renamed to ...
3176 * include/grub/diskfilter.h: ... this.
3177 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
3178 (GRUB_RAID_LAYOUT_*): Make into array.
3179 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
3180 (grub_diskfilter_vg): New struct.
3181 (grub_diskfilter_pv_id): Likewise.
3182 (grub_raid_member): Removed.
3183 (grub_raid_array): Likewise.
3184 (grub_diskfilter_pv): New struct.
3185 (grub_diskfilter_lv): Likewise.
3186 (grub_diskfilter_segment): Likewise.
3187 (grub_diskfilter_node): Likewise.
3188 (grub_diskfilter_get_vg_by_uuid): New proto.
3189 (grub_raid_register): Inline.
3190 (grub_diskfilter_unregister): Likewise.
3191 (grub_diskfilter_make_raid): New proto.
3192 (grub_diskfilter_vg_register): Likewise.
3193 (grub_diskfilter_read_node): Likewise.
3194 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
3195 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
3196 (grub_util_is_ldm): Likewise.
3197 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
3198 (grub_hostdisk_find_partition_start): Likewise.
3199 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
3200 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
3201 New definition.
3202 (grub_gpt_partition_map_iterate): New proto.
3203 * include/grub/lvm.h (grub_lvm_vg): Removed.
3204 (grub_lvm_pv): Likewise.
3205 (grub_lvm_lv): Likewise.
3206 (grub_lvm_segment): Likewise.
3207 (grub_lvm_node): Likewise.
3208 * util/getroot.c [...]
3209 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
3210 (probe_abstraction): Likewise.
3211 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
3212 (main): Remove dead logic.
3213
8a7f9b9c
VS
32142012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 Simplify root device discover and don't fail when trying to open
3217 incorrect devices.
3218
3219 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
3220 function.
3221 (get_diskname_from_path): Likewise.
3222 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
3223 of iterating.
3224
30545b85
VS
32252012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
3228
28ea58cf
VS
32292012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
3232 pastthe end.
3233
692dabca
VS
32342012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * util/grub-install.in: Add missing \.
3237 Reported by: gentoofan
3238
f6e4ea70
VS
32392012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
3242 (direct_read): Use correct compressed size.
3243 (grub_squash_read_data): Likewise.
3244
32452012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
3246
3247 * docs/grub.texi (Platform limitations): New section.
3248 (Platform-specific operations): Likewise.
3249 * docs/grub-dev.texi (Porting): Likewise.
3250
76261110
VS
32512012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 IEEE1275 disk write support.
3254
3255 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
3256 const void *.
3257 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
3258 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
3259 and seek loginc to ...
3260 (grub_ofdisk_prepare): ... here.
3261 (grub_ofdisk_write): Implement.
3262
fc36d603
VS
32632012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 ARC disk write support.
3266
3267 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
3268 (reopen): New argument writable. All users updated.
3269 Handle required access mode.
3270 (grub_arcdisk_write): Implement.
3271 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
3272 (grub_arc_firmware_vector): Make buffer to write a const buffer.
3273
e06c2e7a
VS
32742012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
3277 (read_sblock): Don't attempt to read superblocks outside the disk size.
3278
ff447958
VS
32792012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
3282 first superblock to find the second one when possible.
3283
9e88df39
VS
32842012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * util/grub-install.in: Fix an ARC bug.
3287 Print a warning if no platform-specific setup is available.
3288
bb26e4ff
VS
32892012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 Use static allocation rather than scratch pointer in reed_solomon.
3292 It decreases its size significantly and avoids a variable in .text.
3293
3294 * grub-core/lib/reed_solomon.c (scratch): Removed.
3295 (chosenstat): New const or static array.
3296 (sigma): Likewise.
3297 (errpot): Likewise.
3298 (errpos): Likewise.
3299 (sy): Likewise.
3300 (mstat): Likewise.
3301 (errvals): Likewise.
3302 (eqstat): Likewise.
3303 (pol_evaluate): Replace x with log_x argument. All users updated.
3304 (syndroms): Removed.
3305 (gauss_solve): Use statically allocated arrays.
3306 (rs_recover): Likewise.
3307 Calculate syndroms directly.
3308 (decode_block): Use statically allocated arrays.
3309 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
3310 (main) [TEST]: Allow -DTEST -DSTANDALONE.
3311
2e13ede5
VS
33122012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 Eliminate fixed limit on reed solomon decoder length.
3315
3316 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
3317 rather than hardcoding the address.
3318 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
3319 no_reed_solomon_length.
3320 Move gate_a20 to no-reed-solomon part.
3321 Don't force a particular size of no reed-solomon part.
3322 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3323 Removed.
3324 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
3325 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
3326
f8a9ab12
VS
33272012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * grub-core/commands/wildcard.c (match_files): Handle filenames
3330 without explicit device.
3331 (wildcard_expand): Don't add explicit device if not already present.
3332 * tests/grub_script_echo1.in: Add a new expansion test.
3333
87edb894
VS
33342012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 Replace single-linked with double-linked lists. It results in more
3337 compact and more efficient code.
3338
3339 * grub-core/kern/list.c (grub_list_push): Moved from here ...
3340 * include/grub/list.h (grub_list_push): ... to here. Set prev.
3341 (grub_list_remove): Moved from here ...
3342 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
3343 (grub_prio_list_insert): Set prev.
3344 * include/grub/list.h (grub_list): Add prev. All users updated.
3345
48b391e9
VS
33462012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 Handle newer autotools. Add some missing quotes while on it.
3349
3350 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
3351 (pkglib_DATA): Move grub-mkconfig_lib from here ...
3352 (pkgdata_DATA): ... here.
3353 * Makefile.util.def (update-grub_lib): Removed.
3354 * conf/Makefile.common (pkglib_DATA): Removed.
3355 (pkglib_SCRIPTS): Likewise.
3356 (pkgdata_DATA): New variable.
3357 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
3358 needed.
3359 Add missing quotes.
3360 Remove unused variable while on it.
3361 * tests/util/grub-shell.in: Likewise.
3362 * util/grub-install.in: Likewise.
3363 * util/grub-mkconfig.in: Likewise.
3364 * util/grub-mknetdir.in: Likewise.
3365 * util/grub-mkrescue.in: Likewise.
3366 * util/grub-mkstandalone.in: Likewise.
3367 * util/grub.d/00_header.in: Likewise.
3368 * util/grub.d/10_hurd.in: Likewise.
3369 * util/grub.d/10_illumos.in: Likewise.
3370 * util/grub.d/10_kfreebsd.in: Likewise.
3371 * util/grub.d/10_linux.in: Likewise.
3372 * util/grub.d/10_netbsd.in: Likewise.
3373 * util/grub.d/10_windows.in: Likewise.
3374 * util/grub.d/20_linux_xen.in: Likewise.
3375 * util/grub.d/30_os-prober.in: Likewise.
3376 * util/update-grub_lib.in: Removed.
3377
33782012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
3379
3380 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
3381 a workaround for intel problem.
3382
66832792
PRP
33832012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
33842012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
33852012-01-23 pfsmorigo
3386
3387 * util/grub-install.in: Support dd'in into PreP partition.
3388 * util/grub-probe.c (probe): Support discovering partition type.
3389 (main): Support -t msdos_parttype.
3390
7816a17e
VS
33912012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
3394 infinite recursion using counter.
3395 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
3396 init to skip it if the magic check fails.
3397 (dec_stream_header): Init s->crc32.
3398
8f9d3a8c
ZB
33992012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
34002012-01-22 Zachary Bedell <pendorbound@gmail.com>
34012012-01-22 Richard Laager <rlaager@wiktel.com>
3402
3403 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
3404 All users updated.
3405 (find_bestub): Determine correct size.
3406 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
3407 (scan_disk): Align the size down.
3408 Call check pool before find_bestub to have ashift.
3409
b055dd32
VS
34102012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
3413 dprintf in no-malloc zone.
3414
d779e9bd
ML
34152012-01-22 Mario Limonciello <mario_limonciello@dell.com>
3416
3417 * configure.ac: Add back in test for limits.h.
3418
b508af69
VS
34192012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 Support 4K-sector NTFS.
3422
3423 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
3424 (grub_ntfs_data): Remove blocksize.
3425 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
3426 Remove data argument. All users updated.
3427
dad9c8b5
VS
34282012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
3431 being in .text to avoid dprel references.
3432 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
3433 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
3434 (grub_arch_highmemsize): Likewise.
3435 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
3436 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
3437 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
3438
d43a777e
VS
34392012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
3442
3443 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
3444 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
3445
34e4208f
VS
34462012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
3449 GRUB_UTIL.
3450 (grub_set_datetime_cmos): Likewise.
3451
3ec0fc1c
VS
34522012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 Make XZ compression parameters dependent on target and not host CPU.
3455
3456 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
3457 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
3458
22489834
VS
34592012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
3462 set but not used variable.
3463
8502fbca
VS
34642012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
3467 created when no uuid support is compiled into mkfs.reiser.
3468
76df2068
VS
34692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
3472 (utf8_to_macroman): Do the opposite.
3473 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
3474
64e3f8f6
VS
34752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * configure.ac: Refise build qemu_mips w/o unifont.
3478
9c271078
VS
34792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 Eliminate grub_min/grub_max prone to overflow usage.
3482
3483 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
3484 (poll_nonroot_hub): Likewise.
3485 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
3486 (grub_affs_label): Likewise.
3487 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
3488 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
3489 (grub_hfs_label): Likewise.
3490 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
3491 * grub-core/fs/zfs/zfs.c (MIN): Remove.
3492 (zap_leaf_array_equal): Use grub_size. Remove MIN.
3493 (zap_leaf_array_get): Likewise.
3494 (dnode_get_path): Likewise.
3495 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
3496 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
3497 * grub-core/script/execute.c (grub_script_break): Likewise.
3498 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
3499 grub_max.
3500 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
3501 * include/grub/misc.h (grub_min): Removed.
3502 (grub_max): Likewise.
3503
80662dbc
VS
35042012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3505
3506 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
3507 direct.inode = 0.
3508
e6da1467
VS
35092012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
3512
b1ac4cb1
VS
35132012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
3516
b4bf7c3b
VS
35172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
3520 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
3521
8ee1101a
VS
35222012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
3525 rather than a hack for grub_strncasemap.
3526
35272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 Support multiple initrds
3530 Note: part of this was accidently committed in r3739.
3531
3532 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
3533 initrd.
3534 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3535 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3536 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3537 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3538 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3539
4d1e2bc9
VS
35402012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
3543 disks with unknown size.
3544 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
3545
75b49ebe
VS
35462012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 Remove defines pertaining to arbitrary limits not affecting GRUB
3549 anymore.
3550
3551 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
3552 (EXT2_MAX_SYMLINKCNT): Likewise.
3553 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
3554 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
3555 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
3556 (GRUB_PXE_MAX_BLKSIZE): Likewise.
3557 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
3558 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
3559 (DN_MAX_OBJECT_SHIFT): Likewise.
3560 (DN_MAX_OFFSET_SHIFT): Likewise.
3561 (DN_MAX_OBJECT): Likewise.
3562 (DNODES_PER_LEVEL_SHIFT): Likewise.
3563 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
3564 (SPA_MAXBLOCKSIZE): Likewise.
3565 (SPA_BLOCKSIZES): Likewise.
3566 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
3567 (MZAP_MAX_BLKSZ): Likewise.
3568
74a1dce7
VS
35692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
3572 handle NULL appropriately.
3573 Remove MIN.
3574
30c7d3ce
VS
35752012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 Fix efiemu.
3578
3579 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
3580 cpu/types.h.
3581 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
3582 * configure.ac: Fix efiemu check.
3583
3c76ea0c
VS
35842012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3585
3586 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
3587 grub_probe.
3588 Reported by: adamwill
3589
7e532280
SG
35902012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
3591
3592 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
3593
30492374
VS
35942012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 Fix handling of wide characters in gfxterm.
3597
3598 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
3599 (clear_char): Likewise.
3600 (paint_char): Skip code == NULL chars.
3601 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
3602
e70cb72f
VS
36032012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * grub-core/normal/charset.c: Move comment to right place.
3606
5c827cf9
VS
36072012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
3610 (GRUB_AFFS_FLAG_FFS): Put back where it was.
3611 (grub_affs_mount): Revert the correct version checking.
3612
53603892
VS
36132012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * docs/grub.texi (Unicode): Mention several other unsupported features.
3616
ff094b9b
VS
36172011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
3620 case statements as compile-time one.
3621 (direct_read): Prevent spurious warnings.
3622 (grub_squash_read_data): Likewise.
3623
c029da8a
VS
36242011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 Various squash4 fixes and LZO and XZ support.
3627
3628 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
3629 Add xzembed source files.
3630 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
3631 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
3632 (grub_squash_inode): New subtype long_dir.
3633 (SQUASH_TYPE_LONG_DIR): New inode type.
3634 (COMPRESSION): New enum.
3635 (XZBUFSIZ): New const.
3636 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
3637 (read_chunk): Use data->decompress.
3638 (zlib_decompress): New function.
3639 (lzo_decompress): Likewise.
3640 (xz_decompress): Likewise.
3641 (squash_mount): Set new data fields.
3642 (grub_squash_iterate_dir): Handle long dir.
3643 (squash_unmount): Free xzdec and xzbuf.
3644 (grub_squash_open): Check ino type.
3645 (direct_read): Stylistic fixes. Use data->decompress.
3646 (grub_squash_read_data): Likewise.
3647 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
3648 (get_byte): Likewise.
3649 (grub_zlib_disk_read): Removed.
3650 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
3651 (GRUB_POSIX_BOOL_DEFINED): New define.
3652 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
3653 * grub-core/lib/xzembed/xz.h: Addmissing includes.
3654 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
3655 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
3656
7a45a539
VS
36572011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 Don't override more informative errors.
3660
3661 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
3662 * grub-core/font/font.c (open_section): Likewise.
3663 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
3664 filename. Don't override errors.
3665 (grub_cmd_openbsd_ramdisk): Don't override errors.
3666 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
3667 (grub_cmd_initrd): Likewise.
3668 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3669 (grub_cmd_initrd): Likewise.
3670 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
3671 (grub_cmd_linux): Likewise.
3672 (grub_cmd_initrd): Likewise.
3673 (grub_cmd_payload): Likewise.
3674 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3675 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
3676 (grub_cmd_module): Likewise.
3677 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3678 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3679 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
3680 (grub_cmd_xnu_mkext): Likewise.
3681 (grub_cmd_xnu_ramdisk): Likewise.
3682 (grub_xnu_check_os_bundle_required): Likewise.
3683 (grub_xnu_load_kext_from_dir): Likewise.
3684 (grub_cmd_xnu_kextdir): Likewise.
3685 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
3686
b2d004db
VS
36872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
3690 as 1024 in block size field. Found on one of my test images.
3691 Small optimisation while on it.
3692
ec000eac
VS
36932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3694
3695 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
3696 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
3697 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
3698 performance fixes while on it.
3699 (grub_sfs_close): Fix memory leak while on it.
3700 (grub_sfs_label): Convert Latin1 to UTF-8.
3701
f50e1165
VS
37022011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
3705 space to avoid overflows.
3706 (grub_hfs_label): Convert from macroman to UTF-8.
3707
2ae254de
VS
37082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
3711
0108f491
VS
37122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
3715
f45f5f89
VS
37162011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * unicode: Import Unicode 6.0 data.
3719
4d8c4765
VS
37202011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3721
63fa8ef9
VS
3722 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
3723 outside of range.
3724
37252011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
3728
3729 * include/grub/charset.h (grub_getend): New function.
3730 * grub-core/script/function.c (grub_script_function_find): Use
3731 grub_getend.
3732 * grub-core/normal/completion.c (add_completion): Likewise.
3733
f3cb4a4e
VS
37342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
3737 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
3738 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
3739 (GRUB_UNICODE_TAG_END): Likewise.
3740 (GRUB_UNICODE_LAST_VALID): Likewise.
3741
5da8dbc5
VS
37422011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
3745 len and make it smaller. All users updated.
3746 * util/import_unicode.py: Put length and not end character.
3747 Check length.
3748
8569f13d
VS
37492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 Make better Unicode-compliant and unify some UTF-8 code pathes.
3752
3753 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
3754 valid character.
3755 (grub_is_valid_utf8): Use grub_utf8_process.
3756 Check resulting code range.
3757 (grub_utf8_to_ucs4): Use grub_utf8_process.
3758 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
3759 valid character.
3760
cc4fddf5
VS
37612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
3764
bbc47747
VS
37652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * docs/grub.texi (Filesystems): Mention AFS.
3768
f63d6bf4
VS
37692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 * docs/grub.texi (Filesystems): Clarify restrictions.
3772 (Regexp): Mention non-Unicode regexp behaviour.
3773 (Other): Mention non-Unicode matching behaviour.
3774
74bbf0db
VS
37752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3776
f63d6bf4 3777 Make HFS implementation use MacRoman.
74bbf0db
VS
3778
3779 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
3780 (macroman): New const array.
3781 (macroman_to_utf8): New function.
3782 (utf8_to_macroman): Likewise.
3783 (grub_hfs_find_dir): Use utf8_to_macroman.
3784 (grub_hfs_dir): Use macroman_to_utf8.
3785 Set case_insensitive.
3786
4ea0316e
VS
37872011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
3790
d3c13cbd
VS
37912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 Integrate hints into autogeneration scripts.
3794
3795 * docs/grub.texi (Filesystems): Add a hostdisk example.
3796 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
3797 (grub-probe): Add ofpath.
3798 * gentpl.py: Remove group nosparc64.
3799 * grub-core/commands/search.c (cache_entry): New struct.
3800 (cache): New var.
3801 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
3802 * grub-core/commands/search_wrap.c (options): Add platform-specific
3803 hint options.
3804 (grub_cmd_search): Handle platform-specific hints.
3805 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
3806 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
3807 (grub_util_biosdisk_data): Likewise.
3808 (grub_util_biosdisk_open): Set device_map.
3809 (read_device_map): Handle "" as indication of no map.
3810 Set device_map.
3811 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
3812 (grub_util_biosdisk_get_compatibility_hint): New function.
3813 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
3814 * include/grub/emu/hostdisk.h
3815 (grub_util_biosdisk_get_compatibility_hint): New proto.
3816 * util/grub-install.in: Don't call grub-mkdevicemap.
3817 Add platform-specific hint to load.cfg.
3818 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
3819 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3820 hints. Set root preliminary to compatibility hint, not to OS name.
3821 * util/grub-probe.c (PRINT_*): Add hints.
3822 (print): Make static.
3823 (escape_of_path): New function.
3824 (guess_bios_drive): Likewise.
3825 (guess_efi_drive): Likewise.
3826 (guess_baremetal_drive): Likewise.
3827 (print_full_name): Likewise.
3828 (probe): Handle hints.
3829 (main): Likewise.
3830 * util/ieee1275/devicemap.c: Removed.
3831 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
3832 updated.
3833 (grub_util_devname_to_ofpath): Return NULL on failure.
3834
3835 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
3836 resource leak.
3837 * util/getroot.c (grub_util_pull_device): Fix memory leak.
3838
3839 * po/POTFILES.in: Regenerated.
3840
3841 Allow purely long options
3842
3843 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
3844 (SHORT_ARG_USAGE): Likewise.
3845 (grub_arg_show_help): Compare opt with help_options.
3846 (parse_option): Receive opt as argument. If makes big simplificatons.
3847 All users updated
3848
00ce2df3
VS
38492011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
3852 Restructure to avoid warning.
3853
e77e325f
VS
38542011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 * util/grub-install.in: Account for possible escaped comma in device
3857 name.
3858
165099ea
VS
38592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
3862 channel.
3863
ce4a999d
VS
38642011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
3867 allocation and zero-setting.
3868 (grub_ieee1275_get_devname): Check that alias is complete.
3869
379586ad
VS
38702011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
3873 unaligned segments.
3874
9197b0ad
VS
38752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
3878 prefix.
3879 (grub_ofdisk_open): Check and discard ieee1275 prefix.
3880 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3881 Add ieee1275 prefix.
3882
edddb7f9
VS
38832011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 * docs/grub.texi (Filesystems): Update.
3886
a1a8b1b9
VS
38872011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 Support odc, newc and bigendian cpio formats.
3890
3891 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
3892 * grub-core/Makefile.core.def (newc): New module.
3893 (odc): Likewise.
3894 (cpio_be): Likewise.
3895 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
3896 (MAGIC): Likewise.
3897 (MAGIC2): Likewise.
3898 (head) [MODE_ODC]: Adapt for the format.
3899 (head) [MODE_NEWC]: Likewise.
3900 (head) [!MODE_*]: Write fields of interest as arrays.
3901 (MAGIC_USTAR): Removed.
3902 (read_number) [MODE_NEWC]: Change to hex.
3903 (read_number) [!MODE_*]: Parse binary arrays.
3904 (grub_cpio_find_file): Factor out the code for better structure and
3905 always use read_number.
3906 (grub_cpio_mount): Use MAGIC and MAGIC2.
3907 (grub_cpio_dir): Exit on first hook non-0 return.
3908 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
3909 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
3910 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
3911 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
3912 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
3913 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
3914 * grub-core/fs/newc.c: New file.
3915 * grub-core/fs/odc.c: Likewise.
3916 * grub-core/fs/cpio_be.c: Likewise.
3917
58eba9ee
VS
39182011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 Fix handling of tar numbers occupying the whole field.
3921
3922 * grub-core/fs/cpio.c (read_number): New function.
3923 (grub_cpio_find_file): Use read_number instead of strtoull.
3924
a54a0e12
VS
39252011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
3928 occupying the whole field size.
3929
a6120aca
LA
39302011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
3931
3932 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
3933
a93964ce
VS
39342011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
3937
3ea1ca46
SG
39382011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
3939
3940 * grub-core/Makefile.core.def (lzma_decompress): Add missing
3941 TARGET_IMG_LDFLAGS.
3942
b87f7ef2
VS
39432011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * util/getroot.c (ESCAPED_PATH_MAX): New define.
3946 (mountinfo_entry): Increase the field size to take escaping into
3947 account.
3948 (find_root_device_from_libzfs): Add one byte to size of strings for
3949 security.
3950
62092395
VS
39512011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
3954 an assert.
3955 * util/grub-setup.c (setup): Likewise.
3956
1f0b1a77
VS
39572011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
3960 _LzmaDecodeA.
3961
8eba9997
VS
39622011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * docs/grub.texi (Internationalisation): New section.
3965
dd0c91e9
VS
39662011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * docs/grub.texi (Loopback booting): New section.
3969
39702011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
3971
3972 * util/grub-mkstandalone.in: Fix minor typo errors.
3973
198e150a
VS
39742011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
3977
3978 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
3979 net/icmp.c and net/icmp6.c.
3980 (http): New module.
3981 (priority_queue): Likewise.
3982 * grub-core/io/bufio.c: Rewritten.
3983 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
3984 TYPE_WITH_CONFIGFILE_OPTION.
3985 (legacy_commands): Add bootp and dhcp.
3986 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
3987 (grub_legacy_parse): Likewise.
3988 * grub-core/lib/priority_queue.c: New file.
3989 * grub-core/net/arp.c: Add missing license header.
3990 (arp_find_entry): Removed.
3991 (arp_find_entry): Likewise.
3992 (grub_net_arp_resolve): Rename to ...
3993 (grub_net_arp_send_request): ...this.
3994 (grub_net_arp_receive): New card argument.
3995 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
3996 Set router and DNS server.
3997 (grub_net_configure_by_dhcp_ack): Handle routing information.
3998 (grub_cmd_bootp): Set checksum.
3999 (grub_bootp_init): Remove net_dhcp.
4000 * grub-core/net/dns.c: New file.
4001 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4002 completion.
4003 (get_card_packet): Handle allocation.
4004 (grub_efinet_findcards): Set mtu.
4005 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4006 (get_card_packet): Handle allocation.
4007 (emucard): Set mtu.
4008 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4009 (GRUB_MOD_INIT): Set mtu.
4010 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4011 mtu.
4012 (get_card_packet): Handle allocation.
4013 (grub_ofnet_findcards): Set mtu.
4014 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4015 assert.
4016 (grub_net_recv_ethernet_packet): Handle IPv6.
4017 * grub-core/net/http.c: New file.
4018 * grub-core/net/icmp.c: Likewise.
4019 * grub-core/net/icmp6.c: Likewise.
4020 * grub-core/net/ip.c (ip6addr): New type.
4021 (ip6hdr): Likewise.
4022 (reassemble): Likewise.
4023 (cmp): New function.
4024 (reassembles): New variable.
4025 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4026 (id): New variable.
4027 (send_fragmented): New function.
4028 (grub_net_send_ip_packet): Rename to ...
4029 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4030 Handle non-UDP.
4031 (grub_net_recv_ip_packets): Rename to ...
4032 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4033 (free_rsm): New function.
4034 (free_old_fragments): Likewise.
4035 (grub_net_recv_ip4_packets): New function.
4036 (grub_net_send_ip6_packet): Likewise.
4037 (grub_net_send_ip_packet): Likewise.
4038 (grub_net_recv_ip6_packets): Likewise.
4039 (grub_net_recv_ip_packets): Likewise.
4040 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4041 (LINK_LAYER_CACHE_SIZE): New const.
4042 (link_layer_find_entry): New function.
4043 (grub_net_link_layer_add_address): Likewise.
4044 (grub_net_link_layer_resolve_check): Likewise.
4045 (grub_net_link_layer_resolve): Likewise.
4046 (grub_net_ipv6_get_slaac): Likewise.
4047 (grub_net_ipv6_get_link_local): Likewise.
4048 (grub_cmd_ipv6_autoconf): Likewise.
4049 (parse_ip): Handle one number representation.
4050 (parse_ip6): New functoion.
4051 (match_net): Handle IPv6.
4052 (grub_net_resolve_address): Handle IPv6 and DNS.
4053 (grub_net_resolve_net_address): Handle IPv6.
4054 (route_cmp): New function.
4055 (grub_net_route_address): Find best route.
4056 (grub_net_addr_to_str): Handle IPv6.
4057 (grub_net_addr_cmp): New function.
4058 (grub_net_add_addr): Register local route.
4059 (print_net_address): Handle net address.
4060 (grub_net_poll_cards): Retransmit TCP.
4061 (grub_net_poll_cards_idle_real): Likewise.
4062 (have_ahead): New function.
4063 (grub_net_seek_real): Use underlying seek.
4064 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
4065 * grub-core/net/tcp.c: New file.
4066 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
4067 (cmp): New function.
4068 (ack): Likewise.
4069 (tftp_receive): Handle unordered input.
4070 (destroy_pq): New function.
4071 (tftp_close): Close pq.
4072 * grub-core/net/udp.c: Put missing license header.
4073 (grub_net_udp_socket): New function.
4074 (udp_socket_register): Likewise.
4075 (grub_net_udp_close): Likewise.
4076 (grub_net_recv_udp_packet): Check checksum.
4077 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
4078 * include/grub/misc.h (grub_memchr): New function.
4079 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
4080 (grub_net_card_driver): Return buf in recv.
4081 (grub_net_slaac_mac_list): New struct.
4082 (grub_network_level_protocol_id): Add ipv6.
4083 (grub_net_network_level_addr): Likewise.
4084 (grub_net_network_level_net_addr): Likewise.
4085 (grub_net_app_protocol): Add seek.
4086 (grub_net_socket): Removed.
4087 (grub_net_sockets): Likewise.
4088 (grub_net_socket_register): Likewise.
4089 (grub_net_socket_unregister): Likewise.
4090 (FOR_NET_SOCKETS): Likewise.
4091 (grub_net_add_addr): Add const.
4092 (GRUB_NET_BOOTP_*): New enum.
4093 (grub_net_addr_cmp): New proto.
4094 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
4095 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
4096 (grub_net_hwaddr_to_str): NEw proto.
4097 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
4098 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
4099 (grub_dns_init): New proto.
4100 (grub_dns_fini): Likewise.
4101 (grub_net_tcp_retransmit): Likewise.
4102 (grub_net_link_layer_add_address): Likewise.
4103 (grub_net_link_layer_resolve_check): Likewise.
4104 (grub_net_link_layer_resolve): Likewise.
4105 (grub_net_dns_lookup): Likewise.
4106 (grub_net_add_dns_server): Likewise.
4107 (grub_net_remove_dns_server): Likewise.
4108 (GRUB_NET_TRIES): New const.
4109 (GRUB_NET_INTERVAL): Likewise.
4110 * include/grub/net/arp.h: Mostly rewritten.
4111 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
4112 * include/grub/net/ip.h: Mostly rewritten.
4113 * include/grub/net/netbuff.h: Indent.
4114 * include/grub/net/tcp.h: New file.
4115 * include/grub/net/udp.h: Mostly rewritten.
4116 * include/grub/priority_queue.h: New file.
4117 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
4118 (grub_swap_bytes64_compile_time): Likewise.
4119 (grub_cpu_to_be16_compile_time): Likewise.
4120 (grub_cpu_to_be32_compile_time): Likewise.
4121 (grub_cpu_to_be64_compile_time): Likewise.
4122 (grub_be_to_cpu64_compile_time): Likewise.
4123
215c1800
VS
41242011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
4127 UINT_TO_PTR with cast.
4128
c17e546c
VS
41292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
4132 don't use them.
4133
ff6b18b6
VS
41342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
4137 already there.
4138
70ffcc93
VS
41392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
4142 confusing ipxe.
4143
e5f4d260
VS
41442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
4147 Add missing const attribute.
4148 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
4149 Likewise.
4150 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
4151 Likewise.
4152
8e54b4b7
VS
41532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
4156 misaligned access.
4157 (serpent_setkey): Likewise.
4158 (serpent_encrypt_internal): Likewise.
4159 (serpent_decrypt_internal): Likewise.
4160 (serpent_encrypt): Don't put an alignment-increasing cast.
4161 (serpent_decrypt): Likewise.
4162 (serpent_test): Likewise.
4163
813c0a2b
VS
41642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
4167
f2b60fbd
VS
41682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
4171
4172 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
4173 grub_addr_t casts.
4174 (PTR_TO_UINT64): Likewise.
4175 (PTR_TO_UINT32): Likewise.
4176
5ef5c511
VS
41772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 * util/grub-mkimage.c (generate_image): Decrease the higher limit
4180 because of stack.
4181 * util/grub-setup.c (setup): Don't add redundancy past the higher load
4182 limit.
4183
c476e6df
VS
41842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
4187 text_width > available width a bit more gracefully.
4188
384ad7cc
VS
41892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
4192 current address calculation.
4193
96f8caf8
VS
41942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
4197 stack.
4198 (encode_block): Likewise.
4199
276b7a8b
VS
42002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
4203 certainety.
4204
e3fd394a
VS
42052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
4208 non-RS part to avoid RS messing with GDT.
4209 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4210 Increase to suit in realmode routines.
4211
42122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * grub-core/kern/i386/realmode.S: Increase alignment.
4215 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
4216
ee9c2e7a
VS
42172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
4220 be deterministic.
4221 (syndroms): Compute 0 syndrom.
4222 (rs_recover): Use 0 syndrom.
4223
7a7f7cc9
VS
42242011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
4227
a14b16d1
VS
42282011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
4231 brackets.
4232
9f59e9fc
VS
42332011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4234
ca1b552c
VS
4235 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
4236 account.
4237 (get_top_pad): Likewise.
4238 (get_right_pad): Likewise.
4239 (get_bottom_pad): Likewise.
4240
42412011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 4244
e739d698
VS
42452011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
4248 attribute as the structure isn't guaranteed to be properly aligned.
4249 (grub_efi_pci_device_path): Likewise.
4250 (grub_efi_pccard_device_path): Likewise.
4251 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
4252 specify the size of `memory_type'.
4253 (grub_efi_vendor_device_path): Likewise.
4254 (grub_efi_controller_device_path): Likewise.
4255 (grub_efi_acpi_device_path): Likewise.
4256 (grub_efi_expanded_acpi_device_path): Likewise.
4257 (grub_efi_atapi_device_path): Likewise.
4258 (grub_efi_scsi_device_path): Likewise.
4259 (grub_efi_fibre_channel_device_path): Likewise.
4260 (grub_efi_1394_device_path): Likewise.
4261 (grub_efi_usb_device_path): Likewise.
4262 (grub_efi_usb_class_device_path): Likewise.
4263 (grub_efi_i2o_device_path): Likewise.
4264 (grub_efi_mac_address_device_path): Likewise.
4265 (grub_efi_ipv4_device_path): Likewise.
4266 (grub_efi_ipv6_device_path): Likewise.
4267 (grub_efi_infiniband_device_path): Likewise.
4268 (grub_efi_uart_device_path): Likewise.
4269 (grub_efi_vendor_messaging_device_path): Likewise.
4270 (grub_efi_hard_drive_device_path): Likewise.
4271 (grub_efi_cdrom_device_path): Likewise.
4272 (grub_efi_vendor_media_device_path): Likewise.
4273 (grub_efi_file_path_device_path): Likewise.
4274 (grub_efi_protocol_device_path): Likewise.
4275 (grub_efi_piwg_device_path): Likewise.
4276 (grub_efi_bios_device_path): Likewise.
4277
cb8f88ea
VS
42782011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
4281 (grub_ucs4_to_utf8_alloc): Likewise.
4282 (grub_ucs4_to_utf8): Likewise.
4283 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
4284 (grub_ucs4_to_utf8_alloc): Likewise.
4285
309e5352
VS
42862011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 AFFS never uses unicode.
4289
4290 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
4291 (grub_latin1_to_utf8): New inline function.
4292 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
4293
e7987e1b
VS
42942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
4297 overflow.
4298
efc2616e
VS
42992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
4302 (grub_squash_dirent_header): Likewise.
4303 (read_chunk): Don't double swap.
4304 (grub_squash_iterate_dir): Fix swap sizes.
4305
3c349f5a
VS
43062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
4309
b453412d
VS
43102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
4313 (grub_hfs_iterate_dir): Likewise.
4314
12e9d4d1
VS
43152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 Fix video on platforms where unaligned access is forbidden.
4318 Make several optimisations while on it.
4319
4320 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
4321 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4322 (grub_video_fbblit_replace_32bit_1bit): Likewise.
4323 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4324 Disable.
4325 (grub_video_fbblit_replace_16bit_1bit):
4326 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4327 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4328 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
4329 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
4330 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4331 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4332 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
4333 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
4334 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
4335 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
4336 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
4337 (grub_video_fbblit_replace_index_RGB888): Likewise.
4338 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
4339 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
4340 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
4341 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4342 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
4343 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4344 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4345 Disable.
4346 (grub_video_fbblit_blend_XXX565_1bit):
4347 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4348 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
4349 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
4350 void *.
4351 * grub-core/video/fb/video_fb.c (common_blitter)
4352 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
4353 (grub_video_fb_create_render_target_from_pointer)
4354 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4355 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
4356 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
4357 definition.
4358 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
4359
ace96609
VS
43602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
4363 HH22 and HM10 relocations.
4364
fd261d73
VS
43652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
4368
e59b7857
VS
43692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
4372 allocation succeeded.
4373
9b4baaa4
VS
43742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
4377 argument a u8 pointer. All users updated.
4378 Handle unaligned buffers.
4379
dc713193
VS
43802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
4383 add_part to workaround compiler bug.
4384
30dd48c2
VS
43852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
4388
0c6087a8
VS
43892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
4392 Reserve alignment invariants.
4393 (grub_multiboot_load): Likewise.
4394 (retrieve_video_parameters): Likewise.
4395 (grub_multiboot_make_mbi): Likewise.
4396
c2e77777
VS
43972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
4400 incorrect pointer.
4401
b70b6d11
VS
44022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
4405 (grub_pata_pio_write): Likewise.
4406
02a2bf83
VS
44072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 Add noreturn attributes and remove unreachable code.
4410
4411 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
4412 code.
4413 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
4414 code. Mark as noreturn.
4415 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
4416 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
4417 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
4418 unreachable code.
4419 * grub-core/kern/main.c (grub_main): Mark as noreturn.
4420 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
4421 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
4422 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
4423 * include/grub/kernel.h (grub_main): Mark as noreturn.
4424 * include/grub/reader.h (grub_rescue_run): Likewise.
4425
2019d09e
VS
44262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
4429 redundant declaration.
4430
d1c501ee
VS
44312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * include/grub/net.h (grub_net_network_level_interfaces): Remove
4434 redundant declaration.
4435 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
4436
61664420
VS
44372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
4440 to ensure alignment.
4441 (grub_hdparm_print_identify): Make argument uint16 * to ensure
4442 alignment. Ensure tmp alignment.
4443 (grub_cmd_hdparm): Ensure buf alignment.
4444 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
4445 to ensure alignment.
4446 (grub_ata_dumpinfo): Ensure text alignment.
4447 (grub_atapi_identify): Preserve alignment invariant.
4448 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
4449
0d51ee20
VS
44502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
4453 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
4454 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
4455 * include/grub/misc.h (grub_reboot)
4456 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
4457 (grub_halt) [__mips__]: Likewise.
4458
753ef8c1
VS
44592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
4462 Remove redundant declaration.
4463 (grub_mmap_get_post64): Likewise.
4464 (grub_mmap_get_upper): Likewise.
4465 (grub_mmap_get_lower): Likewise.
4466
85c85365
VS
44672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
4470 uint32_t * to ensure alignment.
4471 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
4472
a23f2cc4
VS
44732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4474
93018f64
VS
4475 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
4476 uint16_t * to ensure alignment.
4477 (sun_pc_partition_map_iterate): Make `block' a union to ensure
4478 alignment.
4479
44802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
4483 to ensure alignment.
4484 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
4485
58acccd6
VS
44862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * grub-core/fs/ntfs.c (u16at): Make into inline function.
4489 Handle unaligned pointers.
4490 (u32at): Likewise.
4491 (u64at): Likewise.
4492 (fixup): Use byte access instead of v16at.
4493 (find_attr): Fix imporper usage of v32at.
4494 (read_data): Likewise.
4495 (list_file): Handle byte-swapping and unaligned strings.
4496 (grub_ntfs_label): Likewise.
4497
9b05cad7
VS
44982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
4501 as it's not necessarily aligned.
4502
b3950b84
VS
45032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
4506 redundant declaration.
4507 (grub_serial_init): Likewise.
4508 (grub_terminfo_init): Likewise.
4509
fcd232b7
VS
45102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
4513 function.
4514 (ZAP_HASH_IDX): Likewise.
4515 (ZAP_LEAF_HASH_SHIFT): Likewise.
4516 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
4517 (LEAF_HASH): Likewise.
4518 (ZAP_LEAF_NUMCHUNKS): Likewise.
4519 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
4520 alignment invariants. Return pointer. All users updated.
4521 (ZAP_LEAF_ENTRY): Make into inline function.
4522 (NBBY): Removed.
4523 (xor): LIkewise.
4524 (xor_out): Use grub_crypto_xor.
4525 (dnode_get_path): Use grub_get_unaligned.
4526 (nvlist_find_value): Likewise.
4527 (grub_zfs_nvlist_lookup_uint64): Likewise.
4528 (grub_zfs_nvlist_lookup_string): Likewise.
4529 (get_nvlist_size): Likewise.
4530 (grub_zfs_open): Likewise.
4531 (fill_fs_info): Likewise.
4532 (grub_zfs_dir): Likewise.
4533 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
4534 alignment invariants.
4535 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
4536 necessarily aligned.
4537
f138623a
VS
45382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
4541
564840dc
VS
45422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
4545 arithmetic to conserve alignment invariants.
4546
9b40df20
VS
45472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
4550 redundant declaration.
4551 (grub_efiemu_mm_obtain_request): Likewise.
4552 (grub_efiemu_prepare): Likewise.
4553
d1c930f9
VS
45542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
4557 to match types.
4558
4c5f3056
VS
45592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
4562 case of aunaligned recptr.
4563 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
4564 alignment.
4565 (grub_hfsplus_btree_search): Handle unaligned index.
4566
728cba91
VS
45672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
4570 to get freetag and skip.
4571
eb561f31
VS
45722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
4575 array.
4576 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
4577 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
4578
20993fbb
VS
45792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
4582 name for checksum and fix allocation algorithm.
4583
1f313b94
VS
45842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * include/grub/types.h (grub_properly_aligned_t): New type.
4587 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
4588 (grub_get_unaligned16): Add explicit casts.
4589 (grub_get_unaligned32): Likewise.
4590 (grub_get_unaligned64): Likewise.
4591 (grub_set_unaligned16): New function.
4592 (grub_set_unaligned32): Likewise.
4593
47ae27ec
VS
45942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4597
78c2cd1c
VS
45982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
4601 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
4602 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
4603
53072f9b
VS
46042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
4607 conditionals.
4608
055dc239
VS
46092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
4612 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
4613
496bd074
VS
46142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 Unify and improve RAID and crypto xor.
4617
4618 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
4619 changed to grub_crypto_xor
4620 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
4621 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
4622 Use bigger types when possible.
4623
ef6e4335
VS
46242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * grub-core/disk/raid.c (scan_devices): Fix condition.
4627
5d048bf2
VS
46282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
4631 Make name a const ptr.
4632
ee533335
VS
46332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
4636 first argument a const pointer.
4637 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
4638 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
4639 proto.
4640 (grub_children_iterate): Likewise.
4641 (grub_machine_mmap_iterate): Remove redundant declaration.
4642
cc8f3668
VS
46432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
4646 (grub_cmd_acpi) [!x86]: Disable EBDA.
4647
c5fc563a
VS
46482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 Enable UTF8 in gnulib regexp.
4651
4652 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
4653 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
4654 (isupper): Use grub_isupper.
4655 (isascii): New inline function.
4656 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
4657 * grub-core/lib/posix_wrap/wctype.h: Likewise.
4658 * grub-core/normal/charset.c (grub_utf8_process): New function.
4659 (grub_utf8_to_utf16): Use grub_utf8_process.
4660 (grub_encode_utf8_character): New function.
4661 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
4662 * include/grub/charset.h (grub_utf8_process): New declaration.
4663 (grub_encode_utf8_character): Likewise.
4664 * include/grub/misc.h (grub_islower): New inline function.
4665 (grub_isupper): Likewise.
4666 (grub_strchrsub): Moved down to fix the definitions.
4667
0af2346f
VS
46682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
4671 specification.
4672
74dbd244
VS
46732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * include/grub/loader.h (grub_loader_register_preboot_hook):
4676 Use struct preboot * and not void * for handle. All users updated.
4677 (grub_loader_unregister_preboot_hook): Likewise.
4678
1bc8f60d
VS
46792011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
4682 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
4683 UTF-16-BE. All users updated.
4684 (grub_hfsplus_cmp_catkey): Fix unicode handling.
4685 (grub_hfsplus_iterate_dir): Likewise.
4686 (grub_hfsplus_label): Likewise.
4687
48d6e456
VS
46882011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
4691
bf3a3857
VS
46922011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 Add missing const qualifiers.
4695
4696 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
4697 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
4698 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
4699 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
4700 (grub_lvm_check_flag): Likewise.
4701 * grub-core/efiemu/i386/coredetect.c
4702 (grub_efiemu_get_default_core_name): Likewise
4703 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4704 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
4705 * grub-core/fs/ntfs.c (fixup): Likewise.
4706 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
4707 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
4708 (fzap_lookup): Likewise.
4709 (zap_lookup): Likewise.
4710 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
4711 * grub-core/lib/legacy_parse.c (check_option): Likewise.
4712 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
4713 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
4714 (grub_freebsd_add_meta_module): Likewise.
4715 (grub_cmd_freebsd_module): Likewise.
4716 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
4717 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
4718 (grub_xnu_writetree_get_size): Likewise.
4719 (grub_xnu_writetree_toheap_real): Likewise.
4720 (grub_xnu_find_key): Likewise.
4721 (grub_xnu_create_key): Likewise.
4722 (grub_xnu_create_value): Likewise.
4723 (grub_xnu_register_memory): Likewise.
4724 (grub_xnu_check_os_bundle_required): Likewise.
4725 (grub_xnu_scan_dir_for_kexts): Likewise.
4726 (grub_xnu_load_kext_from_dir): Likewise.
4727 * grub-core/normal/color.c (color_list): Likewise.
4728 * grub-core/normal/completion.c (current_word): Likewise.
4729 * grub-core/normal/menu_entry.c (insert_string): Likewise.
4730 * grub-core/term/serial.c (grub_serial_find): Likewise.
4731 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
4732 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
4733 Likewise.
4734 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
4735 (grub_freebsd_add_meta_module): Likewise.
4736 * include/grub/lib/arg.h (grub_arg_option): Likewise.
4737 * include/grub/net.h (grub_net_card_driver): Likewise.
4738 (grub_net_card): Likewise.
4739 (grub_net_app_protocol): Likewise.
4740 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
4741 * include/grub/serial.h (grub_serial_find): Likewise.
4742 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
4743 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
4744 (grub_xnu_create_value): Likewise.
4745 (grub_xnu_find_key): Likewise.
4746 (grub_xnu_scan_dir_for_kexts): Likewise.
4747 (grub_xnu_load_kext_from_dir): Likewise.
4748
4749 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
4750 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
4751 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
4752 Moved from here ...
4753 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
4754
112b4837
CW
47552011-11-28 Colin Watson <cjwatson@ubuntu.com>
4756
4757 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
4758
49e891ac
VS
47592011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
4762 (read_device): Fix size calculation.
4763
fd258e5c
RM
47642011-11-25 Robert Millan <rmh@gnu.org>
4765
4766 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
4767 (find_root_device_from_libzfs): Add zpool output parser to be used
4768 as fallback when libzfs isn't available.
4769
78845dc2
SG
47702011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
4771
4772 * po/Makefile.in.in: Add missing escape-continuation.
4773
adac5211
VS
47742011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
4777
10b64f1c
VS
47782011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
4781
bb416954
VS
47822011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
4785
bdfe9eeb
VS
47862011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
4789
581ffa8a
VS
47902011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * grub-core/lib/adler32.c: Add missing license specification.
4793 * grub-core/lib/crc64.c: Likewise.
4794 * grub-core/loader/i386/pc/plan9.c: Likewise.
4795 * grub-core/partmap/plan.c: Likewise.
4796
2536cf64
LK
47972011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
4798
4799 Add facility to debug GRUB with gdb under qemu.
4800
4801 * grub-core/gdb_grub.in: New file.
4802 * grub-core/gmodule.pl.in: Likewise.
4803 * grub-core/Makefile.core.def (gmodule.pl): New script.
4804 (gdb_grub): Likewise.
4805
bc108a4a
VS
48062011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * util/grub-mount.c (argp_parser): Accept relative pathes.
4809 * util/grub-fstest.c (argp_parser): Likewise.
4810
111c1778
VS
48112011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 Plan9 support.
4814
4815 * Makefile.util.def (libgrubmods): Add
4816 grub-core/partmap/plan.c.
4817 * docs/grub.texi: Notice Plan9 support.
4818 * grub-core/Makefile.core.def (plan9): New module.
4819 (part_plan): Likewise.
4820 * grub-core/loader/i386/pc/plan9.c: New file.
4821 * grub-core/partmap/plan.c: Likewise.
4822 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
4823 define.
4824 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
4825 * include/grub/mm.h (grub_extend_alloc): New inline function.
4826
c30be3b6
VS
48272011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 Make Reed-Solomon faster by using power of generator representation of
4830 GF(256)*.
4831
4832 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
4833 (gf_double_t): Likewise.
4834 (gf_invert): Removed.
4835 (gf_powx): New array.
4836 (gf_powx_inv): Likewise.
4837 (scratch): Move higher.
4838 (gf_reduce): Removed.
4839 (gf_mul): Use powx.
4840 (gf_invert): Likewise.
4841 (init_inverts): Replaced with ...
4842 (init_powx): ...this. All users updated.
4843 (pol_evaluate): Replace multiplications with additions.
4844 (rs_encode): Likewise.
4845 (gauss_eliminate): Call gf_invert.
4846 (grub_reed_solomon_add_redundancy): Call init_powx.
4847 (grub_reed_solomon_recover): Call init_powx unconditionally.
4848
fa5aeffc
VS
48492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
4852
a346b81c
VS
48532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
4856 disk->partiton for safety.
4857
d89ee414
VS
48582011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4861 Fix a memory leak.
4862 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
4863
91ee7b6d
VS
48642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
4867
91e5a33d
VS
48682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
4871
9edd7be2
VS
48722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 Fix spaces handling in proc/self/mountinfo.
4875
4876 * util/getroot.c (unescape): New function.
4877 (grub_find_root_device_from_mountinfo): Use unescape.
4878
ba102053
VS
48792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 Support ZFS embedding.
4882
4883 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
4884 (grub_zfs_fs): Register grub_zfs_embed.
4885
aa94b870
VS
48862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 Fix MIPS compilation.
4889
4890 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
4891 * include/grub/offsets.h: Rename decompressor fields from
4892 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
4893 * util/grub-mkimage.c (image_targets): Use new names.
4894
5fbdac14
VS
48952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 Defer multiboot device parsing until we're in compressed part.
4898
4899 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
4900 bsd_part. setdevice has fallen into disuse.
4901 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
4902 (bsd_part): Likewise.
4903 (boot_dev): New variable.
4904 (multiboot_trampoline): Don't parse multiboot device.
4905 Pass multiboot device in %edx.
4906 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
4907 grub_boot_device.
4908 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
4909 Likewise.
4910 * grub-core/kern/i386/pc/startup.S: Save edx.
4911 (grub_boot_drive): Removed.
4912 (grub_install_dos_part): Likewise.
4913 (grub_install_bsd_part): Likewise.
4914 (grub_boot_device): New variable.
4915 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
4916 (grub_install_bsd_part): Likewise.
4917 (grub_boot_drive): Likewise.
4918 (grub_boot_device): New variable.
4919 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
4920 Removed.
4921 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4922 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
4923 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
4924 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
4925 * util/grub-install.in: Remove redundant condition.
4926
691cbb58
VS
49272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 Fix bug introduced by previous commit.
4930
4931 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
4932
60240b8b
VS
49332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 Use decompressors framework on i386-pc. It increases core size
4936 by 46 bytes but improves compatibility and maintainability.
4937
4938 * grub-core/Makefile.core.def (lzma_decompress): New image.
4939 (kernel): Add i386_pc_ldflags.
4940 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
4941 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
4942 to real_to_prot, prot_to_real and device info.
4943 * include/grub/offsets.h: Renamed decompressor offsets.
4944 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
4945 (image_target_desc): Remove raw_size and rename decompressor fields.
4946 (compress_kernel): Handle lzma.
4947 (generate_image): Handle decompressors on i386-pc.
4948
e9d3421c
VS
49492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * configure.ac: Add -fno-asynchronous-unwind-tables.
4952
2b23074a
VS
49532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 Move assembly code to C by using intwrap. It increases core size
4956 by 88 bytes but improves compatibility and maintainability.
4957
4958 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
4959 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
4960 ... here. Translated to C.
4961 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
4962 * grub-core/term/i386/pc/console.c (grub_console_getkey):
4963 ... here. Translated to C.
4964 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
4965 * grub-core/term/i386/pc/console.c (grub_console_getxy):
4966 ... here. Translated to C.
4967 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
4968 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
4969 ... here. Translated to C.
4970 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
4971 * grub-core/term/i386/pc/console.c (grub_console_cls):
4972 ... here. Translated to C.
4973 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
4974 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
4975 ... here. Translated to C.
4976 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
4977 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
4978 Translated to C.
4979 * grub-core/term/i386/pc/console.c (int10_9): New function.
4980 (grub_console_putchar): Likewise.
4981 * include/grub/i386/pc/console.h: Removed the not anymore shared
4982 functions.
4983
678f4b67
VS
49842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 Move grub_chainloader_real_boot out of the kernel.
4987
4988 * grub-core/Makefile.am: Remove machine/loader.h.
4989 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
4990 Removed.
4991 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
4992 variable.
4993 (grub_relocator16_keep_a20_enabled): Likewise.
4994 (grub_relocator16_boot): Fill new variables.
4995 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
4996 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
4997 relocator.
4998 (grub_chainloader_unload): Likewise.
4999 (grub_chainloader_cmd): Likewise.
5000 * include/grub/i386/pc/loader.h: Removed.
5001 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5002 and esi. All initialisers updated.
5003
4626edf6
VS
50042011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
50052011-11-12 Colin Watson <cjwatson@ubuntu.com>
5006
5007 * Makefile.util.def (grub-mount): New util.
5008 * .bzrignore: Add grub-mount.
5009 * configure.ac: Check for fuse and enable grub-mount if available.
5010 * docs/man/grub-mount.h2m: New file.
5011 * util/grub-mount.c: Likewise.
5012
10f0117b
VS
50132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 * grub-core/commands/efi/fixvideo.c: Gettextize.
5016 * grub-core/commands/hashsum.c: Likewise.
5017 * grub-core/commands/i386/cmostest.c: Likewise.
5018 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5019 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5020 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5021 * grub-core/commands/lsmmap.c: Likewise.
5022 * grub-core/commands/menuentry.c: Likewise.
5023 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5024 * grub-core/commands/setpci.c: Likewise.
5025 * grub-core/loader/i386/bsd.c: Likewise.
5026 * grub-core/loader/i386/linux.c: Likewise.
5027 * util/getroot.c: Likewise.
5028 * util/grub-editenv.c: Likewise.
5029 * util/grub-fstest.c: Likewise.
5030 * util/grub-mkfont.c: Likewise.
5031 * util/grub-mkimage.c: Likewise.
5032 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5033 * util/grub-pe2elf.c: Likewise.
5034 * util/grub-probe.c: Likewise.
5035 * util/grub-setup.c: Likewise.
5036 * util/ieee1275/ofpath.c: Likewise.
5037 * util/misc.c: Likewise.
5038 * util/raid.c: Likewise.
5039
566f779b
RM
50402011-11-11 Robert Millan <rmh@gnu.org>
5041
5042 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5043 __attribute__((unused)) from `os_dev', which *is* being used.
5044
b50787de
VS
50452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5048 forgotten define.
5049 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5050 GRUB_IA64_DL_GOT_ALIGN.
5051 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5052 GRUB_IA64_DL_TRAMP_ALIGN.
5053
119d11c8
VS
50542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5055
5056 Replace grub_fatal with normal errors in i386 linux loader.
5057
5058 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5059 (allocate_pages): Check find_efi_mmap_size return value.
5060 (grub_e820_add_region): Return error.
5061 (grub_linux_boot): Check mmap return value.
5062
6e0632e2
VS
50632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 * grub-core/commands/acpihalt.c: Gettextized.
5066 * grub-core/commands/cacheinfo.c: Likewise.
5067 * grub-core/commands/cmp.c: Likewise.
5068 * grub-core/commands/efi/loadbios.c: Likewise.
5069 * grub-core/commands/gptsync.c: Likewise.
5070 * grub-core/commands/ieee1275/suspend.c: Likewise.
5071 * grub-core/commands/legacycfg.c: Likewise.
5072 * grub-core/commands/memrw.c: Likewise.
5073 * grub-core/commands/minicmd.c: Likewise.
5074 * grub-core/commands/parttool.c: Likewise.
5075 * grub-core/commands/time.c: Likewise.
5076 * grub-core/commands/videoinfo.c: Likewise.
5077 * grub-core/disk/geli.c: Likewise.
5078 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
5079 * grub-core/disk/luks.c: Likewise.
5080 * grub-core/disk/lvm.c: Likewise.
5081 * grub-core/font/font_cmd.c: Likewise.
5082 * grub-core/fs/zfs/zfscrypt.c: Likewise.
5083 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5084 * grub-core/gfxmenu/view.c: Likewise.
5085 * grub-core/kern/emu/hostdisk.c: Likewise.
5086 * grub-core/kern/emu/main.c: Likewise.
5087 * grub-core/kern/emu/misc.c: Likewise.
5088 * grub-core/kern/emu/mm.c: Likewise.
5089 * grub-core/kern/mips/arc/init.c: Likewise.
5090 * grub-core/kern/mips/loongson/init.c: Likewise.
5091 * grub-core/kern/partition.c: Likewise.
5092 * grub-core/lib/i386/halt.c: Likewise.
5093 * grub-core/lib/mips/arc/reboot.c: Likewise.
5094 * grub-core/lib/mips/loongson/reboot.c: Likewise.
5095 * grub-core/loader/i386/pc/chainloader.c: Likewise.
5096 * grub-core/loader/i386/xnu.c: Likewise.
5097 * grub-core/loader/multiboot.c: Likewise.
5098 * grub-core/net/bootp.c: Likewise.
5099 * grub-core/net/net.c: Likewise.
5100 * grub-core/normal/term.c: Likewise.
5101 * grub-core/partmap/bsdlabel.c: Likewise.
5102 * grub-core/parttool/msdospart.c: Likewise.
5103 * grub-core/term/gfxterm.c: Likewise.
5104 * grub-core/term/terminfo.c: Likewise.
5105 * grub-core/video/i386/pc/vbe.c: Likewise.
5106 * util/grub-menulst2cfg.c: Likewise.
5107 * util/grub-mkdevicemap.c: Likewise.
5108 * util/grub-mklayout.c: Likewise.
5109 * util/grub-mkrelpath.c: Likewise.
5110 * util/grub-script-check.c: Likewise.
5111 * util/ieee1275/grub-ofpathname.c: Likewise.
5112 * util/resolve.c: Likewise.
5113
073aa7a9
VS
51142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 Support %1$d syntax.
5117
5118 * tests/printf_unit_test.c: New file.
5119 * Makefile.util.def (printf_test): New test.
5120 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
5121
c76b5417
VS
51222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
5125 fix.
5126
df067ad1
VS
51272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
5130 dprintf.
5131 * grub-core/font/font.c (grub_font_load): Likewise.
5132
5b289bc5
VS
51332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * util/grub-macho2img.c: Add comment concerning gettext.
5136 * grub-core/lib/legacy_parse.c: Likewise.
5137
c1860f87
VS
51382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
5141 (grub_xvasprintf): Likewise.
5142
d35d0d37
VS
51432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 Add const keyword to grub_env_get and gettextize week days.
5146
5147 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
5148 (grub_read_hook_datetime): Return const char *.
5149 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
5150 updated.
5151 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5152 Mark for gettext.
5153 (grub_get_weekday_name): Return const char *. Call gettext.
5154 * grub-core/script/argv.c (grub_script_argv_append): Receive const
5155 char * and len as the argument. All users updated.
5156 (grub_script_argv_split_append): Receive const char *.
5157 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
5158 * include/grub/env.h (grub_env_get): Likewise.
5159 (grub_env_read_hook_t): Return const char *.
5160 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
5161 (grub_script_argv_split_append): Likewise.
5162
9aed8a71
VS
51632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
5166
067fdf00
VS
51672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5168
5169 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
5170 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
5171
a8bd9d39
VS
51722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
5175 Fix prototype.
5176
f7ce5baf
VS
51772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 Fix mips compilation.
5180
5181 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
5182 normal decoder.
5183 (hashes): Use in embed decoder as well (for sizes).
5184 (dec_stream_header): Fix embed decompressor logic.
5185 (dec_stream_footer): Likewise.
5186
9bb182f3
VS
51872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
5190 an error and not a fatal on unrecognised relocation types.
5191
63a9e6f6
VS
51922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5195 Issue error rather than printf on unknown arguments.
5196
4c458569
VS
51972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
5200 Make buf a const.
5201
e2d22baf
VS
52022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
5205 Fix module name.
5206
53dc8590
VS
52072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
5210 leftover debug printf.
5211
6c189294
VS
52122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
5215
f7688369
VS
52162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
5219 A stylistic fix.
5220
11a775a3
VS
52212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
5224
33f784e8
SL
52252011-11-10 Shea Levy <slevy@tieronedesign.com>
5226
5227 Allow all modules to perform serial IO
5228
5229 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
5230 * include/grub/serial.h (grub_serial_port_configure): New inline
5231 function.
5232 (grub_serial_port_fetch): Likewise.
5233 (grub_serial_port_put): Likewise.
5234 (grub_serial_port_fini): Likewise.
5235 (grub_serial_find): New proto.
5236
f6276525
VS
52372011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 Put symlink at the end of the node and fix a potential
5240 memory corruption.
5241
5242 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
5243 Make symlink into an array.
5244 (set_rockridge): Set have_symlink and alloc_dirents.
5245 (grub_iso9660_read_symlink): Use new layout.
5246 (grub_iso9660_iterate_dir): Fix memory corruption.
5247 Use new layout.
5248 (grub_iso9660_dir): Set have_symlink.
5249 (grub_iso9660_open): Likewise.
5250
c3591189
VS
52512011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 Remove local keyword.
5254
5255 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
5256 (version_test_gt): Likewise.
5257 (version_find_latest): Likewise.
5258 (gettext_printf): Likewise.
5259 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
5260
cb544caa
VS
52612011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
5264
45bd824d
VS
52652011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 Fix ZFS memory and resource leaks.
5268
5269 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
5270 All users updated.
5271 Free type on exit.
5272 (fill_vdev_info): New parameter inserted. All users updated.
5273 (check_pool_label): Likewise.
5274 (scan_disk): Likewise.
5275 (scan_devices): Close non-inserted disks.
5276 (fzap_iterate): Free l.
5277 (unmount_device): Free children descripto memory.
5278
ad9a2f44
VS
52792011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
5282 argument (access out of bounds).
5283
6b68db81
VS
52842011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
5287 >= 6 drives.
5288
28840fda
VS
52892011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
5292 Fix declaration.
5293
8a5a3a5b
VS
52942011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 Fix several memory leaks.
5297
5298 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
5299 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
5300 (grub_cpio_dir): Likewise.
5301 * grub-core/fs/fat.c (grub_fat_label): Likewise.
5302 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
5303 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
5304 (grub_romfs_label): Likewise.
5305 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
5306 (squash_unmount): New function.
5307 (grub_squash_dir): Fix memory leak.
5308 (grub_squash_open): Likewise.
5309 (grub_squash_read): Likewise.
5310 (grub_squash_mtime): Likewise.
5311 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
5312 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
5313 * util/grub-fstest.c (fstest): Likewise.
5314
57b01250
VS
53152011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
5318 avoid accessing beyond the array.
5319
19e81ba7
VS
53202011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
5323
52b656c0
VS
53242011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 Several AFFS fixes.
5327
5328 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
5329 (GRUB_AFFS_FLAG_FFS): Removed.
5330 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
5331 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
5332 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
5333 (grub_fshelp_node): Make block 32-bit.
5334 Add block_cache and last_block_cache.
5335 (grub_affs_read_block): Fill and use block cache.
5336 (grub_affs_read_file): Removed.
5337 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
5338 boot block.
5339 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
5340 safety.
5341 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
5342 space.
5343 (grub_affs_close): Free block cache.
5344 (grub_affs_read): Use grub_fshelp_read_file directly.
5345
438a746a
VS
53462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
5349 with no error set.
5350
49a45021
VS
53512011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
5354 used variable.
5355 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5356 Likewise.
5357
3ae17eb8
VS
53582011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5359
5360 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
5361
5362 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
5363 byteswap when needed.
5364
27610c38
VS
53652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5366
5367 Fix FreeBSD compilation.
5368
5369 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
5370 to avoid circular dependency.
5371 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
5372 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
5373 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
5374
4a19b601
VS
53752011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 Fix ZFS crypto error types.
5378
5379 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
5380 (grub_gcm_decrypt): Likewise.
5381 (grub_zfs_load_key_real): Fix error code type. Handle possible error
5382 from PBKDF2.
5383
958ee221
VS
53842011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 Illumos support.
5387
5388 * Makefile.util.def (10_illumos): New script.
5389 * configure.ac: Set COND_HOST_ILLUMOS.
5390 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
5391 Support Illumos calls.
5392 (find_partition_start) [__sun__]: Likewise.
5393 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
5394 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
5395 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
5396 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
5397 device.
5398 * util/grub-probe.c (probe) [__sun__]: Do character check.
5399 * util/grub.d/10_illumos.in: New file.
5400
cac14fb6
VS
54012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 Support escaped commas in hostdisk.
5404
5405 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
5406 (find_grub_drive): Use unescape_cmp.
5407 (make_device_name): Escape commas.
5408
78e08dc3
VS
54092011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
5412
9f421dd1
VS
54132011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
5416 variable.
5417
ed64e9e2
VS
54182011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 Support trampoline jumps on powerpc.
5421
5422 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
5423 __ia64__ path.
5424 (grub_dl_load_segments): Set mod->sz.
5425 (grub_dl_flush_cache): Flush whole space occupied by module, not just
5426 segments.
5427 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
5428 (jump): Likewise.
5429 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
5430 function.
5431 (trampoline): New struct.
5432 (trampoline_template): New const.
5433 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
5434 * include/grub/dl.h (grub_dl): Add sz element.
5435 [__powerpc__]: Follow __ia64__.
5436 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
5437 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
5438 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
5439 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
5440
3084ede4
VS
54412011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 ZFS crypto support.
5444
5445 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
5446 * grub-core/Makefile.core.def (zfscrypt): New module.
5447 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
5448 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
5449 it. All users updated.
5450 (grub_zfs_decrypt): New var.
5451 (grub_zfs_load_key): Likewise.
5452 (zio_checksum_functions): Add SHA256+MAC.
5453 (zio_checksum_verify): Handle incomplete comparison due to MAC.
5454 (zio_read): Handle encrypted blocks.
5455 (zap_verify): Remove incorrect check.
5456 (fzap_iterate): Handle non-standard fzap.
5457 (zap_iterate): Likewise.
5458 (zap_iterate_u64): New function.
5459 (dnode_get_fullpath): Load keys.
5460 * grub-core/fs/zfs/zfscrypt.c: New file.
5461 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
5462 (grub_crypto_ecb_encrypt): Make input const.
5463 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
5464 (grub_crypto_ecb_encrypt): Make input const.
5465 (GRUB_CIPHER_AES): New macro.
5466 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
5467 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
5468 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
5469 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
5470 prefix. All users updated.
5471 (grub_zfs_add_key): New proto.
5472 (grub_zfs_decrypt): Likewise.
5473 (grub_zfs_load_key): Likewise.
5474 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
5475 * util/grub-fstest.c (options): Add -K option.
5476 (argp_parser): Likewise.
5477
b632b404
VS
54782011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 Support zle compression on ZFS.
5481
5482 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
5483 (decomp_table): Add zle.
5484 * include/grub/zfs/zio.h (zio_compress): Add zle.
5485
c7ba4f69
VS
54862011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 Support BtrFS embedding.
5489
5490 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
5491 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
5492 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
5493 * util/grub-setup.c (setup): Use fs embedding if available.
5494 Add additional sanity check.
5495
455377d9
VS
54962011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * util/grub-install.in: Fix condition for config_opt.
5499
c2fd16ca
VS
55002011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 Support third redundancy strip on raidz3.
5503
5504 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
5505 Return error on singularity. All users updated.
5506 (read_device): Don't stop on 3rd failure on raidz3.
5507
8622923b
VS
55082011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 Support case-insensitive ZFS subvolumes.
5511
5512 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
5513 All users updated.
5514 (zap_hash): Likewise.
5515 (name_cmp): New function.
5516 (zap_leaf_array_equal): New parameter case_insensitive.
5517 All users updated.
5518 (zap_leaf_lookup): Likewise.
5519 (fzap_lookup): Likewise.
5520 (zap_lookup): Likewise.
5521 (dnode_get_path): New parameter case_insensitive. Retrieve case
5522 sensitiviness of a volume. All users updated.
5523 (dnode_get_fullpath): New parameter case_insensitive.
5524 All users updated.
5525 (grub_zfs_dir): Set info.case_insensitiveness.
5526
95f2e860
VS
55272011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 Support second redundancy strip on raidz(2,3).
5530
5531 * grub-core/fs/zfs/zfs.c (powx): New array.
5532 (powx_inv): Likewise.
5533 (poly): New const.
5534 (xor_out): New function.
5535 (gf_mul): Likewise.
5536 (recovery): Likewise.
5537 (read_device): Use second redundancy strip.
5538
11ee4389
VS
55392011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 Use a power of generator representation of GF(256) multiplication group
5542 to save space time and complexity.
5543
5544 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
5545 (raid6_table2): Likewise.
5546 (powx): New array.
5547 (powx_inv): Likewise.
5548 (poly): New const.
5549 (grub_raid_block_mul): Replace with ...
5550 (grub_raid_block_mulx): ...this.
5551 (grub_raid6_init_table): Rewritten.
5552 (grub_raid6_recover): Use power of generator representation.
5553
09e2763f
VS
55542011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
5557 for the right device.
5558
8bec9a28
VS
55592011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
5562 expected by grub-mkimage and it's more clear since there is no implicit
5563 padding.
5564
dbd3a32e
VS
55652011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
5568 disk.
5569 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5570
182c872a
PMH
55712011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
5572
5573 * util/grub-mkrescue.in: Fix handling xorriso option.
5574
1e51cabd
VS
55752011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
5578 NULL.
5579
9cc3581d 55802011-11-03 crocket <crockabiscuit@gmail.com>
5581
5582 * util/grub.d/10_linux.in: Add Slackware initrd naming.
5583
158dc1ea
VS
55842011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 XZ CRC64 and SHA256 support.
5587
5588 * Makefile.util.def (libgrubmods): Add crc64.c.
5589 * grub-core/Makefile.core.def (crc64): New module.
5590 * grub-core/lib/crc64.c: New file.
5591 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
5592 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
5593 Fix the type.
5594 (MAX_HASH_SIZE): New define.
5595 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
5596 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
5597 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5598 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5599 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
5600 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
5601 Handle non-crc32 hashes.
5602 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
5603 (dec_stream_header): Handle non-crc32 hashes.
5604 (dec_stream_footer): Likewise.
5605 (dec_block_header): Likewise.
5606 (dec_main): Likewise.
5607 (xz_dec_init): Likewise.
5608 (xz_dec_reset): Likewise.
5609 (xz_dec_end): Likewise.
5610 * util/import_gcry.py: Add CRC64 line.
5611
9d9b3d2f
VS
56122011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
5615 as well.
5616
7d0ac931
VS
56172011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 Make reiserfs label retrieval similar to other *_label functions.
5620
5621 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
5622 (REISERFS_MAX_LABEL_LENGTH): Removed.
5623 (REISERFS_LABEL_OFFSET): Likewise.
5624 (grub_reiserfs_label): Rewritten.
5625
56262011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
5629 field.
5630
cf5ba824
VS
56312011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
5634
17744004
VS
56352011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
5638 drive failure on both raidz and raidz2.
5639
aca5aefc
VS
56402011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 Fix RAIDZ(2) for >= 5 devices.
5643
5644 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
5645 asize argument. All users updated.
5646
ce8ca56e
VS
56472011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5648
5649 Fix RAIDZ(2).
5650
5651 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
5652 (fill_vdev_info_real): Set ashift.
5653 (read_device): Rewrite RAIDZ part based on reverse engineering.
5654
7c01e783
VS
56552011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
5658 don't report potentially unavialiable fields in debug output.
5659 (find_path): Fix double-free and memory leak.
5660
ce109e84
VS
56612011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 Read label on UFS1.
5664
5665 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
5666 (grub_ufs_fs): Always set .label.
5667
87661123
VS
56682011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 Use shifts in UFS.
5671
5672 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
5673 (grub_ufs_data): New field log2_blksz.
5674 (grub_ufs_read_file): Use shifts.
5675 (grub_ufs_mount): Check block size and logarithm it.
5676
46bc1dc2
VS
56772011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
5680 long symlinks.
5681
19ee2987
VS
56822011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 Handle symlinks and long names on tar and cpio.
5685
5686 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
5687 (ATTR_FILE): Likewise.
5688 (ATTR_DIR): Likewise.
5689 (ATTR_LNK): Likewise.
5690 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
5691 (grub_cpio_find_file): Fill mode, handle linkname field as well as
5692 L and K entries.
5693 (grub_cpio_mount): Zero-fill data.
5694 (handle_symlink): New function.
46bc1dc2
VS
5695 (grub_cpio_dir): Handle symlinks.
5696 (grub_cpio_open): Likewise.
5697 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 5698
c83a08d8
VS
56992011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 Fix iso9660 filename limitations and fix memory leaks.
5702
5703 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
5704 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
5705
45cdd3ea
VS
57062011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 Fix JFS file name length limitations.
5709
5710 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
5711 (grub_jfs_diropen): Fix maximum filename length.
5712 (grub_jfs_getent): Fix filename length.
5713 (grub_jfs_lookup_symlink): Fix size checks.
5714
94ef05c2
VS
57152011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
5718 string.
5719
785ab8c7
VS
57202011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5721
eb0b6b45
VS
5722 Leverage BFS implementation to read AFS.
5723
5724 * Makefile.util.def (libgrubmods): Add afs.c.
5725 * grub-core/Makefile.core.def (afs): New module
5726 * grub-core/fs/afs.c: New file.
5727 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
5728
57292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 5732
c4a1628f
VS
57332011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * grub-core/fs/bfs.c: Run indent.
5736
5825b379
VS
57372011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 BFS implementation based on the specification.
5740
5741 * grub-core/fs/bfs.c: New file.
5742 * Makefile.util.def (libgrubmods): Add bfs.c.
5743 * grub-core/Makefile.core.def (bfs): New module.
5744
42b2a706
VS
57452011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * util/grub-fstest.c (cmd_cp): Clarify error message.
5748 (cmd_cmp): Likewise.
5749
61b99bfc
YB
57502011-10-30 Yves Blusseau <blusseau@zetam.org>
5751
5752 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
5753 and befs_be.
5754
faba3d16
VS
57552011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 Remove afs and befs because of copyright problem.
5758
5759 * grub-core/fs/afs.c: Removed.
5760 * grub-core/fs/afs_be.c: Removed.
5761 * grub-core/fs/befs.c: Removed.
5762 * grub-core/fs/befs_be.c: Removed.
5763 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
5764 * grub-core/Makefile.core.def (afs): Removed.
5765 (afs_be): Likewise.
5766 (befs): Likewise.
5767 (befs_be): Likewise.
5768
c39224b0
VS
57692011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 Prefer rockridge over Joliet.
5772
5773 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
5774 to ...
5775 (set_rockridge): ... here.
5776 (grub_iso9660_mount): Check rockridge on the primary label when
5777 discovering. Ignore Joliet if Rockridge is present.
5778
e551115a
VS
57792011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 Use shifts in nilfs2.
5782
5783 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
5784 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
5785 (grub_nilfs2_palloc_entries_per_group): Replace with ...
5786 (grub_nilfs2_log_palloc_entries_per_group): ... this.
5787 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
5788 (grub_nilfs2_entries_per_block): Replaced with ...
5789 (grub_nilfs2_log_entries_per_block_log): ... this.
5790 (grub_nilfs2_blocks_per_group): Replaced with ...
5791 (grub_nilfs2_blocks_per_group_log): ... this.
5792 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
5793 (grub_nilfs2_blocks_per_desc_block_log): ... this.
5794 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
5795 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
5796 (grub_nilfs2_palloc_entry_offset): Replaced ...
5797 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
5798 (grub_nilfs2_dat_translate): Use shifts.
5799 (grub_nilfs2_read_inode): Likewise.
5800 (GRUB_MOD_INIT): Ensure that logs are correct.
5801
564dd58c
VS
58022011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 Use shifts in minix filesystem.
5805
5806 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
5807 (GRUB_MINIX_ZONE2SECT): Likewise.
5808 (grub_minix_data): Replace block_size with log_block_size.
5809 (grub_minix_read_file): Use shifts.
5810 (grub_minix_mount): Check block size and take a logarithm.
5811
ed9ba06d
VS
58122011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 Use shifts in squash4.
5815
5816 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
5817 (squash_mount): Check block size and take logarithm.
5818 (direct_read): Use shifts.
5819
ad03fe76
VS
58202011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 Correct befs block counting logic.
5823
5824 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
5825 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
5826 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
5827 (grub_afs_read_inode): Use block_shift.
5828 (RANGE_SHIFT): New definition.
5829 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
5830 unexpected conditions, use shifts and appropriate types.
5831 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
5832
6563f63d
VS
58332011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * grub-core/disk/raid.c (scan_devices): Check partition.
5836 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5837
5b1ae25f
VS
58382011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 Support BFS (befs) UUID.
5841
5842 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
5843 (grub_afs_small_data_element_header): New struct.
5844 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
5845 (grub_afs_read_attribute) [MODE_BFS]: New function.
5846 (grub_afs_iterate_dir): Allocate for complete inode.
5847 (grub_afs_mount): Likewise.
5848 (grub_afs_uuid) [MODE_BFS]: New function.
5849 (grub_afs_fs) [MODE_BFS]: Add .uuid.
5850
f8d82408
VS
58512011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
5854 (zfs_unmount): Fix memory leak.
5855
5773fb64
VS
58562011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 Support NTFS reparse points.
5859
5860 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
5861 (symlink_descriptor): New struct.
5862 (grub_ntfs_read_symlink): New function.
5863 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
5864 (grub_ntfs_open): Likewise.
5865
91c3fdde
VS
58662011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
5869
3be82e10
VS
58702011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 fstest xnu_uuid subcommand.
5873
5874 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
5875 grub-core/commands/xnu_uuid.c.
5876 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
5877 (fstest): Handle xnu_uuid.
5878 (options): Document xnu_uuid.
5879 (argp_parser): Parse xnu_uuid.
5880
8e32442e
VS
58812011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
5884 -l argument. Add newline at the end if printing.
5885 (GRUB_MOD_INIT): Document -l.
5886
52a05075
VS
58872011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
5890
1869edb5
VS
58912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 ZFS multi-device and version 33 support.
5894
5895 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
5896 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
5897 (grub_zfs_data): Add multidev-ice-related fields.
5898 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
5899 (dva_get_offset): Make dva const.
5900 (zfs_fetch_nvlist): New function.
5901 (fill_vdev_info_real): Likewise.
5902 (fill_vdev_info): Likewise.
5903 (check_pool_label): Likewise.
5904 (scan_disk): Likewise.
5905 (scan_devices): Likewise.
5906 (read_device): Likewise.
5907 (read_dva): Likewise.
5908 (zio_read_gang): Use read_dva.
5909 (zio_read_data): Likewise.
5910 (zap_leaf_lookup): Add missing endian conversion.
5911 (zap_verify): Add missing endian conversion. All users updated.
5912 (fzap_lookup): Likewise.
5913 (fzap_iterate): Likewise.
5914 (dnode_get_path): Handle SA bonus.
5915 (nvlist_find_value): Make input const. All users updated.
5916 (unmount_device): New function.
5917 (zfs_unmount): Use unmount_device.
5918 (zfs_mount): Use scan_disk.
5919 (zfs_mtime): New function.
5920 (grub_zfs_open): Handle system attributes.
5921 (fill_fs_info): Likewise.
5922 (grub_zfs_dir): Likewise.
5923 (grub_zfs_fs): Add mtime.
5924 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
5925 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
5926 (SA_MTIME_OFFSET): Likewise.
5927 (SA_SYMLINK_OFFSET): Likewise.
5928 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
5929 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
5930 (fstest): Support zfsinfo.
5931 (argp_parser): Likewise.
5932
186b4028
VS
59332011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
5936 error.
5937
59382011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
5939
5940 ZFS fixes.
5941
5942 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
5943 sharing the same block. Iterate over correct number of indices.
5944 (dnode_get_path): Handle symlinks correctly.
5945
c0584900
VS
59462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
5949
67e2bd71
VS
59502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 Read label on HFS+.
5953
5954 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
5955 (grub_hfsplus_btree_search): Fix types.
5956 (grub_hfsplus_label): Implement.
5957
e9cc6b7b
VS
59582011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
5961
19832ddb
VS
59622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
5965
66b40850
VS
59662011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 Fix symlink handling on iso9660.
5969
5970 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
5971 All users updated.
5972 (grub_iso9660_susp_iterate): Accept zero-size iterate.
5973 (grub_iso9660_read_symlink): Moved most of code ...
5974 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
5975
db821363
VS
59762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5979 Use union to avoid breaking strict-aliasing rules.
5980
e1211949
VS
59812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 Support multi-extent iso files.
5984
5985 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
5986 Add node.
5987 (grub_fshelp_node): Revamp. All users updated.
5988 (FLAG_*): New enum.
5989 (read_node): New function.
5990 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
5991 All users updated.
5992 (grub_iso9660_mount): Don't attempt to read sua when there is none.
5993 (get_node_size): New function.
5994 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
5995 entries.
5996 Fix memory leak on . and ..
5997 (grub_iso9660_read): Use read_node.
5998 (grub_iso9660_close): Free node.
5999
d4888031
VS
60002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 Fix tar 4G limit and handle paths containing dot.
6003
6004 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6005 (canonicalize): New function.
6006 (grub_cpio_find_file): Use canonicalize. Store offs in
6007 grub_disk_addr_t.
6008 (grub_cpio_dir): Use grub_disk_addr_t.
6009 (grub_cpio_open): Likewise.
6010
9f12e664
VS
60112011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6014
6015 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6016 unused flags.
6017 (grub_squash_inode): Add long_file and block_size.
6018 (grub_squash_cache_inode): New struct.
6019 (grub_squash_dirent): Make types into enum.
6020 (SQUASH_TYPE_LONG_REGULAR): New type.
6021 (grub_squash_frag_desc): Add field size.
6022 (SQUASH_BLOCK_FLAGS): New enum.
6023 (grub_squash_data): Use grub_squash_cache_inode.
6024 (grub_fshelp_node): Make ino_chunk 64-bit.
6025 (read_chunk): Minor argument change. All users updated.
6026 (squash_mount): Use correct le_to_cpu.
6027 (grub_squash_open): Handle LONG_REGULAR.
6028 (direct_read): New function.
6029 (grub_squash_read_data): Handle blocks correctly.
6030
9f326fba
VS
60312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6034
f4d9b64b
VS
60352011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6038
5bbd28b8
VS
60392011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6040
6041 Fix 2G limit on ZFS.
6042
6043 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6044 types.
6045 (uberblock_verify): Likewise.
6046 (dmu_read): Likewise.
6047 (grub_zfs_read): Likewise. Remove invalid cast.
6048
68c72069
VS
60492011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6052 (grub_jfs_blkno): Fix incorrect shift.
6053 (grub_jfs_read_file): Use more appropriate types.
6054
6e536dc8
VS
60552011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 Support triple indirect on minix2 and minix3.
6058
6059 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6060 Declare triple_indir_zone.
6061 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6062 indirect.
6063
e0864e7a
VS
60642011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 Minix FS fixes.
6067
6068 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
6069 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
6070 Rename ctime to mtime. All users updated.
6071 (grub_minix_get_file_block): Fix types and double indirect computations.
6072
89481cab
VS
60732011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
6076 if no label is found.
6077 (grub_fat_iterate_dir): Fix file size type.
6078 (grub_fat_iterate_dir): Likewise.
6079
f646e143
VS
60802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
6083 save some space.
6084 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6085 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6086
534d769e
VS
60872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
6090
e084ba18
VS
60912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * util/import_gcry.py: Accept space between # and include.
6094
3471ecdf
VS
60952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
6098
124df5f6
VS
60992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 Fine grainely disable warnings on lexer. Remove Wno-error on it.
6102
6103 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
6104 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
6105 yylex_strncpy.
6106 * grub-core/script/yylex.l: Add fine-grained #pragma.
6107
4defb8d5
VS
61082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
6111 New inline function.
6112 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
6113 Likewise.
6114 (memset) [GRUB_UTIL]: Likewise.
6115 (memcmp) [GRUB_UTIL]: Likewise.
6116
4e94ae65
VS
61172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
6120 inline function rather than a define.
6121
18c575e5
VS
61222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6123
6124 * util/grub-setup.c: Add missing include.
6125
f8bc22a8
VS
61262011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * util/ieee1275/grub-ofpathname.c: Add missing include.
6129
3ce69fc9
VS
61302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
6133 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
6134 Likewise.
6135
d1e293bb
VS
61362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
6139 grub_memcmp usage.
6140
7a5c54a4
VS
61412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * util/grub-install.in: Add datarootdir as per automake manual
6144 suggestion.
6145 * util/grub-mknetdir.in: Likewise.
6146
61472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
6148
6149 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
6150 suggestion.
6151 * util/grub.d/10_kfreebsd.in: Likewise.
6152 * util/grub.d/10_linux.in: Likewise.
6153 * util/grub.d/10_netbsd.in: Likewise.
6154 * util/grub.d/10_windows.in: Likewise.
6155 * util/grub.d/20_linux_xen.in: Likewise.
6156
766f7d08
VS
61572011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 Remove redundant grub_kernel_image_size.
6160
6161 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
6162 _edata and _start.
6163 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
6164 the small code. It moves it only by few bytes but simplifies the code.
6165 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
6166 _start.
6167 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
6168 (grub_kernel_image_size): Removed.
6169 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
6170 (grub_kernel_image_size): Removed.
6171 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
6172 compiled with Apple toolchain.
6173 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
6174 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
6175 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
6176 (grub_total_module_size): Likewise.
6177 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
6178 Removed.
6179 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
6180 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
6181 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6182 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
6183 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
6184 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
6185 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
6186 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
6187 Removed.
6188 (grub_total_module_size): Removed.
6189 * util/grub-mkimage.c (image_target_desc): Remove image_size.
6190 (image_targets): Likewise.
6191 Set .compressed_size to no field on sparc.
6192 (generate_image): Remove kernel_image_size handling.
6193
fcf1d672
SJ
61942011-10-19 Szymon Janc <szymon@janc.net.pl>
6195
6196 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
6197 NULL pointer dereference.
6198
de9c615e
VS
61992011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
6202 done with a dedicated section.
6203
6204 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
6205 Ensure the correct position of boot_path.
6206 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
6207 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
6208 other fields.
6209 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
6210 * include/grub/boot.h: Removed. All references removed.
6211 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6212 Removed.
6213 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
6214
e55599dc
VS
62152011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
6218 name.
6219
36dd20ad
VS
62202011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
6223
f8f72eb8
VS
62242011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6227 Don't add the bogus brackets.
6228
a374751b
VS
62292011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 ExFAT support.
6232
6233 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6234 * grub-core/Makefile.core.def (exfat): New module.
6235 * grub-core/fs/exfat.c: New file.
6236 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
6237 (GRUB_FAT_ATTR_*): Make into an enum.
6238 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
6239 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
6240 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
6241 (GRUB_FAT_MAXFILE): Removed.
6242 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
6243 (grub_current_fat_bpb_t): New type.
6244 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
6245 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
6246 (grub_fat_dir_node_t): New type.
6247 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
6248 (fat_log2) [MODE_EXFAT]: Removed.
6249 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
6250 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
6251 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
6252 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
6253 (grub_fat_label) [MODE_EXFAT]: New function.
6254 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
6255 reserved_first_sector to 0.
6256
544c2487
VS
62572011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 Move grub_reboot out of the kernel.
6260
6261 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
6262 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
6263 * grub-core/lib/efi/reboot.c: ... here.
6264 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
6265 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6266 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
6267 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
6268 * grub-core/lib/i386/reboot_trampoline.S: ... here.
6269 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
6270 * grub-core/lib/ieee1275/reboot.c: ... here.
6271 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
6272 * grub-core/lib/mips/arc/reboot.c: ... here.
6273 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
6274 * grub-core/lib/mips/loongson/reboot.c: ...here.
6275 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
6276 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
6277 * include/grub/emu/misc.h (grub_reboot): New function declaration.
6278 * include/grub/i386/reboot.h: New file.
6279 * include/grub/mips/loongson/ec.h: Fix includes.
6280 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
6281 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
6282 * grub-core/lib/i386/reboot.c: New file.
6283
a97501d2
VS
62842011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 Make grub_prefix into module to fix the arbitrary limit and save
6287 some space.
6288
6289 * grub-core/kern/emu/main.c (grub_prefix): Removed.
6290 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
6291 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
6292 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
6293 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
6294 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
6295 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
6296 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
6297 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6298 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
6299 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
6300 * include/grub/ia64/efi/kernel.h: Removed.
6301 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
6302 (grub_prefix): Removed.
6303 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
6304 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
6305 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
6306 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
6307 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
6308 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
6309 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
6310 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
6311 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
6312 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
6313 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6314 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6315 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6316 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6317 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
6318 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
6319 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
6320 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6321 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
6322 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
6323 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
6324 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
6325 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
6326 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
6327 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
6328 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
6329 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
6330 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
6331 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
6332 from module.
6333 * util/grub-mkimage.c (image_target_desc): Removed prefix and
6334 prefix_end.
6335 (image_targets): Likewise.
6336 (generate_image): Put prefix as a module.
6337
39705fad
VS
63382011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 Replace grub_module_iterate with FOR_MODULES.
6341
6342 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
6343 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
6344 (grub_efi_modules_addr): ...this.
6345 * grub-core/kern/efi/init.c (grub_modbase): New variable.
6346 (grub_efi_init): Set grub_modbase.
6347 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
6348 (grub_modbase): New variable.
6349 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
6350 (grub_modbase): New variable.
6351 (grub_machine_init): Set grub_modbase.
6352 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
6353 (grub_modbase): New variable.
6354 (grub_machine_init): Set grub_modbase.
6355 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
6356 (grub_modbase): New variable.
6357 (grub_machine_init): Set grub_modbase.
6358 * grub-core/kern/main.c (grub_module_iterate): Remove.
6359 (grub_modules_get_end): Use grub_modbase.
6360 (grub_load_modules): Use FOR_MODULES.
6361 (grub_load_config): Likewise.
6362 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
6363 (grub_modbase): New variable.
6364 (grub_machine_init): Set grub_modbase.
6365 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
6366 (grub_modbase): New variable.
6367 (grub_machine_init): Set grub_modbase.
6368 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
6369 Removed.
6370 (grub_modbase): New variable.
6371 (grub_machine_init): Set grub_modbase.
6372 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
6373 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
6374 (grub_module_iterate): Likewise.
6375 (grub_modbase): New variable declaration.
6376 (FOR_MODULES): New macro.
6377
2afb7f6c
VS
63782011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6379
6380 * configure.ac: Check for __ctzdi2 and __ctzsi2.
6381 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
6382
366e34fa
VS
63832011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 Fix few obvious type discrepancies.
6386
6387 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
6388 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
6389 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
6390 variable.
6391 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
6392 and connected types.
6393 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
6394 offset.
6395 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
6396 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
6397 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
6398 and connected types.
6399
177b960e
VS
64002011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 Fix python 3.x incompatibilities.
6403
6404 * gentpl.py: Put brackets around print strings.
6405 * util/import_gcry.py: Open explicitly as utf-8.
6406 Use in instead of has_key.
6407
3b619ae1
VS
64082011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
6411 (GRUB_XFS_INO_AGBITS): Make into inline function.
6412 (GRUB_XFS_INO_INOINAG): Likewise.
6413 (GRUB_XFS_INO_AG): Likewise.
6414 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6415 (GRUB_XFS_EXTENT_OFFSET): Likewise.
6416 (GRUB_XFS_EXTENT_BLOCK): Likewise.
6417 (GRUB_XFS_EXTENT_SIZE): Likewise.
6418 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
6419 (GRUB_XFS_NEXT_DIRENT): Likewise.
6420 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
6421 (grub_xfs_read_file): Fix offset type.
6422
8bcebcb8
RM
64232011-10-15 Robert Millan <rmh@gnu.org>
6424
6425 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
6426
0017e5ef
RM
64272011-10-15 Robert Millan <rmh@gnu.org>
6428
6429 Fix build problem on FreeBSD and GNU/kFreeBSD.
6430
6431 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
6432
d8919552
VS
64332011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
6436
6437 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
6438 types.
6439 (grub_hfsplus_btree_recoffset): Likewise.
6440 (grub_hfsplus_btree_recptr): Likewise.
6441 (grub_hfsplus_find_block): Likewise.
6442 (grub_hfsplus_btree_search): Likewise.
6443 (grub_hfsplus_read_block): Likewise.
6444 (grub_hfsplus_read_file): Likewise.
6445 (grub_hfsplus_mount): Likewise.
6446 (grub_hfsplus_btree_iterate_node): Likewise.
6447 (grub_hfsplus_btree_search): Likewise.
6448 (grub_hfsplus_iterate_dir): Likewise.
6449 (grub_hfsplus_read): A small code simplification.
6450
c81296b6
VS
64512011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 * grub-core/kern/emu/hostdisk.c
6454 (convert_system_partition_to_system_disk): Don't assume that children
6455 of mapper nodes are mapper nodes.
6456
0eb8ffb1
VS
64572011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
6460 * include/grub/misc.h (grub_isxdigit): New function.
6461 * grub-core/video/colors.c (my_isxdigit): Removed. All users
6462 switched to grub_isxdigit.
6463 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
6464 number starting with a letter.
6465
a98f4a08
RM
64662011-10-09 Robert Millan <rmh@gnu.org>
6467
6468 LVM support for FreeBSD and GNU/kFreeBSD.
6469
6470 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
6471 GNU/kFreeBSD.
6472 (LVM_DEV_MAPPER_STRING): Move from here ...
6473 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
6474 * util/getroot.c: Include `<grub/util/lvm.h>'.
6475 (grub_util_get_dev_abstraction): Enable
6476 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
6477 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
6478 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
6479 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
6480 support it.
6481 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
6482 GNU/kFreeBSD.
6483 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
6484 when LVM abstraction is required for ${GRUB_DEVICE}.
6485
050e8e90
SJ
64862011-10-06 Szymon Janc <szymon@janc.net.pl>
6487
6488 Add support for LZO compression in GRUB:
6489 - import of minilzo library,
6490 - LZO decompression for btrfs,
6491 - lzop files decompression.
6492
6493 * grub-core/io/lzopio.c: New file.
6494 * grub-core/lib/adler32.c: Likewise.
6495 * grub-core/lib/minilzo/lzoconf.h: Likewise.
6496 * grub-core/lib/minilzo/lzodefs.h: Likewise.
6497 * grub-core/lib/minilzo/minilzo.c: Likewise.
6498 * grub-core/lib/minilzo/minilzo.h: Likewise.
6499 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
6500 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
6501 grub-core/lib/minilzo/minilzo.c to common.
6502 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
6503 cflags in cppflags.
6504 * grub-core/Makefile.core.def (btrfs): Likewise.
6505 * grub-core/Makefile.core.def (lzopio): New module.
6506 (adler32): Likewise.
6507 * grub-core/fs/btrfs.c: Include minilzo.h.
6508 (GRUB_BTRFS_COMPRESSION_LZO): New define.
6509 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
6510 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
6511 (grub_btrfs_lzo_decompress): New function.
6512 (grub_btrfs_extent_read): Add support for LZO compression type.
6513 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
6514 (GRUB_USHRT_MAX): Likewise.
6515 (GRUB_UINT_MAX): Likewise.
6516 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
6517 (UINT_MAX): Likewise.
6518 (CHAR_BIT): Likewise.
6519 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
6520 grub-core/lib/posix_wrap/limits.h
6521 (UCHAR_MAX): Likewise.
6522 * include/grub/file.h (grub_file_filter_id): New compression filter
6523 GRUB_FILE_FILTER_LZOPIO.
6524 * include/grub/file.h (grub_file_filter_id): Set
6525 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
6526 * include/grub/types.h (grub_get_unaligned16): New function.
6527 (grub_get_unaligned32): Likewise.
6528 (grub_get_unaligned64): Likewise.
6529 * util/import_gcry.py (cryptolist): Add adler32.
6530
0eb8ffb1
VS
65312011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
6534 in perspective decreases the complexity of build system and fixes
6535 compilation right now.
6536
ce79cc99 65372011-10-01 Ales Nesrsta <starous@volny.cz>
6538
6539 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
6540 (fixed problem related to using UHCI with coreboot).
6541
8667a314
BC
65422011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
6543
6544 * gentpl.py: Use Autogen macros so that the output template file
6545 (Makefile.tpl) size is reduced.
6546
fc5efcc0
MK
65472011-09-29 Mads Kiilerich <mads@kiilerich.com>
6548
6549 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
6550 extra_dist.
6551
d1ab689d
ML
65522011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6553
6554 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
6555 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
6556
c05de032
ML
65572011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6558
6559 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
6560 _fullpath.
6561
cca7ccd8
ML
65622011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6563
6564 Remove extra declaration of sleep for mingw32.
6565
6566 * util/misc.c (sleep) [__MINGW32__]: Removed.
6567 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
6568
e0b0dc83
GS
65692011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6570
6571 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
6572 type and packname.
6573 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
6574 Resurrected.
6575 (NETBSD_BTINFO_BOOTWEDGE): New definition.
6576 (grub_netbsd_btinfo_bootwedge): New struct.
6577 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6578 New function.
6579 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
6580
91a1a164
TH
65812011-09-28 Thomas Haller <thomas.haller@fen-net.de>
6582
6583 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
6584 loader.
6585
2ded951e
AB
65862011-09-28 Andreas Born <futur.andy@googlemail.com>
6587
6588 Fix incorrect identifiers in bash-completion.
6589
6590 * util/bash-completion.d/grub-completion.bash.in
6591 (_grub_mkpasswd-pbkdf2): Rename to ...
6592 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
6593 (_grub_script-check): Rename to ...
6594 (_grub_script_check): ... this. All users updated.
6595
69915030
VS
65962011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6599 Return 0 if disk isn't biosdisk.
6600
20fd15f9
GS
66012011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6602
6603 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
6604 on NetBSD.
6605 * Makefile.util.def (grub-fstest): Likewise.
6606
1a7d7db9
GS
66072011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6608
6609 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
6610 Get sector size from disk label.
6611
2221ab6c
CW
66122011-09-05 Colin Watson <cjwatson@ubuntu.com>
6613
6614 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
6615 */README* as well as README*.
6616 Reported by: Axel Beckert.
6617
ca51c4a0
VS
66182011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
6621 case of less than 256 MiB of RAM.
6622
ab80f326
VS
66232011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 * grub-core/commands/wildcard.c (make_regex): Handle @.
6626
4155e697
VS
66272011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * util/grub-install.in: Move cryptodisk logic to appropriate place.
6630
ab178c08
SJ
66312011-08-21 Szymon Janc <szymon@janc.net.pl>
6632
6633 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
6634 AC_LANG_CONFTEST macros.
6635
7dc3c686
SJ
66362011-08-20 Szymon Janc <szymon@janc.net.pl>
6637
6638 Add grub-fstest option to uncompress data for commands.
6639
6640 * util/grub-fstest.c (uncompress): New var.
6641 (options): New option -u.
6642
fe8d4a7b
SJ
66432011-08-20 Szymon Janc <szymon@janc.net.pl>
6644
6645 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6646 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
6647
a5219af1
SJ
66482011-08-20 Szymon Janc <szymon@janc.net.pl>
6649
6650 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
6651 file type was not recognized correctly (not gzip or corrupted).
6652
f87abff5
VS
66532011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
6656 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
6657
d94497ea
VS
66582011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
6661 loongson.
6662 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6663 video_radeon_fuloong2e.
6664 * grub-core/video/radeon_fuloong2e.c: New file.
6665 * include/grub/video.h (grub_video_id_t): Add new ID
6666 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
6667
0d1fd011
VS
66682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6669
6670 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
6671 define.
6672 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
6673 that PRID matches the detected subplatform and reset the subplatform
6674 if it doesn't.
6675
84beb0ee
VS
66762011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
6679
1227c133
VS
66802011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 Fix PCI iterating on functions >= 4.
6683
6684 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
6685 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
6686 Removed.
6687 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
6688 (grub_pci_read): Fix bitmask.
6689 (grub_pci_read_word): Likewise.
6690 (grub_pci_read_byte): Likewise.
6691 (grub_pci_write): Likewise.
6692 (grub_pci_write_word): Likewise.
6693 (grub_pci_write_byte): Likewise.
6694
9594c689
VS
66952011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
6698 can still be specified in TARGET_CFLAGS)
6699
14a2562c
VS
67002011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
6703
6704 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
6705 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
6706 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
6707 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
6708 (FULOONG): Rename to ...
6709 (FULOONG2F): ... this. All users updated.
6710 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
6711 (machtype_fuloong2f_str): ... this.
6712 (machtype_fuloong2e_str): New string.
6713 Check for machtype_fuloong2e_str.
6714 * grub-core/loader/mips/linux.c (loongson_machtypes)
6715 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
6716 * grub-core/term/serial.c (loongson_defserial)
6717 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
6718 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
6719 loongson_defserial.
6720 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
6721 Rename to ...
6722 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
6723 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
6724 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
6725 to IMAGE_FULOONG2F_FLASH. All users updated.
6726 (image_targets): Rename images.
6727 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
6728
b526cbb6
SJ
67292011-08-19 Szymon Janc <szymon@janc.net.pl>
6730
6731 Make enable of disk cache statistics code configurable.
6732
6733 * configure.ac: --enable-cache-stats added.
6734 * config.h.in (DISK_CACHE_STATS): New define.
6735 * grub-core/Makefile.core.def (cacheinfo): New command.
6736 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
6737 * grub-core/commands/cacheinfo.c: New file.
6738 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
6739 moved to cacheinfo.c.
6740 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
6741 debug code.
6742 * include/grub/disk.h: Likewise.
6743
fb739ccd
SJ
67442011-08-19 Szymon Janc <szymon@janc.net.pl>
6745
6746 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
6747 * grub-core/Makefile.am: Likewise.
6748
2bba8cfd
VS
67492011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
6752 non-zero pull.
6753
43526629
VS
67542011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
6757 All users updated.
6758 (grub_jfs_lookup_symlink): Use correct starting inode.
6759
5c144cc8
VS
67602011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 * util/grub-setup.c (main): Add missing gcry initialisation.
6763
b1257f65
VS
67642011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 Don't accept text modes on EFI when booting Linux.
6767
6768 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
6769 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
6770
828bc390
ML
67712011-08-15 Mario Limonciello <mario_limonciello@dell.com>
67722011-08-15 Colin Watson <cjwatson@ubuntu.com>
6773
6774 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
6775 use of "/path/.." as in grub-install for EFI as well as handling
6776 symlinks correctly.
6777 Fixes Debian bug #637768.
6778
5f60ccac
CW
67792011-08-15 Colin Watson <cjwatson@ubuntu.com>
6780
6781 * util/grub-probe.c: Remove duplicate #include.
6782
6dc212f9
RM
67832011-08-10 Robert Millan <rmh@gnu.org>
6784
6785 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
6786
6787 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
6788 function.
6789 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
6790 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
6791
66816d85
RM
67922011-08-03 Robert Millan <rmh@gnu.org>
6793
6794 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
6795 la_array as packed.
6796 Reported by: Zachary Bedell
6797
20168fca
CW
67982011-07-26 Colin Watson <cjwatson@ubuntu.com>
6799
6800 * configure.ac: The Loongson port requires grub-mkfont due to its
6801 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
6802 be built.
6803
303b6246
CW
68042011-07-26 Colin Watson <cjwatson@ubuntu.com>
6805
6806 * util/grub-install.in: Don't source grub-mkconfig_lib until after
6807 processing arguments (otherwise help2man fails when GRUB has not yet
6808 been installed).
6809
6795300e
VS
68102011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6811
41aa28ea
VS
6812 New script grub-mkstandalone.
6813
6814 * Makefile.util.def (grub-mkstandalone): New script.
6815 * docs/man/grub-mkstandalone.h2m: New file.
6816 * util/grub-mkstandalone.in: Likewise.
6817
68182011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 Support ATA disks with 4K sectors.
6795300e
VS
6821
6822 * include/grub/ata.h (grub_ata): New member log_sector_size.
6823 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
6824 (grub_ata_identify): Read sector size.
6825 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
6826
92227597
VS
68272011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * util/grub-install.in: Don't use uhci outside of x86.
6830
c77069f5
VS
68312011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 * util/grub-mkrescue.in: Add missing quotes.
6834
68352011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
6836
6837 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
6838 dereference.
6839
583168a2
VS
68402011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
6843
6be1c01f
VS
68442011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6845
6846 * include/grub/video.h: add missing EXPORT_FUND on
6847 grub_video_edid_checksum and grub_video_edid_preferred_mode.
6848
a1167439
VS
68492011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 * include/grub/mips/kernel.h: Fix define conflict.
6852
bf66054f
VS
68532011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
6856 all four ways.
6857
8fc4fa45
CW
68582011-07-21 Colin Watson <cjwatson@ubuntu.com>
6859
6860 Preferred resolution detection for VBE.
6861
6862 * grub-core/video/video.c (grub_video_edid_checksum): New function.
6863 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
6864 the Flat Panel extension, in line with the X.org VESA driver.
6865 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
6866 New function.
6867 (grub_vbe_bios_get_ddc_capabilities): Likewise.
6868 (grub_vbe_bios_read_edid): Likewise.
6869 (grub_vbe_get_preferred_mode): Likewise.
6870 (grub_video_vbe_setup): When the mode is "auto", try to get the
6871 preferred mode from VBE, and use the largest mode that is no larger
6872 than the preferred mode (some BIOSes expose a preferred mode that is
6873 not in their mode list!). If this fails, fall back to 640x480 as a
6874 safe conservative choice.
6875 (grub_video_vbe_get_edid): New function.
6876 (grub_video_vbe_adapter): Add get_edid.
6877 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
6878 (struct grub_video_adapter): Add get_edid.
6879 (grub_video_edid_checksum): Add prototype.
6880 (grub_video_edid_preferred_mode): Likewise.
6881 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
6882 structure.
6883
6884 * grub-core/commands/videoinfo.c (print_edid): New function.
6885 (grub_cmd_videoinfo): Print EDID if available.
6886
6887 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
6888 is more appropriate on a wider range of platforms than 640x480.
6889 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
6890 documentation.
6891
ca5572a9
VS
68922011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
6895
e4bcf625
VS
68962011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 * po/POTFILES.in: Regenerate.
6899
c4edd548
VS
69002011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
6903 incorrect memory usage.
6904
16a2bab0
VS
69052011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * util/grub-install.in: Source grub-mkconfig_lib.
6908
2e418de6
VS
69092011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 Remove getroot.c from core on emu platform.
6912
6913 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
6914 kern/emu/raid.c.
6915 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
6916 useless.
6917 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
6918 * util/getroot.c (get_win32_path): ... here.
6919 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
6920 * util/getroot.c (fini_libzfs): ... here.
6921 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
6922 * util/getroot.c (grub_get_libzfs_handle): ... here.
6923 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
6924 Moved from here...
6925 * util/getroot.c (grub_find_zpool_from_dir): ... here.
6926 * grub-core/kern/emu/misc.c
6927 (grub_make_system_path_relative_to_its_root): Moved from here...
6928 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
6929 * grub-core/kern/emu/getroot.c: Moved from here ...
6930 * util/getroot.c: ... here. All users updated.
6931 * grub-core/kern/emu/raid.c: Moved from here ...
6932 * util/raid.c: ... here. All users updated.
6933
def9832a
VS
69342011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 * po/POTFILES.in: Regenerate.
6937
cd8fe79a
VS
69382011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 Fix compilation on GNU/Linux.
6941
6942 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
6943 Disable geli.
6944 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
6945 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
6946 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
6947
a251b719
VS
69482011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
69492011-07-07 Michael Gorven <michael@gorven.za.net>
69502011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
6951
6952 LUKS and GELI support.
6953
6954 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
6955 grub-core/disk/luks.c, grub-core/disk/geli.c,
6956 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
6957 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
6958 grub-core/lib/arg.c.
6959 (libgrubmods.a): Remove gcrypts cflags and cppflags.
6960 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
6961 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
6962 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
6963 (grub-bin2h): Add libgcry.a.
6964 (grub-mkimage): Likewise.
6965 (grub-mkrelpath): Likewise.
6966 (grub-script-check): Likewise.
6967 (grub-editenv): Likewise.
6968 (grub-mkpasswd-pbkdf2): Likewise.
6969 (grub-pe2elf): Likewise.
6970 (grub-fstest): Likewise.
6971 (grub-mkfont): Likewise.
6972 (grub-mkdevicemap): Likewise.
6973 (grub-probe): Likewise.
6974 (grub-ofpath): Likewise.
6975 (grub-mklayout): Likewise.
6976 (example_unit_test): Likewise.
6977 (grub-menulst2cfg): Likewise.
6978 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
6979 * grub-core/Makefile.core.def (cryptodisk): New module.
6980 (luks): Likewise.
6981 (geli): Likewise.
6982 * grub-core/disk/AFSplitter.c: New file.
6983 * grub-core/disk/cryptodisk.c: Likewise.
6984 * grub-core/disk/geli.c: Likewise.
6985 * grub-core/disk/luks.c: Likewise.
6986 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
6987 grub_util_is_lvm.
6988 (grub_util_get_dm_abstraction): New function.
6989 (grub_util_follow_gpart_up): Likewise.
6990 (grub_util_get_geom_abstraction): Likewise.
6991 (grub_util_get_dev_abstraction): Use new functions.
6992 (grub_util_pull_device): Pull GELI and LUKS.
6993 (grub_util_get_grub_dev): Handle LUKS and GELI.
6994 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
6995 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
6996 (follow_geom_up): Removed.
6997 (grub_util_fd_seek): New function.
6998 (open_device): Use grub_util_fd_seek.
6999 (nread): Rename to ..
7000 (grub_util_fd_read): ... this. All users updated.
7001 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7002 (grub_crypto_cbc_decrypt): Likewise.
7003 (grub_crypto_hmac_write): Likewise.
7004 (grub_crypto_hmac_buffer): Likewise.
7005 (grub_password_get): Extend to util.
7006 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7007 New member modname.
7008 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7009 * include/grub/cryptodisk.h: New file.
7010 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7011 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7012 LUKS and GELI.
7013 (grub_util_follow_gpart_up): New proto.
7014 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7015 (grub_util_fd_read): Likewise.
7016 (grub_cryptodisk_cheat_mount): Likewise.
7017 (grub_util_cryptodisk_print_uuid): Likewise.
7018 (grub_util_get_fd_sectors): Likewise.
7019 * util/grub-fstest.c (mount_crypt): New var.
7020 (fstest): Mount crypto if requested.
7021 (options): New option -C.
7022 (argp_parser): Parse -C.
7023 (main): Init and fini gcry.
7024 * util/grub-install.in: Support cryptodisk install.
7025 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7026 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7027 cryptodisk.
7028 (prepare_grub_to_access_device): Likewise.
7029 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7030 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7031 (probe_cryptodisk_uuid): New function.
7032 (probe_abstraction): Likewise.
7033 (probe): Use new functions.
7034 * util/import_gcry.py: Create Makefile.utilgcry.def.
7035 Add modname member.
7036
9bfdcbbc
VS
70372011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 Lazy device scanning.
7040
7041 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7042 (grub-setup): Remove util/raid.c.
7043 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7044 * grub-core/disk/lvm.c (scan_depth): New variable.
7045 (grub_lvm_iterate): Rescan if necessary.
7046 (find_lv): New function based on grub_lvm_open.
7047 (grub_lvm_open): Use find_lv. Rescan on error.
7048 (is_node_readable): New function.
7049 (is_lv_readable): Likewise.
7050 (grub_lvm_scan_device): Skip already found disks.
7051 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7052 Stop if searched device is found and readable.
7053 * grub-core/disk/raid.c (inscnt): New variable.
7054 (scan_depth): Likewise.
7055 (scan_devices): New function based on grub_raid_register. Abort if
7056 looked for device is found.
7057 (grub_raid_iterate): Rescan if needed.
7058 (find_array): NEw function based on -grub_raid_open.
7059 (grub_raid_open): Use find_array and rescan.
7060 (insert_array): Set became_readable_at.
7061 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7062 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7063 New function.
7064 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
7065 (grub_util_pull_device): New function.
7066 (grub_util_get_grub_dev): Call grub_util_pull_device.
7067 * util/raid.c: Moved to ..
7068 * grub-core/kern/emu/raid.c: ... here.
7069 (grub_util_raid_getmembers): New parameter "bootable".
7070 All users updated. Support 1.x.
7071 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
7072 All users updated.
7073 * include/grub/disk.h (grub_disk_pull_t): New enum.
7074 (grub_disk_dev): Change iterate prototype.
7075 All users updated.
7076 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
7077 New proto.
7078 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
7079 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
7080 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
7081 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
7082 All users updated.
7083 * include/grub/util/raid.h: Removed.
7084
1c358e59
VS
70852011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * po/POTFILES.in: Regenerate.
7088
abee94ed
VS
70892011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 Unify sparc init with other ieee1275.
7092
7093 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
7094 instead of kern/sparc64/ieee1275/init.c.
7095 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
7096 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
7097 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
7098 grub/machine/kernel.h.
7099 (grub_ieee1275_original_stack) [__sparc__]: New variable.
7100 (grub_claim_heap) [__sparc__]: Use sparc version.
7101 (grub_machine_init): Moved args parsing to
7102 (grub_parse_cmdline): ...this.
7103 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
7104 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
7105 New definition.
7106 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
7107
7108 Move BOOTP to separate file.
7109
7110 * grub-core/Makefile.core.def (net): Add net/bootp.c.
7111 * grub-core/net/net.c: Move all BOOTP functions to
7112 * grub-core/net/bootp.c: ... here.
7113
7114 Use frame interface on PXE.
7115
7116 * grub-core/Makefile.core.def (pxecmd): Removed.
7117 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
7118 * grub-core/commands/i386/pc/pxecmd.c: Removed.
7119 * grub-core/i386/pc/pxe.c: Moved from here ...
7120 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
7121 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
7122 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
7123
7124 EFI network support.
7125
7126 * grub-core/Makefile.core.def (efinet): New module.
7127 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
7128 here...
7129 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
7130 All users updated.
7131 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
7132 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
7133 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
7134 * grub-core/net/drivers/efi/efinet.c: New file.
7135 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
7136 (grub_efi_net_config): New extern var.
7137
7138 Various cleanups and bugfixes.
7139
7140 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
7141 error.
7142 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
7143 disk declared as partition.
7144 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
7145 leak on failure.
7146 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
7147 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
7148 (grub_debug_zalloc): Likewise.
7149 (grub_debug_realloc): Likewise.
7150 (grub_debug_memalign): Likewise.
7151 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
7152 Check that target is IPv4.
7153 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
7154 local-mac-address as fallback.
7155 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
7156 memory leak.
7157 * grub-core/net/ip.c (ipchksum): Rename to ...
7158 (grub_net_ip_chksum): ... this. All users updated.
7159 (grub_net_recv_ip_packets): Special handling for DHCP.
7160 * util/grub-mkimage.c (generate_image): Zero-out aout header.
7161
7162 Unify prefix handling
7163
7164 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
7165 (grub_machine_get_bootlocation): ... this.
7166 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
7167 (grub_machine_get_bootlocation): ... this.
7168 (grub_prefix): New variable.
7169 (prefix): Removed.
7170 (root_dev): New variable.
7171 (dir): Likewise.
7172 (main): Use new variables.
7173 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
7174 Revamped into ...
7175 (grub_machine_get_bootlocation): ... this.
7176 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
7177 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
7178 (grub_machine_get_bootlocation): ... this.
7179 (grub_machine_set_prefix): Removed.
7180 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
7181 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
7182 Revamped into ...
7183 (grub_machine_get_bootlocation): ... this.
7184 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
7185 (grub_set_prefix_and_root): ... this. All users updated.
7186 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
7187 Revamped into ...
7188 (grub_machine_get_bootlocation): ... this.
7189 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
7190 (grub_machine_get_bootlocation): New proto.
7191 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
7192
7193 Less intrusive and more reliable seek on network implementation.
7194
7195 * grub-core/kern/file.c (grub_file_net_seek): Removed.
7196 (grub_file_seek): Don't call grub_file_net_seek.
7197 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
7198 (grub_net_fs_read_real): .. this.
7199 (grub_net_seek_real): Use net->offset.
7200 (grub_net_fs_read): Seek if necessary.
7201
7202 Unify IEEE1275 netwotk config with the other platforms.
7203
7204 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
7205 New variable.
7206 (grub_machine_get_bootlocation): Support network.
7207 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7208 Support type and device parsing.
7209 (grub_ieee1275_get_device_type): New function.
7210 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
7211 into ...
7212 (grub_ieee1275_net_config_real): ... this.
7213 (grub_ofnet_probecards): Removed.
7214 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
7215 * include/grub/ieee1275/ofnet.h: Removed.
7216 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
7217 extern var.
7218 (grub_ieee1275_get_device_type): New function.
7219
7220 Unify network device closing across platforms and make more robust.
7221
7222 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
7223 grub_grubnet_fini.
7224 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
7225 already.
7226 * grub-core/net/net.c (grub_net_network_level_interface_register):
7227 Update num_ifaces.
7228 (grub_net_card_unregister): Close all interfaces.
7229 (receive_packets): Don't poll if no iterfaces are registered.
7230 Open if necessary.
7231 (grub_net_fini_hw): New function.
7232 (grub_net_restore_hw): Likewise.
7233 (fini_hnd): New variable.
7234 (GRUB_MOD_INIT): Register preboot hook.
7235 (GRUB_MOD_FINI): Run and unregister preboot hook.
7236
7237 Poll network cards when idle.
7238
7239 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
7240 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
7241 * grub-core/net/net.c (receive_packets): Save last poll time.
7242 (grub_net_poll_cards_idle_real): New function.
7243 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
7244 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
7245 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
7246
7247 Rename ofnet interfaces.
7248
7249 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
7250 (grub_ofnet_findcards): Use ofnet_%s names.
7251
7252 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
7253
7254 Cleanup socket opening.
7255
7256 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
7257 (grub_net_fs_close): Likewise.
7258 (grub_net_fs_read_real): Use eof member.
7259 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
7260 (+grub_net_udp_close): New inline function.
7261
7262 * include/grub/net/tftp.h: Moved to the top of ...
7263 * grub-core/net/tftp.c: ... here.
7264 * include/grub/net/ip.h: Moved mostly to the top of ...
7265 * grub-core/net/ip.c: ... here.
7266 * include/grub/net/ethernet.h: Moved mostly to the top of ...
7267 * grub-core/net/ethernet.c: ... here.
7268
7269 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
7270
7271 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
7272 FS name.
7273
7274 * include/grub/net/ip.h (ipv4_ini): Removed.
7275 (ipv4_fini): Likewise.
7276
7277 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
7278 (grub_net_send_ip_packets): Likewise.
7279
cf1337aa
VS
72802011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7281
7282 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
7283 grub_read_cmos prototype.
7284
93c06ff9
VS
72852011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 VGA text support in qemu-mips
7288
7289 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
7290 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
7291 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
7292 text.
7293 * grub-core/kern/i386/qemu/init.c: Renamed to ...
7294 * grub-core/kern/vga_init.c: ... this.
7295 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
7296 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
7297 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
7298 Adjust.
7299 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
7300 GRUB_MACHINE_PCI_IO_BASE.
7301
748ccabe
VS
73022011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 MIPS qemu flash support.
7305
7306 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
7307 magic.
7308 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
7309 (grub_machine_init): Probe memory if its size isn't known.
7310 * util/grub-mkimage.c (image_targets): Add flash targets.
7311 (generate_image): Handle flash targets.
7312
d7345994
VS
73132011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7314
7315 MIPS qemu at_keyboard support.
7316
7317 * gentpl.py (videoinkernel): Add qemu-mips.
7318 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
7319 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
7320 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
7321 modules.
7322 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
7323 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
7324 * grub-core/term/serial.c (grub_serial_register)
7325 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
7326
a07a81b3
VS
73272011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 CMOS support on sparc.
7330
7331 * gentpl.py (cmos): Add powerpc and sparc.
7332 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
7333 powerpc and sparc.
7334 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
7335 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
7336 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
7337 grub_set_datetime_cmos.
7338 * grub-core/lib/ieee1275/cmos.c: New file.
7339 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
7340 (find_rtc): Set no_ieee1275_rtc on error.
7341 (grub_get_datetime): Call grub_get_datetime_cmos on error.
7342 (grub_set_datetime): Call grub_set_datetime_cmos on error.
7343 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
7344 fail. Move value to argument. All users updated
7345 (grub_cmos_write): Likewise.
7346 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
7347 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
7348 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
7349 grub_get_datetime_cmos and grub_set_datetime_cmos.
7350
77546584
GS
73512011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7352
7353 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
7354 sourcing grub-mkconfig_lib.
7355 * util/update-grub_lib.in: Likewise.
7356 * util/grub.d/00_header.in: Likewise.
7357 * util/grub.d/10_hurd.in: Likewise.
7358 * util/grub.d/10_kfreebsd.in: Likewise.
7359 * util/grub.d/10_linux.in: Likewise.
7360 * util/grub.d/10_netbsd.in: Likewise.
7361 * util/grub.d/10_windows.in: Likewise.
7362 * util/grub.d/20_linux_xen.in: Likewise.
7363 * util/grub.d/30_os-prober.in: Likewise.
7364
54894791
CW
73652011-06-28 Colin Watson <cjwatson@ubuntu.com>
7366
7367 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
7368 default_bg_color rather than black.
7369 (grub_gfxterm_fullscreen): Likewise.
7370 (grub_gfxterm_background_color_cmd): Save new background color in
7371 default_bg_color.
7372
8d5d8444
VS
73732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
7376
5afeb5bd
VS
73772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
7380 mismerge.
7381
ba7df45e
VS
73822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 Chainloading on coreboot support.
7385
7386 * grub-core/Makefile.core.def (chain): Add coreboot.
7387 * grub-core/loader/i386/coreboot/chainloader.c: New file.
7388
d0b526b2
VS
73892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
7392 if it happens.
7393
5ff1d945
VS
73942011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 Implement time command.
7397
7398 * grub-core/Makefile.core.def (time): New module.
7399 * grub-core/commands/time.c: New file.
7400 * grub-core/script/parser.y: Remove "time" keyword.
7401 * grub-core/script/yylex.l: Likewise.
7402
5ebaad7e
VS
74032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
7406
bdea3798
VS
74072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
7410 when handling leftovers.
7411
b28c5655
VS
74122011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
7415 so that help2man doesn't fail.
7416
b6f945dc
VS
74172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
7420 type in pointers on sparc64.
7421 (get_card_packet): Likewise.
7422
f9b75e8a
CW
74232011-06-27 Colin Watson <cjwatson@ubuntu.com>
7424
7425 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
7426 with `*'.
7427 (grub_cmd_videoinfo): Fetch current video mode.
7428
1e3d9b86
VS
74292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
7432 because of underlying system restrictions.
7433
efff4b1c
VS
74342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
7437 necessary.
7438
9fc9ce37
VS
74392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 Coreboot video support.
7442
7443 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
7444 (vbe): Likewise.
7445 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
7446 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
7447 here ...
7448 * grub-core/kern/i386/int.S: ... here.
7449 * grub-core/video/i386/pc/vbe.c: Updated includes.
7450 * grub-core/video/i386/pc/vga.c: Likewise.
7451 * include/grub/i386/coreboot/memory.h
7452 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
7453 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
7454 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
7455 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
7456 Disable interrupts.
7457 * include/grub/i386/pc/vga.h: Removed. All users updated.
7458
41bec7fe
VS
74592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
7462 definitions for dprintf.
7463 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
7464
ca80309d
VS
74652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
7468 prototype.
7469 (get_card_packet): Likewise.
7470
9e322ce8
YB
74712011-06-26 Yves Blusseau <blusseau@zetam.org>
7472
7473 Display the path of the file when file is not found
7474
7475 * grub-core/fs/fat.c: Display the filename when file is not found.
7476 * grub-core/fs/fshelp.c: Likewise.
7477 * grub-core/fs/hfs.c: Likewise.
7478 * grub-core/fs/jfs.c: Likewise.
7479 * grub-core/fs/minix.c: Likewise.
7480 * grub-core/fs/ufs.c: Likewise.
7481 * grub-core/fs/btrfs.c: Likewise.
7482 * grub-core/commands/i386/pc/play.c: Likewise.
7483
cbf597af
SJ
74842011-06-26 Szymon Janc <szymon@janc.net.pl>
7485
7486 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
7487 pointer checks before calling grub_free().
7488 * grub-core/commands/wildcard.c (match_devices): Likewise.
7489 * grub-core/commands/wildcard.c (match_files): Likewise.
7490 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
7491 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
7492 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
7493 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
7494 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
7495 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
7496 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
7497 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7498 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
7499
6295b32f
P
75002011-06-25 Patrick <p55@mailinator.com>
7501
7502 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
7503
77c0840b
VS
75042011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
7507 (grub_pxe_send): Likewise.
7508 (GRUB_MOD_INIT): Fix types.
7509
40ea05de
SJ
75102011-06-24 Szymon Janc <szymon@janc.net.pl>
7511
7512 * grub-core/io/xzio.c: Fix code style issues
7513
90162423
MRA
75142011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
75152011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
7516
7517 Network infrastructure.
7518 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
7519
7520 * include/grub/net/arp.h: New file.
90162423
MRA
7521 * include/grub/net/device.h: Likewise.
7522 * include/grub/net/ethernet.h: Likewise.
7523 * include/grub/net/ip.h: Likewise.
7524 * include/grub/net/netbuff.h: Likewise.
7525 * include/grub/net/tftp.h: Likewise.
7526 * include/grub/net/udp.h: Likewise.
7527 * include/grub/ieee1275/ofnet.h: Likewise.
7528 * include/grub/emu/export.h: Likewise.
7529 * include/grub/net.h: Likewise.
7530 * grub-core/net/arp.c: Likewise.
7531 * grub-core/net/ethernet.c: Likewise.
7532 * grub-core/net/ip.c: Likewise.
7533 * grub-core/net/udp.c: Likewise.
7534 * grub-core/net/tftp.c: Likewise.
7535 * grub-core/net/netbuff.c: Likewise.
7536 * grub-core/net/net.c: Likewise.
7537 * grub-core/net/drivers/emu/emunet.c: Likewise.
7538 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
7539 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
7540 export.h.
7541 * grub-core/Makefile.core.def (net): New module.
7542 (tftp): Likewise.
7543 (ofnet): Likewise.
7544 (emunet): Likewise.
7545 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
7546 network protocols.
7547 * grub-core/kern/device.c (grub_net_open) : New variable.
7548 (grub_device_open): Handle network device.
7549 (grub_device_close): Likewise.
7550 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
7551 (grub_grubnet_fini): Likewise.
7552 (grub_file_seek): Seek in network device.
7553 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
7554 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
7555 network root.
7556 (grub_machine_fini): Call grub_grubnet_fini.
7557 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
7558 network.
7559 (grub_ieee1275_get_aliasdevname): New function.
7560 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7561 Add unofficial Solaris network info.
7562 (grub_multiboot_make_mbi): Likewise.
7563 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
7564 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
7565 * include/grub/device.h (grub_fs): Removed.
7566 * include/grub/err.h (grub_err_t): Add network-related values.
7567 * include/grub/i386/pc/pxe.h: Removed bootp parts.
7568 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
7569 (grub_ieee1275_get_aliasdevname): New proto.
7570 * include/grub/net.h: Rewritten.
423a1849 7571
031f22a0
VS
75722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7573
7574 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
7575 names.
7576
4388ca72
VS
75772011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
7580 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
7581 it truncates the output.
7582 Reported by: Ximin Luo.
7583
98e2f506
VS
75842011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
7587
2a5e94d8
VS
75882011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7589
7590 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
7591 partmap before abstraction.
7592
535c1910
AK
75932011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
7594
7595 * util/grub-mkconfig_lib.in: Add missing quotes.
7596
bc09e1a2
VS
75972011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
7600 old method if mountinfo would return /dev/root and /dev/root doesn't
7601 exist.
7602
290766fb
VS
76032011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 ZFS zlib support
7606
7607 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
7608 (decomp_table): Add zlib entries.
7609 (zio_read): USe 8 bits for compression function rather than 3.
7610 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
7611
76122011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * grub-core/disk/ahci.c: Add missing license statements.
7615 * grub-core/fs/romfs.c: Likewise.
7616 * grub-core/lib/ia64/setjmp.S: Likewise.
7617 * grub-core/loader/i386/pc/freedos.c: Likewise.
7618 * grub-core/loader/ia64/efi/linux.c: Likewise.
7619 * grub-core/video/colors.c: Likewise.
7620 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
7621
5ab3f48a
VS
76222011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 AHCI support.
7625
7626 * grub-core/Makefile.core.def (ata_pthru): Removed.
7627 (ahci): New module.
7628 (pata): Likewise.
7629 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
7630 on unload.
7631 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
7632 readwrite.
7633 (grub_hdparm_do_check_powermode_cmd): Likewise.
7634 (grub_hdparm_do_smart_cmd): Likewise.
7635 (grub_hdparm_set_val_cmd): Likewise.
7636 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
7637 * grub-core/disk/ahci.c: New file.
7638 * grub-core/disk/ata.c: Factor out the low-level part into ...
7639 * grub-core/disk/pata.c: ... here.
7640 * grub-core/disk/ata_pthru.c: Contents moved to ...
7641 * grub-core/disk/pata.c: ... here.
7642 * grub-core/disk/scsi.c (grub_scsi_names): New array.
7643 (grub_scsi_iterate): Use grub_scsi_names.
7644 (grub_scsi_open): Likewise.
7645 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
7646 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
7647 (grub_ata_regs_t): New struct.
7648 (grub_disk_ata_pass_through_parms): Likewise.
7649 (grub_ata_device): Renamed to ...
7650 (grub_ata): ... this.
7651 (grub_ata_dev): New struct.
7652 Removed all low-level inline functions.
7653 * include/grub/scsi.h: Add PATA and AHCI subsystems.
7654 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
7655 iterate hooks and open. All users updated.
7656 * util/grub-install.in: Handle AHCI disk module.
7657
c31dc5f5
SJ
76582011-06-23 Szymon Janc <szymon@janc.net.pl>
7659
7660 Add support for DRI and RSTn markers in JPEG files.
7661
7662 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
7663 (JPEG_MARKER_RST0): Likewise.
7664 (JPEG_MARKER_RST1): Likewise.
7665 (JPEG_MARKER_RST2): Likewise.
7666 (JPEG_MARKER_RST3): Likewise.
7667 (JPEG_MARKER_RST4): Likewise.
7668 (JPEG_MARKER_RST5): Likewise.
7669 (JPEG_MARKER_RST6): Likewise.
7670 (JPEG_MARKER_RST7): Likewise.
7671 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
7672 (grub_jpeg_decode_dri): New function.
7673 (grub_jpeg_decode_sos): Move image data related part into
7674 grub_jpeg_decode_data function.
7675 (grub_jpeg_decode_data): New function.
7676 (grub_jpeg_reset): New function.
7677 (grub_jpeg_decode_jpeg): Handle new markers.
7678
fe12fd5b
VS
76792011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 * util/ieee1275/ofpath.c (check_sas): Close fd.
7682 (main): Free of_path.
7683 Reported by: David Volgyes <dvolgyes>.
7684
03147f46
VS
76852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
7688 Reported by: David Volgyes <dvolgyes>.
7689
cad3237f
VS
76902011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
7693 file after stat.
7694 Reported by: David Volgyes <dvolgyes>.
7695
13548d26
VS
76962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
7699
7700 Reported by: David Volgyes <dvolgyes>.
7701
e061a1b5
VS
77022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7703
7704 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
7705 Prevent memory leak.
7706
1abe47dc
VS
77072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
7710 (main): Close file.
e061a1b5 7711 Reported by: David Volgyes <dvolgyes>.
1abe47dc 7712
fbc62666
VS
77132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
7716 to continue if allocation is failed.
7717
7718 Reported by: David Volgyes <dvolgyes>.
7719
e98c83e9
DV
77202011-06-23 David Volgyes <dvolgyes>
7721
7722 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
7723 dereference.
7724
a199a8cd
VS
77252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 Fix spurious warning.
7728
7729 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
7730 (acorn_partition_map_find): Use .bin member.
7731
e2d1dba0
VS
77322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
7735 /dev/root as a valid device.
7736
8a5d6919
JM
77372011-06-23 Jim Meyering <meyering@redhat.com>
7738
e2d1dba0
VS
7739 Avoid NULL deref in grub_device_open.
7740
8a5d6919
JM
7741 * grub-core/kern/device.c (grub_device_open): Don't dereference
7742 a NULL pointer upon failed grub_env_get.
7743
f7db6f4a
VS
77442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 Support non-512B sectors and agglomerate reads.
7747
7748 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
7749 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
7750 (disk_io_guid): Removed.
7751 (make_devices): Locate solely by BlockIO.
7752 (grub_efidisk_open): Fill log_sector_size and total_sectors.
7753 (grub_efidisk_read): Use read_blocks.
7754 (grub_efidisk_write): Use write_blocks.
7755 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
7756 log_sector_size.
7757 (get_safe_sectors): Handle non-512B sectors.
7758 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
7759 sectors.
7760 (grub_biosdisk_write): Handle non-512B sectors.
7761 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
7762 (grub_scsi_read): Remove special non-512B block handling (now handled
7763 one level up).
7764 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
7765 and do sanity checks.
7766 (grub_disk_adjust_range): Handle non-512B sectors.
7767 (transform_sector): New function.
7768 (grub_disk_read_small): Likewise.
7769 (grub_disk_read): Rewritten.
7770 (grub_disk_write): Handle non-512B sectors.
7771 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
7772 log_sector_size.
7773 (open_device): Use log_sector_size.
7774 (grub_util_biosdisk_read): Likewise.
7775 (grub_util_biosdisk_write): Likewise.
7776 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
7777 non-512B sectors.
7778 (pc_partition_map_embed): Likewise.
7779 * include/grub/disk.h (grub_disk): New field log_sector_size.
7780 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
7781 (GRUB_DISK_CACHE_BITS): Increased to 6.
7782 * util/grub-fstest.c (fstest): New command testload.
7783 (argp_parser): Likewise.
7784
881ac815
RM
77852011-06-16 Robert Millan <rmh@gnu.org>
7786
7787 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
7788 `ata' driver on kernel of FreeBSD 9.
7789
7790 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
7791 (get_ataraid_disk_name): New functions.
7792 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
7793 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
7794 get_ataraid_disk_name() and get_ada_disk_name().
7795
1e9aef7d
CW
77962011-06-13 Colin Watson <cjwatson@ubuntu.com>
7797
7798 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
7799 input format.
7800
351c7c8a
CW
78012011-05-29 Colin Watson <cjwatson@ubuntu.com>
7802
7803 * docs/grub.texi (Obtaining and Building GRUB): Substitute
7804 `ftp.gnu.org' for `alpha.gnu.org'.
7805
6b4e6430
CW
78062011-05-27 Colin Watson <cjwatson@ubuntu.com>
7807
7808 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
7809 partitions under /dev/disk/by-id/.
7810
c64db050
CW
78112011-05-27 Colin Watson <cjwatson@ubuntu.com>
7812
7813 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
7814 after ten consecutive open failures. Scanning all the way up to
7815 10000 is excessive and can cause serious performance problems in
7816 some configurations.
7817 Fixes Ubuntu bug #787461.
7818
245f4aba
VS
78192011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
7822 opening new one.
7823
f767c929
VS
78242011-05-21 Colin Watson <cjwatson@ubuntu.com>
78252011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 Don't stat devices unless we have to.
7828
7829 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
7830 dir == /dev/mapper.
7831 (grub_guess_root_device): Use already known os_dev if possible.
7832 * grub-core/kern/emu/hostdisk.c
7833 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
7834 if device is known to be a dm one.
7835
f35fa3a6
CW
78362011-05-20 Colin Watson <cjwatson@ubuntu.com>
7837
7838 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
7839 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
7840 Reported by: Pawel Tecza.
7841
9a79fcf2
VS
78422011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
7845 (lsefisystab): Likewise.
7846 (lssal): Likewise.
7847 (lsefimmap): Likewise.
7848 (hdparm): Enable on qemu-mips.
7849 (setjmp): Add ia64 nodist.
7850 (serial): Simplify tags.
7851
63e3eea9
CW
78522011-05-18 Colin Watson <cjwatson@ubuntu.com>
7853
7854 * Makefile.util.def (grub-ofpathname): Install manual page.
7855
09728256
CW
78562011-05-18 Colin Watson <cjwatson@ubuntu.com>
7857
7858 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
7859
8b63a142
CW
78602011-05-18 Colin Watson <cjwatson@ubuntu.com>
7861
7862 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
7863
e775d8ed
VS
78642011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
7867 into dprintf.
7868
bf947d36
VS
78692011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7870
7871 Use full 64-bit division.
7872
7873 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
7874 (grub_divmod64): ... this.
7875 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
7876 version.
7877
b84f26c5
CW
78782011-05-18 Colin Watson <cjwatson@ubuntu.com>
7879
7880 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
7881 `source'.
7882
5626056f
CW
78832011-05-18 Colin Watson <cjwatson@ubuntu.com>
7884
7885 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
7886 to avoid accidents when debugging with 'sh -x'.
7887 * grub-core/gensyminfo.sh.in: Likewise.
7888 * tests/example_scripted_test.in: Likewise.
7889 * tests/grub_cmd_regexp.in: Likewise.
7890 * tests/grub_script_blanklines.in: Likewise.
7891 * tests/grub_script_dollar.in: Likewise.
7892 * tests/grub_script_expansion.in: Likewise.
7893 * tests/grub_script_final_semicolon.in: Likewise.
7894 * tests/partmap_test.in: Likewise.
7895 * tests/util/grub-shell-tester.in: Likewise.
7896 * tests/util/grub-shell.in: Likewise.
7897
e2965f4a
CW
78982011-05-18 Colin Watson <cjwatson@ubuntu.com>
7899
7900 Move gfxmenu color handling to video, so that gfxterm can use it
7901 too.
7902
7903 * grub-core/gfxmenu/named_colors.c: Move to ...
7904 * grub-core/video/colors.c: ... here. Rename
7905 grub_gui_get_named_color to grub_video_get_named_color.
7906 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
7907 * grub-core/video/colors.c (my_isxdigit): ... here.
7908 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
7909 Move to ...
7910 * grub-core/video/colors.c (parse_hex_color_component): ... here.
7911 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
7912 to ...
7913 * grub-core/video/colors.c (grub_video_parse_color): ... here.
7914
7915 * include/grub/gui.h (grub_gui_color_t): Move to ...
7916 * include/grub/video.h (grub_video_rgba_color_t): ... here.
7917 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
7918 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
7919 * include/grub/gui.h (grub_gui_map_color): Move to ...
7920 * include/grub/video.h (grub_video_map_rgba_color): ... here.
7921 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
7922 to ...
7923 * include/grub/video.h (grub_video_get_named_color): ... here.
7924 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
7925 * include/grub/video.h (grub_video_parse_color): ... here.
7926
7927 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
7928 video/colors.c.
7929 (gfxmenu): Remove gfxmenu/named_colors.c.
7930 (video) [videomodules]: Add video/colors.c.
7931
7932 Add a background_color command.
7933
7934 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
7935 function.
7936 (GRUB_MOD_INIT): Register background_color command.
7937 (GRUB_MOD_FINI): Unregister background_color command.
7938 (redraw_screen_rect): Allow blend/replace of text layer to be
7939 controlled independently from whether there is a background bitmap.
7940 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
7941 changing bitmap.
7942
1e4b4390
VS
79432011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7944
26618ff0
VS
7945 Patch BPB in ntldr and chainloader --bpb.
7946
1e4b4390
VS
7947 * grub-core/fs/fat.c: Include grub/fat.h.
7948 (grub_fat_bpb): Moved to ...
7949 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
7950 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
7951 grub/ntfs.h.
7952 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
7953 Moved from here...
7954 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
7955 here.
7956 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
7957 New function.
7958 (grub_chainloader_cmd): Patch BPB if --bpb is given.
7959 (GRUB_MOD_INIT): Show --bpb.
7960 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
7961 * grub-core/normal/main.c (features): New variable.
7962 (GRUB_MOD_INIT): Set feature_* variables.
7963 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
7964 proto.
7965 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
7966
cf02731e
VS
79672011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
7970 for cleanness.
7971
e3a1073f
VS
79722011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 FreeDOS direct loading support.
7975
7976 * docs/grub.texi (Supported OS): Add FreeDOS.
7977 * grub-core/Makefile.core.def (freedos): New module.
7978 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
7979 variable.
7980 (grub_relocator16_boot): Handle %ebx.
7981 * grub-core/lib/i386/relocator16.S: Likewise.
7982 * grub-core/loader/i386/pc/freedos.c: New file.
7983
05caa461
VS
79842011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 Long Linux command line support.
7987
7988 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
7989 (maximal_cmdline_size): New variable.
7990 (allocate_pages): Use maximal_cmdline_size.
7991 (grub_cmd_linux): Set and use maximal_cmdline_size.
7992 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
7993 (allocate_pages): Use maximal_cmdline_size.
7994 (grub_cmd_linux): Set and use maximal_cmdline_size.
7995 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
7996 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
7997 and cmdline_size.
7998
a2491e23
VS
79992011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
80002011-05-18 Colin Watson <cjwatson@ubuntu.com>
8001
8002 Improve devmapper support
8003
8004 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8005 (grub_util_is_lvm): New function.
8006 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8007 than lvm if not dmraid.
8008 Handle mapped md nodes.
8009 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8010 (grub_util_device_is_mapped): ... this. Make always available. All users
8011 updated.
8012 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8013 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8014 dmraid nodes.
8015 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8016
6ad6223e
VS
80172011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8020
8021 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8022 * grub-core/modinfo.sh.in: New file.
8023 * grub-core/Makefile.core.def (modinfo.sh): New script.
8024 * util/grub-mknetdir.in: Use modinfo.sh.
8025 * util/grub-mkrescue.in: Likewise.
8026
543a8f6e
VS
80272011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8028
8029 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8030 Fix potential usage of Elf32 instead of Elf64 when compiling on
8031 32-bit architecture. Add endianness macros while on it.
8032
4959e111
VS
80332011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 Use mipsel- rather than mips- in directories involving mipsel ports to
8036 allow both endiannesses coexist.
8037
8038 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8039 mips. All conditions adjusted.
8040 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8041 variable.
8042 * util/grub-install.in: Adjust conditions to take renaming into account.
8043 * util/grub-mkimage.c (image_targets): Likewise. New target
8044 mips-qemu_mips-elf for bigendian mips.
8045
35341bbc
VS
80462011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 Avoid unnecessary copying on MIPS.
8049
8050 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8051 early if src == dest.
8052 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8053 compression is none.
8054
b772baed
VS
80552011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 Reduce memory footprint on SGI by putting modules before the kernel
8058 as opposed to after.
8059
8060 * grub-core/Makefile.core.def (kernel): Increase linking address.
8061 (none_decompress): Likewise.
8062 (xz_decompress): Likewise.
8063 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
8064 address.
8065 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
8066 layout change.
8067 (grub_arch_modules_addr): New function.
8068 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
8069 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
8070 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
8071 here.
8072 * grub-core/kern/mips/startup.S (total_size): Rename to ...
8073 (grub_total_modules_size): ... this. Make global.
8074 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
8075 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
8076 New definition.
8077 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
8078 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
8079 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
8080 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
8081 * util/grub-mkimage.c (image_target_desc): New flag
8082 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
8083 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
8084 (generate_image): Handle images with modules before kernel.
8085
566a1917
VS
80862011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 Prevent potential loss of memory map by overwrite on qemu-mips.
8089
8090 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8091 Save ram size in $s4.
8092 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
8093 All users changed to grub_arch_memsize.
8094 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
8095 Loongson.
8096 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
8097 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
8098 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
8099 external variable.
8100
5d420cd9
CW
81012011-05-17 Colin Watson <cjwatson@ubuntu.com>
8102
8103 * .bzrignore: Remove grub-dumpbios.
8104
d064b830
CW
81052011-05-17 Colin Watson <cjwatson@ubuntu.com>
8106
8107 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
8108 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
8109 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
8110 existing options which append).
8111 * docs/grub.texi (Simple configuration): Document new options.
8112 Reported by: Ian Jackson. Fixes Debian bug #617538.
8113
3ca2b466
CW
81142011-05-17 Colin Watson <cjwatson@ubuntu.com>
8115
8116 * util/grub-fstest.c (cmd_cat): New function.
8117 (fstest): Handle CMD_CAT.
8118 (options): Add cat.
8119 (argp_parser): Handle cat.
8120
24c9143a
CW
81212011-05-17 Colin Watson <cjwatson@ubuntu.com>
8122
8123 * Makefile.util.def (grub-bin2h): Don't install.
8124 * docs/man/grub-bin2h.h2m: Remove.
8125
90f7ac19
VS
81262011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
8129 place.
8130
8d4a5178
VS
81312011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 Reenable qemu-mips port.
8134
8135 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
8136 Fix small arc bug while on it.
8137 * gentpl.py: Handle qemu_mips.
8138 * grub-core/Makefile.am: Likewise.
8139 * grub-core/Makefile.core.def: Likewise.
8140 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
8141 inappropriate includes.
8142 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
8143 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
8144 * grub-core/kern/main.c (grub_modules_get_end)
8145 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
8146 * grub-core/kern/mips/qemu-mips: Moved to ..
8147 * grub-core/kern/mips/qemu_mips: ... this.
8148 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
8149 (grub_machine_init): Call terminfo_init and serial_init.
8150 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
8151 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8152 New variable.
8153 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
8154 parameter passing.
8155 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
8156 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
8157 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8158 * include/grub/mips/qemu_mips/cmos.h: New file.
8159 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
8160 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
8161 Removed.
8162 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
8163 Use correct mips-style address.
8164 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
8165 (GRUB_TICKS_PER_SECOND): Removed.
8166 (grub_get_rtc): Likewise.
8167 (grub_cpu_idle): Likewise.
8168 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
8169 New definition.
8170 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
8171 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
8172 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
8173 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
8174 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8175 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8176 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
8177 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
8178
400b9371
VS
81792011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 SGI ARCS port.
8182
8183 * Makefile.util.def (libgrubmods.a): Add dvh.c.
8184 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
8185 platforms.
8186 * configure.ac: New target mips-arc.
8187 * gentpl.py: Likewise.
8188 * grub-core/Makefile.am: Likewise.
8189 * grub-core/Makefile.core.def: Likewise.
8190 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
8191 (none_decompress): Likewise.
8192 (lsdev): New module.
8193 (datetime): Use lib/arc/datetime.c on ARC.
8194 (part_dvh): New module.
8195 * grub-core/commands/arc/lsdev.c: New file.
8196 * grub-core/disk/arc/arcdisk.c: Likewise.
8197 * grub-core/kern/mips/arc/init.c: Likewise.
8198 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
8199 aligned addresses.
8200 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
8201 support.
8202 (grub_arch_dl_relocate_symbols): Likewise.
8203 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
8204 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
8205 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
8206 platforms.
8207 * grub-core/lib/arc/datetime.c: New file.
8208 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
8209 pci.h on non-loongson.
8210 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
8211 (grub_linux_boot): Set unused registers to 0.
8212 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
8213 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
8214 * grub-core/mmap/mips/uppermem.c: ...here.
8215 * grub-core/partmap/dvh.c: New file.
8216 * grub-core/term/arc/console.c: Likewise.
8217 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
8218 (grub_terminfo_set_current): Add terminal "arc".
8219 (grub_terminfo_readkey): Support ARC sequences.
8220 * include/grub/arc/arc.h: New file.
8221 * include/grub/arc/console.h: Likewise.
8222 * include/grub/disk.h (grub_disk_dev_id): Add
8223 GRUB_DISK_DEVICE_ARCDISK_ID.
8224 * include/grub/mips/arc/kernel.h: New file.
8225 * include/grub/mips/arc/memory.h: Likewise.
8226 * include/grub/mips/arc/time.h: Likewise.
8227 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
8228 * include/grub/mips/kernel.h (grub_halt): ... here.
8229 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
8230 here...
8231 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
8232 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
8233 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
8234 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
8235 proto.
8236 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
8237 from here ...
8238 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
8239 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
8240 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
8241 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
8242 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
8243 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
8244 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
8245 (grub_phys_addr_t): Moved from here ...
8246 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
8247 (grub_vtop): Moved from here ...
8248 * include/grub/mips/memory.h (grub_vtop): ... here.
8249 (grub_map_memory): Moved from here ...
8250 * include/grub/mips/memory.h (grub_map_memory): ... here.
8251 (grub_unmap_memory): Moved from here ...
8252 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
8253 (grub_machine_mmap_iterate): Moved from here ...
8254 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
8255 (grub_mmap_get_lower): Moved from here ...
8256 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
8257 (grub_mmap_get_upper): Moved from here ...
8258 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
8259 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8260 here ...
8261 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8262 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
8263 here ...
8264 * include/grub/mips/time.h (grub_get_rtc): ... here.
8265 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8266 here ...
8267 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8268 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
8269 here ...
8270 * include/grub/mips/time.h (grub_cpu_idle): ... here.
8271 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
8272 definition.
8273 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
8274 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
8275 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
8276 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
8277 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8278 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8279 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
8280 (GRUB_MACHINE_LINK_ADDR): Likewise.
8281 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
8282 to 6.
8283 * util/grub-install.in: Run dvhtool on ARC.
8284 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 8285 (generate_image): Handle ECOFF output for mips-arc.
400b9371 8286
c8ecc840
VS
82872011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
8290 blocks.
8291
153a4b55
VS
82922011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
8295 after enabling port.
8296
ff44d107
VS
82972011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 Skip incorrect USB devices.
8300
8301 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
8302 configcnt == 0.
8303 * include/grub/usb.h (grub_usb_err_t): New enum value
8304 GRUB_USB_ERR_BADDEVICE.
8305
638dbe4f
VS
83062011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 Fuloong video init support.
8309
8310 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
8311 well.
8312 (grub_vga_read_arx): New function.
8313 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
8314 definition.
8315 (framebuffer): New members io, mmioptr and mmiobase.
8316 (read_sis_cmd): New function.
8317 (write_sis_cmd): Likewise.
8318 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
8319 rather than 640x400.
8320 * grub-core/video/sis315_init.c: New file.
8321
c3fc520c
VS
83222011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
8325 non-loongson.
8326 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
8327 to grub_dl_register_symbol.
8328
67b1e5c9
VS
83292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 Fix compilation errors.
8332
8333 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
8334 potentially unused.
8335 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
8336 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
8337 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
8338 to loongson machines.
8339
b756f75f
VS
83402011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8341
8342 Several FS mtime support.
8343
8344 * grub-core/fs/affs.c (grub_affs_time): New struct.
8345 (grub_affs_file): New field mtime.
8346 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
8347 type. Removed 'size'. New field 'di'. All users updated.
8348 (grub_affs_mount): Simplify checsum checking.
8349 (grub_affs_iterate_dir): New helper grub_affs_create_node.
8350 (grub_affs_dir): Handle mtime.
8351 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
8352 (grub_cpio_dir): Likewise.
8353 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
8354 (grub_hfs_filerec): New field mtime.
8355 (grub_hfs_dir): Handle mtime.
8356 (grub_hfs_mtime): New function.
8357 (grub_hfs_fs): Register grub_hfs_mtime.
8358 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
8359 (grub_iso9660_dir): New field mtime.
8360 (grub_fshelp_node): New field dirent.
8361 (iso9660_to_unixtime): New function.
8362 (iso9660_to_unixtime2): Likewise.
8363 (grub_iso9660_read_symlink): Use node->dirent.
8364 (grub_iso9660_iterate_dir): Likewise.
8365 (grub_iso9660_dir): Set mtime.
8366 (grub_iso9660_mtime): New function.
8367 (grub_iso9660_fs): Register grub_iso9660_mtime.
8368 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
8369 (grub_jfs_inode): New fields atime, ctime and mtime.
8370 (grub_jfs_dir): Set mtime.
8371 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8372 * grub-core/fs/ntfs.c (list_file): Set mtime.
8373 (grub_ntfs_dir): Likewise.
8374 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
8375 (grub_reiserfs_iterate_dir): Set mtime.
8376 (grub_reiserfs_dir): Likewise.
8377 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
8378 (grub_fshelp_node): Likewise.
8379 (grub_sfs_iterate_dir): Set mtime.
8380 (grub_sfs_dir): Likewise.
8381 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
8382 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
8383 (grub_xfs_inode): New fields atime, mtime, ctime.
8384 (grub_xfs_dir): Set mtime.
8385 * include/grub/datetime.h (grub_datetime2unixtime): New function.
8386 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
8387 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
8388
8389 Support UDF symlinks.
8390
8391 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
8392 (grub_ufs_read_symlink): New function. All users updated.
8393
8394 Check amiga partmap checksum.
8395
8396 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
8397 (grub_amiga_partition): Likewise.
8398 (amiga_partition_map_checksum): New function.
8399 (amiga_partition_map_iterate): Check checksum.
8400
5470225d
VS
84012011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 ROMFS support.
8404
8405 * Makefile.util.def (libgrubmods.a): Add romfs.
8406 * grub-core/Makefile.core.def (romfs): New module.
8407 * grub-core/fs/romfs.c: New file.
8408
d4680a35
VS
84092011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8410
8411 Squashfs v4 support.
8412
8413 * Makefile.util.def (libgrubmods.a): Add squash4.
8414 * grub-core/Makefile.core.def (squash4): New module.
8415 * grub-core/fs/squash4.c: New file.
8416 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
8417 disk_input_start, disk_input.
8418 (get_byte): Handle disk_input.
8419 (grub_zlib_disk_read): New function.
8420 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
8421
bcb18e74
FZ
84222011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
84232011-05-15 Feiran Zheng <famcool@gmail.com>
8424
8425 * Makefile.util.def (libgrubmods.a): Add minix3.
8426 * grub-core/Makefile.core.def (minix3): New module.
8427 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
8428 (GRUB_MINIX_BSIZE): Removed.
8429 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
8430 (grub_minix_ino_t): New type.
8431 (grub_minix_le_to_cpu_ino): New macro.
8432 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
8433 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
8434 (grub_minix_data): New field block_size.
8435 (grub_minix_read_file): Handle 64-bit correctly.
8436 * grub-core/fs/minix3.c: New file.
8437
32297d5f
TG
84382011-05-15 Tristan Gingold <gingold@free.fr>
84392011-05-15 Robert Millan <rmh.grub@aybabtu.com>
84402011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8441
8442 IA64 support.
8443
8444 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
8445 * configure.ac: Add ia64-efi target.
8446 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
8447 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
8448 * gentpl.py: Add ia64_efi platform.
8449 Rename x86_efi to efi and Add ia64-efi. All users updated.
8450 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
8451 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
8452 Remove kern/generic/rtc_get_time_ms.c on EFI.
8453 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
8454 kern/ia64/dl_helper.c on ia64-efi.
8455 Add kern/emu/cache.c on emu.
8456 (linux): Use on loader/ia64/efi/linux.c on ia64.
8457 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
8458 whether symbol is a function.
8459 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
8460 (grub_symbol): New field 'isfunc'.
8461 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
8462 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
8463 (grub_dl_load_segments): Place all sections into the same region.
8464 [__ia64__]: Create trampolines and got.
8465 [GRUB_MACHINE_EMU]: Call mprotect.
8466 (grub_dl_resolve_symbols): Resolve symbol type as well.
8467 [__ia64__]: Create function descriptors.
8468 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
8469 (grub_rtc_get_time_ms): ... this. Expressions simplified.
8470 (grub_get_rtc): New function.
8471 * grub-core/kern/emu/cache.c [__ia64__]: New file.
8472 * grub-core/kern/emu/cache.S: Renamed to ...
8473 * grub-core/kern/emu/cache_s.S: ... this.
8474 [__ia64__]: Add a nop.
8475 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
8476 [__ia64__]: New function.
8477 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
8478 * grub-core/kern/ia64/dl.c: New file.
8479 * grub-core/kern/ia64/dl_helper.c: Likewise.
8480 * grub-core/kern/ia64/efi/init.c: New file.
8481 * grub-core/kern/ia64/efi/startup.S: Likewise.
8482 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
8483 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
8484 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
8485 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
8486 * grub-core/loader/ia64/efi/linux.c: New file.
8487 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
8488 (GRUB_MOD_DEP): Likewise.
8489 (grub_dl) [__ia64__]: New fields got and tramp.
8490 (grub_dl): New field 'base'.
8491 (grub_dl_register_symbol): New argument isfunc. All users updated.
8492 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
8493 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
8494 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
8495 (grub_ia64_dl_get_tramp_got_size): New proto.
8496 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
8497 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
8498 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
8499 * include/grub/efi/api.h: Skip call wrappers on ia64.
8500 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
8501 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
8502 * include/grub/elf.h (ELF_ST_INFO): New definition.
8503 * include/grub/ia64/efi/kernel.h: New file.
8504 * include/grub/ia64/efi/memory.h: Likewise.
8505 * include/grub/ia64/efi/time.h: Likewise.
8506 * include/grub/ia64/kernel.h: Likewise.
8507 * include/grub/ia64/setjmp.h: Likewise (from glibc).
8508 * include/grub/ia64/time.h: New file.
8509 * include/grub/ia64/types.h: Likewise.
8510 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
8511 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
8512 New protos.
8513 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
8514 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8515 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
8516 * util/grub-mkimage.c (image_target_desc): New field pe_target.
8517 All users updated.
8518 (EFI64_HEADER_SIZE): New definition. All users updated.
8519 (image_targets): Add ia64-efi.
8520 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
8521 jumpers_addr. All users updated.
8522 Create function descriptors.
8523 (count_funcs): New function.
8524 (unaligned_uint32): New struct.
8525 (MASK20): New definition.
8526 (MASK19): Likewise.
8527 (MASKF21): Likewise.
8528 (add_value_to_slot_20b): New function.
8529 (add_value_to_slot_21_real): Likewise.
8530 (add_value_to_slot_21): Likewise.
8531 (ia64_kernel_trampoline): New struct.
8532 (nopm): New variable.
8533 (jump): Likewise.
8534 (make_trampoline): New function.
8535 (relocate_addresses): Handle ia64.
8536 (make_reloc_section): Likewise.
8537 (load_image): Likewise.
8538
983b414d
VS
85392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
8542 warning. Move variables before code while on it.
8543
5d063cdc
VS
85442011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8545
8546 Fuloong support.
8547
8548 * configure.ac: Rename yeeloong platform to loongson. All users updated.
8549 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
8550 * grub-core/boot/mips/loongson/fuloong.S: New file.
8551 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
8552 Explicitly init CS5536.
8553 [FULOONG]: Don't use serial until CS5536 is available.
8554 Set GPIO based on dumps.
8555 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
8556 [FULOONG]: Handle GPIO and memory controller differences.
8557 Parse machine type in $a2.
8558 * grub-core/boot/mips/startup_raw.S: Determine and save the
8559 architecture.
8560 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
8561 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
8562 init on architecture type.
8563 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8564 SIS315E. Don't init at_keyboard on fuloong.
8565 (grub_halt): Support Fuloong.
8566 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
8567 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
8568 (loongson_machtypes): New array.
8569 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
8570 type.
8571 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
8572 config. All users updated. Handle CS5536 serial.
8573 * grub-core/term/serial.c (grub_serial_register): Conditionalise
8574 default port on machine type. Register serial as inactive.
8575 * grub-core/video/sis315pro.c: New file.
8576 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
8577 definition.
8578 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
8579 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
8580 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
8581 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
8582 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
8583 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
8584 to ...
8585 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
8586 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
8587 definition.
8588 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
8589 (grub_arch_machine): New extern var.
8590 * include/grub/mips/loongson/serial.h
8591 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
8592 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
8593 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
8594 (GRUB_MACHINE_SERIAL_PORT0): ... this.
8595 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
8596 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
8597 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
8598 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
8599 * include/grub/term.h (grub_term_register_input_inactive): New inline
8600 function.
8601 (grub_term_register_output_inactive): Likewise.
8602 * include/grub/video.h (grub_video_driver_id): New value
8603 GRUB_VIDEO_DRIVER_SIS315PRO.
8604 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
8605 New field "names". All users updated.
8606 New field value IMAGE_FULOONG_FLASH.
8607 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
8608
6ada82d1
JU
86092011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
8610
8611 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
8612 and add some clarification.
8613
90c571a4
VS
86142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8615
8616 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
8617 platforms if kernel is compressed.
8618
de04eecf
VS
86192011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
8622 unused modules since currently referrence counter isn't reliable and
8623 there isn't much memory to recover there anyway.
8624
57688121
VS
86252011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
8628 rather than resetting it to allow modules to reference themselves
8629 in init.
8630
3d2c7e35
VS
86312011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8632
8633 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
8634 counter on dependencies since grub_dl_unref already handles this.
8635
b25db218
VS
86362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
8639 on error if not already done.
8640
25a45338
VS
86412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8642
8643 Fix few potential memory misusage.
8644
8645 * grub-core/font/font.c (load_font_index): Don't free char_index to
8646 avoid double free.
b25db218
VS
8647 (grub_font_load): Zero-fill font at alloc for safety.
8648 Close file on error.
8649 (free_font): Free bmp_idx.
25a45338 8650
0cac83df
VS
86512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 * docs/grub.texi (Installation): Fix several outdated claims.
8654
2217a143
VS
86552011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 Handle module_license on windows.
8658
8659 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
8660 sections shifted.
8661 (insert_string): Make argument const char * instead of char *.
8662 (write_section_data): Handle long section names.
8663 Handle module_license.
8664
d4de6b01
VS
86652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
8668 handle class-free menuentries.
8669 (grub_normal_add_menu_entry): Add a check to be sure.
8670
4c2a3b43
VS
86712011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
8674 PgUp and PgDown.
8675
85c6210f
VS
86762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * configure.ac: Bump version to 1.99.
8679
36084912
VS
86802011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8681
8682 Give ATA device a bit more time on first try in order to allow disks
8683 to spin up.
8684
8685 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
8686 if dev->present is 1. Reset dev->present on failure.
8687 (grub_ata_device_initialize): Set dev->present to 1.
8688 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
8689 (grub_ata_device): New member 'present'.
8690
bda0e219
VS
86912011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * util/grub-mkimage.c (generate_image): Update hash.
8694
19e1c41b
VS
86952011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 Flush caches on DMA memory.
8698
8699 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
8700 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
8701 (grub_dma_free): Likewise.
8702 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
8703
91bbcc0c
VS
87042011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8705
8706 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
8707 to avoid asm treating ld and sd as macros.
8708
60ddfad3
VS
87092011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
8712 decompressor.
8713
a298aa04
VS
87142011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
8717 grub_decompress_core since later would fail if grub_decompress_core
8718 is too far.
8719
9b44feca
VS
87202011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
8723 R_MIPS_JALR since it's used by newer compiler.
8724
56dbe7b4
VS
87252011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
8728
52856af2
VS
87292011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
8732 file_path to 0 for surety.
8733 (grub_chainloader_boot): Set exit_data to NULL.
8734 Unset the loader once done.
8735 (grub_cmd_chainloader): Fix confusing error message if file is empty.
8736
9c9bfc6d
VS
87372011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
8740 unknown key into a dprintf.
8741
dd94a3df
VS
87422011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8743
8744 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
8745 on first non-existant partition.
8746
fa68d99c
VS
87472011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8748
8749 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
8750 openning fails.
8751 Reported by: Mark Korenberg.
8752
157effb7
VS
87532011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8754
8755 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
8756 overflow.
8757
ea75312f
VS
87582011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * util/grub-mkimage.c (main): Explicitely flush and sync the output
8761 before closing to ensure that it will be readable by grub-setup.
8762
072b5d31
VS
87632011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
8766 (devpath_1): Use MAKE_PIWG_PATH.
8767 (devpath_2): Likewise.
8768 (devpath_3): Likewise.
8769 (devpath_4): Likewise.
8770 (devpath_5): Likewise.
8771 (devpath_6): Likewise.
8772
8773 The appleldr.mod was checked that to be binary identical to previous
8774 version.
8775
7fae0051
Z
87762011-05-05 Zach <mikezackles>
8777
8778 Support 2010 Macbooks.
8779
8780 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
8781 (devs): Add devpath_6.
8782
7c515bee
VS
87832011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8784
8785 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
8786 /dev/random. /dev/urandom is good enough for our purposes (salting).
8787
ed660bd8
VS
87882011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
8791
ee5614b7
VS
87922011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
8795 hexadecimal.
8796
664889a6
VS
87972011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
8800 and not 0 on failure.
8801
bd405bbc
CW
88022011-05-03 Colin Watson <cjwatson@ubuntu.com>
8803
8804 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
8805 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
8806 disk; otherwise grub_fs_probe will not fall back to the next
8807 filesystem.
8808 (grub_pxefs_open): Likewise, for consistency.
8809 Reported and tested by: Ezekiel Grave.
8810
4ebff753
CW
88112011-05-03 Colin Watson <cjwatson@ubuntu.com>
8812
8813 * tests/partmap_test.in: Don't hardcode path to parted.
8814 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
8815
8f942553
CW
88162011-05-01 Colin Watson <cjwatson@ubuntu.com>
8817
8818 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
8819 of `ls' to find out which devices are available.
8820
3c62402d
VS
88212011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
8824 than source address for efi mmap buffer.
8825
723f63f2
VS
88262011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
8829 wrong action on non-detecting the magic.
8830
68797f92
VS
88312011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8832
8833 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
8834 already supplied by another part of the module (fixes compilation on
8835 FreeBSD).
8836
6be8715d
VS
88372011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
8840 match the one used by mdadm.
8841
e91dba5b
CW
88422011-04-21 Colin Watson <cjwatson@ubuntu.com>
8843
8844 * po/README: Add instructions for creating po/LINGUAS.
8845
c85140b3
CW
88462011-04-21 Colin Watson <cjwatson@ubuntu.com>
8847
8848 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
8849 #551428.
8850
8851 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
8852 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
8853 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
8854 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8855 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
8856 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
8857 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
8858 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
8859 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
8860 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8861 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
8862 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
8863 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
8864 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
8865 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
8866 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
8867 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
8868 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
8869 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
8870 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
8871 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
8872 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
8873
92051871
CW
88742011-04-21 Colin Watson <cjwatson@ubuntu.com>
8875
8876 * grub-core/kern/emu/getroot.c
8877 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
8878 test that was incorrectly reintroduced in r3214.
8879 Reported by: Ian Dall. Fixes Savannah bug #33133.
8880
b13f79a4
CW
88812011-04-21 Colin Watson <cjwatson@ubuntu.com>
8882
8883 Fix stack pointer handling in 16-bit relocator.
8884
8885 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
8886 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
8887 Fixes Ubuntu bug #683904.
8888
9b710a88
VS
88892011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * configure.ac: Bump version to 1.99~rc2.
8892
d97e7b59
VS
88932011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
8896 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
8897 * grub-core/lib/x86_64/setjmp.S: Likewise.
8898 * grub-core/lib/mips/setjmp.S: Likewise.
8899 * grub-core/lib/powerpc/setjmp.S: Likewise.
8900 * grub-core/lib/sparc64/setjmp.S: Likewise.
8901
0624551c
VS
89022011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
8905 * grub-core/lib/efi/datetime.c: Likewise.
8906
e8f28d4c
VS
89072011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
8910 New function.
8911 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
8912 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
8913 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
8914
bba79a15
VS
89152011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8916
8917 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
8918 bitmap.
8919 (grub_gfxterm_term_init): Likewise.
8920
abc474ef
VS
89212011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 Take into account the decorations the computing menu entry width.
8924
8925 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
8926 (grub_gfxmenu_create_box): Register get_border_width.
8927 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
8928 if available.
8929 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
8930 get_border_width.
8931
e74b3947
EP
89322011-04-18 Endres Puschner <code@e7p.de>
8933
8934 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
8935 Don't skip first class.
8936
34faa595
VS
89372011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
8940 chunks.
8941 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
8942
93a777e3
VS
89432011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 Complete 64-bit division support.
8946
8947 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
8948 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
8949 * include/grub/misc.h (grub_divmod64): Rename to ...
8950 (grub_divmod64_full): ... this.
8951 (grub_divmod64): New inline function.
8952
a5102d94
VS
89532011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 * util/grub-mkimage.c (generate_image): Add forgotten comma.
8956
f3fb7b36
VS
89572011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
8960 performing the necessary test.
8961
9ac718b0
VS
89622011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
8965 (kfreebsd.elf): Likewise.
8966 (pc-chainloader.elf): Likewise.
8967 (ntldr.elf): Likewise.
8968
50d2cc5a
VS
89692011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 Identify RAID by its UUID rather than (guessed) name.
8972
8973 * grub-core/disk/raid.c (ascii2hex): New function.
8974 (grub_raid_open): Accept mduuid/%s specification.
8975 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
8976 (get_mdadm_uuid): ... this.
8977 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
8978
e03f7bea
VS
89792011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
8980
8981 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
8982 to negative size.
8983
e74c3112
CW
89842011-04-13 Colin Watson <cjwatson@ubuntu.com>
8985
8986 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
8987 btrfs subvolume.
8988 * util/grub.d/20_linux_xen.in: Likewise.
8989
78fa584f
CW
89902011-04-13 Colin Watson <cjwatson@ubuntu.com>
8991
8992 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
8993 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
8994
8995 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
8996 Build a list of relevant visible mounts using the mnt_id and
8997 parent_mnt_id fields, and then scan that list at the end.
8998
9d5f8162
CW
89992011-04-12 Colin Watson <cjwatson@ubuntu.com>
9000
9001 * docs/grub.texi (normal): New section.
9002 (normal_exit): New section.
9003 (Embedded configuration): Add reference to normal.
9004 (GRUB only offers a rescue shell): Likewise.
9005 * docs/grub-dev.texi (Error Handling): Fix typo.
9006
09a9d66f
CW
90072011-04-12 Colin Watson <cjwatson@ubuntu.com>
9008
9009 * NEWS: Drop obsolete entry about probe-only btrfs support.
9010
0c676933
CW
90112011-04-12 Colin Watson <cjwatson@ubuntu.com>
9012
9013 * util/import_gcry.py: Fix typo.
9014
ec9f5e0d
VS
90152011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 * NEWS: Add btrfs support.
9018
fe6b2cba
VS
90192011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
90202011-04-11 Colin Watson <cjwatson@ubuntu.com>
9021
9022 BtrFS support. Written by me (Vladimir) with important bugfixes and
9023 even more important testing by Colin.
9024
9025 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9026 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9027 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9028 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9029 mem_input_off and mem_input. All users updated to accept in-RAM input.
9030 (gzio_seek): New function.
9031 (test_zlib_header): Likewise.
9032 (grub_gzio_read): Likewise.
9033 (grub_zlib_decompress): Likewise.
9034 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9035 Accept partial and non-virtual mounts.
9036 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9037 avoid receiving /dev/dm-X as device.
9038 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9039 Handle bind and partial mounts.
9040 * grub-core/lib/crc.c: New file.
9041 * include/grub/deflate.h: Likewise.
9042 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9043 proto.
9044 * include/grub/lib/crc.h: New file.
9045
e745cf0c
VS
90462011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 Implement automatic module license checking according to new GNU
9049 guidelines.
9050
9051 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9052 (grub_dl_load_core): Use grub_dl_check_license.
9053 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9054 (GRUB_MOD_LICENSE): Likewise.
9055 (GRUB_MOD_DUAL_LICENSE): Likewise.
9056 All modules updated.
9057
2a9bc016
CW
90582011-04-11 Colin Watson <cjwatson@ubuntu.com>
9059
9060 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9061 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9062 loaders.
9063 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
9064
8a3bc88e
VS
90652011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
9068
af869a4a
VS
90692011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * util/grub-fstest.c (read_file): Report GRUB error if file opening
9072 failed.
9073
9ee8d94f
VS
90742011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * grub-core/kern/file.c (grub_file_open): Don't take into account the
9077 parenthesis in the middle of the filename.
9078
b01abe3e
VS
90792011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
9082 rather than trying to put initrd way too high.
9083 Reported by: Ryan Lortie <desrt@desrt.ca>
9084
335bda1e
VS
90852011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
9088 improperly removed string.
9089
5ca1a64d
VS
90902011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
9093 is_disk.
9094 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
9095 (open_device) Likewise.
9096 (grub_util_biosdisk_close): Likewise.
d8ce9995 9097 Reported by: Mark Korenberg.
5ca1a64d 9098
cbac5b1e
AK
90992011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
9100
9101 * util/grub-mkconfig_lib.in: Add missing quotes.
9102
088cdb65
CW
91032011-04-10 Colin Watson <cjwatson@ubuntu.com>
9104
9105 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
9106 is NULL.
9107
8b8a81fa
VS
91082011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 Dynamically count the number of lines for the lower banner.
9111
9112 * grub-core/normal/menu_entry.c (per_term_screen): New member
9113 num_entries.
9114 (print_down): Use num_entries.
9115 (update_screen): Likewise.
9116 (grub_menu_entry_run): Set num_entries.
9117 * grub-core/normal/menu_text.c (menu_viewer_data): New member
9118 num_entries.
9119 (grub_print_message_indented): Move real part to ...
9120 (grub_print_message_indented_real): ... here. Additional argument
9121 dry_run.
9122 (draw_border): Additional argument num_entries.
9123 (print_message): Additional argument dry_run.
9124 (print_entries): Receive menu viewer data.
9125 (grub_menu_init_page): New argment num_entries.
9126 (menu_text_set_chosen_entry): Use num_entries.
9127 (grub_menu_try_text): Likewise.
9128 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
9129 All users updated.
9130 (grub_ucs4_count_lines): New function.
9131 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
9132 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
9133 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
9134 (grub_term_border_height): Likewise.
9135 (grub_term_num_entries): Likewise.
9136
277f955b
VS
91372011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
9140 Remove now unused string.
9141
536ce85a
CW
91422011-04-09 Colin Watson <cjwatson@ubuntu.com>
9143
9144 * docs/grub-dev.texi (Finding your way around): Update for 1.99
9145 build system.
9146 (Getting started): GRUB is developed in Bazaar now, not Subversion.
9147
9148 (Comment): Fix typo.
9149 (Getting started): General copy-editing.
9150 (Typical Development Experience): Likewise.
9151 (Error Handling): Likewise.
9152 (Video API): Likewise.
9153
2cf09e32
CW
91542011-04-09 Colin Watson <cjwatson@ubuntu.com>
9155
9156 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
9157 throughout.
9158
1ec652f4
VS
91592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * util/grub-mkimage.c (main): Handle special naming of yeeloong
9162 directory.
9163
2c583728
CW
91642011-04-08 Colin Watson <cjwatson@ubuntu.com>
9165
9166 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
9167 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
9168 "development".
9169
d7a565e9
VS
91702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9171
9172 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
9173 grub_strcpy since the lines aren't necessarily 0-terminated.
9174
7c2e4909
VS
91752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
9178 root on legacy.
9179
34c09785
VS
91802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 * grub-core/commands/probe.c (options): Argument to set isn't optional.
9183 (GRUB_MOD_INIT): DEVICE isn't optional.
9184
6a6f8058
VS
91852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
9188 word on new line if it's too long anyway. Fixes a hang.
9189
2e335e90
VS
91902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
9193 const.
9194 * util/grub-setup.c (main): Reuse md device name if available.
9195 * util/raid.c (grub_util_raid_getmembers): Receive device name and
9196 not GRUB name as argument.
9197 Based on patch by: Florian Wagner <fwagner>.
9198
10a7a867
VS
91992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9202 Place mbi on low memory for better compatibility.
9203
7a3d6cd9
VS
92042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
9207
18dd6b47
VS
92082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
92092011-04-08 Colin Watson <cjwatson@ubuntu.com>
9210
9211 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 9212 * conf/Makefile.common: Likewise.
18dd6b47 9213
3c0e3f14
VS
92142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9215
f7148863
VS
9216 * grub-core/normal/menu.c: Add missing include.
9217
92182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 9221
6d1fa41f
MZ
92222011-04-08 Martin Zuther <mzuther@mzuther.de>
9223
9224 * util/grub-mkconfig.in: Ignore emacsen backup.
9225
478182a8
VS
92262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
9229 on open.
9230 (grub_util_biosdisk_close): Likewise.
9231
72a89a54
VS
92322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
9235 const attribute and use grub_isdigit.
9236
b5ebecfa
A
92372011-04-06 Andrey <dev_null@ukr.net>
9238
9239 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
9240 gcc warning.
9241
7755f66e
VS
92422011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
9245 useful grub_dprintf's.
9246
461121ff
VS
92472011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
9250
2a961775
VS
92512011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
9254
adf594cc
VS
92552011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 Output errors if theme loading failed.
9258
9259 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
9260 grub_gfxterm_fullscreen on error paths to ...
9261 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
9262 theme loading error.
9263
665900a3
VS
92642011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
9267 space for older compilers.
9268 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9269
a562b479
VS
92702011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9271
9272 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
9273 and report them as not RAID members since they are useless for GRUB.
9274 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9275
850e9373
VS
92762011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 Increase LVM implementation robustness in order not to crash on
9279 configurations like pvmove. Previously code assumed that in some places
9280 only lvs or only pvs are used whereas it seems that they are used
9281 interchangeably.
9282
9283 * grub-core/disk/lvm.c (read_node): New function.
9284 (read_lv): Use read_node.
9285 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
9286 Match volumes only at the end when all lvs are found. Take both
9287 pvs (first) and lvs (second) into account.
9288 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
9289 mirror_* into node_*. All users updated.
9290 (grub_lvm_stripe): Merge this ...
9291 (grub_lvm_mirror): ... and this ...
9292 (grub_lvm_node): ... into this. All users updated.
9293
6f332153
VS
92942011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
9297 of function to allow further scanning for LVMs.
9298
829ea451
VS
92992011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
9302 on failed seek as it breaks open fd reusage.
9303
09ceb9a5
VS
93042011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * util/grub-install.in: Add a recommendation to use --recheck before
9307 reporting bugs.
9308
67e11623
VS
93092011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
9312 are obtained.
9313
caee5efd
VS
93142011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 GRUB developper manual based on existing Internals section and
9317 contributions by the various authors with active copyright assignment.
9318
9319 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
9320 * docs/font_char_metrics.png: New file.
9321 * docs/font_char_metrics.txt: Likewise.
9322 * docs/grub-dev.texi: Likewise.
9323 * docs/grub.texi (Internals): Move from here ...
9324 * docs/grub-dev.texi: ... here.
9325
2cccc747
CW
93262011-04-01 Colin Watson <cjwatson@ubuntu.com>
9327
9328 Store the loopback device as data on loopback grub_disk structures,
9329 rather than the file it points to. This fixes use of freed memory
9330 if an existing loopback device is replaced.
9331
9332 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
9333 disk->data, not dev->file.
9334 (grub_loopback_read): Adjust file assignment to match.
9335 Fixes Ubuntu bug #742967.
9336
186ae367
CW
93372011-04-01 Colin Watson <cjwatson@ubuntu.com>
9338
9339 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
9340 when replacing an existing device.
9341
cfed2ad0
VS
93422011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
9345 memory corruptions.
9346
9347 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
9348 unsigned.
9349 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
9350 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
9351 (grub_jfs_read_inode): Likewise.
9352 (grub_jfs_opendir): Likewise. Remove now useless casts.
9353 (grub_jfs_getent): Likewise.
9354 Make ino a grub_uint32_t rather than int.
9355 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
9356 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
9357 division and module with bit operations.
9358 (grub_jfs_find_file): Make ino a grub_uint32_t.
9359 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
9360
05d2ed32
CW
93612011-04-01 Colin Watson <cjwatson@ubuntu.com>
9362
9363 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
9364 warning. (This was in fact always initialised before use, but GCC
9365 wasn't smart enough to prove that.)
9366 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9367
91dc6073
VS
93682011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
9371 stack alignment.
9372 (efi_wrap_1): Likewise.
9373 (efi_wrap_2): Likewise.
9374 (efi_wrap_3): Likewise.
9375 (efi_wrap_4): Likewise.
9376 (efi_wrap_5): Likewise.
9377 (efi_wrap_6): Likewise.
9378 (efi_wrap_10): Likewise.
9379 Based on information by: Red Hat/Peter Jones.
9380
a8afc1d1
CW
93812011-03-31 Colin Watson <cjwatson@ubuntu.com>
9382
9383 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
9384 set-but-not-used variable.
9385
a826cc7d
CW
93862011-03-31 Colin Watson <cjwatson@ubuntu.com>
9387
9388 * docs/grub.texi (Simple configuration): Be more explicit about
9389 GRUB_DEFAULT, and add an example.
9390 Reported by: Leslie Rhorer.
9391
875b67ba
CW
93922011-03-30 Colin Watson <cjwatson@ubuntu.com>
9393
9394 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
9395 shell".
9396
fd7cd914
AS
93972011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9398
9399 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
9400 * util/grub.d/20_linux_xen.in: Likewise.
9401
090b1b6a
VS
94022011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 * util/grub.d/10_linux.in: Try alternative config filenames where
9405 we parse config file.
9406 * util/grub.d/20_linux_xen.in: Likewise.
9407
baad885c
AS
94082011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9409
9410 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
9411 * util/grub.d/20_linux_xen.in: Likewise.
9412
241e41f5
VS
94132011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * grub-core/disk/raid.c (insert_array): Add few potentially
9416 useful grub_util_info.
9417 (grub_raid_register): Likewise.
9418
56445fb2
VS
94192011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
9422 Preserve partition number in mdadm code path.
9423
c871b1c6
VS
94242011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9425
9426 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
9427 few potentially useful grub_util_info.
9428
5e631b4f
CW
94292011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9430
9431 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
9432
2d5d0333
CW
94332011-03-30 Colin Watson <cjwatson@ubuntu.com>
9434
9435 * docs/grub.texi (default): Use @example rather than nested
9436 itemized lists to avoid breaking gendocs.
9437
3d7ed04e
CW
94382011-03-30 Colin Watson <cjwatson@ubuntu.com>
9439
9440 * docs/grub.texi (Future): Update.
9441
abf04200 94422011-03-30 Colin Watson <cjwatson@ubuntu.com>
9443
9444 * docs/grub.texi (Environment): New chapter.
9445 (Changes from GRUB Legacy): Link to "Environment block" section for
9446 details of limitations.
9447 (Simple configuration): Likewise. Link to documentation of gfxmode
9448 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
9449 respectively.
9450 (Shell-like scripting): Note that normal variables are stored in the
9451 environment.
9452 (gettext): Link to documentation of lang and locale_dir.
9453 (list_env): New section.
9454 (load_env): New section.
9455 (save_env): New section.
9456
9457 (Reporting bugs): Fix typo.
9458
e1ad0edd
VS
94592011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
9462 the example.
9463
5d803174
VS
94642011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 * grub-core/term/at_keyboard.c (set_scancodes)
9467 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
9468
2a2da1d0
CW
94692011-03-30 Colin Watson <cjwatson@ubuntu.com>
9470
9471 * docs/grub.texi (Menu-specific commands): Remove some semantics
9472 that were true in GRUB Legacy but not in GRUB 2.
9473 (submenu): New section.
9474 (false): New section.
9475 (read): New section.
9476 (true): New section.
9477
a7527639
CW
94782011-03-30 Colin Watson <cjwatson@ubuntu.com>
9479
9480 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
9481
94822011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
9483
9484 * docs/grub.texi (Simple configuration): Explain some of the
9485 current limitations of grub-mkconfig.
8a748df2 9486 Reported by: Leslie Rhorer.
e30af029 9487
fc858482
VS
94882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 Old macs search for boot.efi rather than for bootia32.efi.
9491
9492 * util/grub-install.in: Copy bootia32.efi to boot.efi.
9493 * util/grub-mkrescue.in: Likewise.
9494 Suggested by: Peter Jones.
9495
e1eb511d
VS
94962011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
9499
70e75364
VS
95002011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9501
9502 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
9503 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
9504 (grub_lvm_mirror): New struct.
9505 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
9506 (grub_lvm_iterate): Iterate only visible volumes.
9507 (grub_lvm_read): Factor out to ..
9508 (read_lv): ... this. Support mirrors.
9509 (grub_lvm_read): New wrapper function.
9510 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
9511 stripped or mirrored.
9512
fc18f6a3
VS
95132011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9514
9515 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
9516
5c650f4c
CW
95172011-03-29 Colin Watson <cjwatson@ubuntu.com>
9518
9519 * docs/grub.texi (loopback): New section.
9520
61d7156b
CW
95212011-03-29 Colin Watson <cjwatson@ubuntu.com>
9522
9523 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
9524 removed -p option.
9525
994b8264
CW
95262011-03-29 Colin Watson <cjwatson@ubuntu.com>
9527
9528 * docs/grub.texi (BIOS installation): New section, partly based on
9529 previous text in other sections.
9530 (Installing GRUB using grub-install): Replace BIOS discussion with a
9531 cross-reference.
9532 (Images): Likewise.
9533
9e4d19e0
VS
95342011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * grub-core/kern/emu/hostdisk.c (find_partition_start)
9537 [HAVE_DIOCGDINFO]: Add safety checks.
9538
a307c0b2
VS
95392011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
9542 per default compiled in kernel and prior to 8.0 isn't shipped at all.
9543
b4db4f39
CW
95442011-03-29 Colin Watson <cjwatson@ubuntu.com>
9545
9546 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
9547 real_sb->size is zero (e.g. RAID-0), get the disk size from
9548 real_sb->data_size instead.
9549 Fixes Ubuntu bug #743136.
9550
35e5f84c
VS
95512011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
9554 printf clauses for printing size and start.
9555
d2e29d81
VS
95562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
9559 Reported and tested by: Timothy Nikkel.
9560
ed5587af
VS
95612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
9564 (dirty_region_add_real): ... this.
9565 (dirty_region_add): Don't discard margin refresh when performing
9566 scheduled repaint.
9567
a1dc717c
VS
95682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * grub-core/lib/relocator.c (allocate_regstart)
9571 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
9572 terminals are capabple of malloc-free operation.
9573 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9574 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9575
9f3677d3
VS
95762011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
9577
9578 * util/grub-setup.c: Copy the partition table zone if floppy support
9579 is disabled, even if no partition table is found.
9580
9581 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
9582 during POST if an invalid partition table is contained in the PBR
9583 of the active partition when GRUB is installed to a partition.
9584
24148725
CW
95852011-03-28 Colin Watson <cjwatson@debian.org>
9586
9587 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
9588 comment.
9589
f329eda7
CW
95902011-03-28 Colin Watson <cjwatson@debian.org>
9591
9592 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
9593 to be specific about what kind of RAID device we're scanning for.
9594
c482ad98
SG
95952011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
9596
9597 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
9598 return freed string.
9599
5ee04984
VS
96002011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
9603
f4727da9
VS
96042011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9605
9606 Use libgeom on FreeBSD to detect partitions.
9607
9608 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
9609 (grub-mkrelpath): Likewise.
9610 (grub-script-check): Likewise.
9611 (grub-editenv): Likewise.
9612 (grub-mkpasswd-pbkdf2): Likewise.
9613 (grub-fstest): Likewise.
9614 (grub-mkfont): Likewise.
9615 (grub-mkdevicemap): Likewise.
9616 (grub-probe): Likewise.
9617 (grub-setup): Likewise.
9618 (grub-ofpathname): Likewise.
9619 (grub-mklayout): Likewise.
9620 (example_unit_test): Likewise.
9621 (grub-menulst2cfg): Likewise.
9622 * grub-core/Makefile.core.def (grub-emu): Likewise.
9623 (grub-emu-lite): Likewise.
9624 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
9625 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
9626 define HAVE_DIOCGDINFO.
9627 (follow_geom_up) [FreeBSD]: New function.
9628 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
9629 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
9630 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
9631 unconditionally of HAVE_DIOCGDINFO.
9632
82fe6c75
VS
96332011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 Fix FreeBSD compilation problem.
9636
9637 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
9638 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
9639
4c6c9431
CW
96402011-03-24 Colin Watson <cjwatson@ubuntu.com>
9641
9642 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
9643 Switch back to page zero before loading a kernel, since some kernel
9644 drivers expect that.
9645 Thanks to: Felix Kuehling.
9646
c7064d94
VS
96472011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
9650 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
9651 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
9652
3f71cded
VS
96532011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
9656 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
9657
ef6de21a
VS
96582011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
9661 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
9662 malloc is disabled.
9663
8bc66a2c
VS
96642011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
9667 for modules headers when counting the needed allocation size.
9668
5657722c
VS
96692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
9672 if no ASCII character is found to prevent crash.
9673
41a85f55
AK
96742011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
9675
9676 * grub-core/video/bitmap.c (match_extension): Ignore case.
9677
59e1e5f1
VS
96782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9679
9680 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
9681
bd4d051a
VS
96822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 * grub-core/script/parser.y: Declare "time" as valid argument.
9685
bae7fcc1
PJ
96862011-03-23 Peter Jones <pjones@redhat.com>
9687
9688 Fix incorrect assert failure reporting.
9689
9690 * grub-core/tests/example_functional_test.c (example_test): Add
9691 a failure comment.
9692 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
9693 (failure_start): ...this. Check that malloc succeeded.
9694 Don't call xvasprintf. Return failure struct.
9695 (failure_append_vtext): New function.
9696 (failure_append_text): Likewise.
9697 (add_failure): Likewise.
9698 (grub_test_assert_helper): Likewise.
9699 * include/grub/test.h (grub_test_assert_helper): New declaration.
9700 (grub_test_assert): Macro rewritten.
9701
537dc9be
VS
97022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9703
9704 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
9705
fa3e01bf
VS
97062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
9709
b1d28404
VS
97102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9711
9712 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
9713 into GRUB-style one.
9714
2e3e2e09
VS
97152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
9718 error and not grub_errno.
9719 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
9720
ed57e557
VS
97212011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
9724 GRUB_USB_SPEED_NONE in case of failure and not the error code.
9725
d1611f01
VS
97262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 * grub-core/efiemu/i386/pc/cfgtables.c
9729 (grub_machine_efiemu_init_tables): Make declaration a prototype.
9730 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
9731 (grub_xnu_unlock): Likewise.
9732 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
9733
7d4e39d6
VS
97342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
9737 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
9738 * grub-core/commands/hashsum.c (aliases): Likewise.
9739 * grub-core/commands/setpci.c (pci_registers): Likewise.
9740 * grub-core/disk/usbms.c (attach_hook): Likewise.
9741 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
9742 (zio_checksum_table): Likewise.
9743 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
9744 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
9745 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
9746 * grub-core/lib/relocator.c (leftovers): Likewise.
9747 (extra_blocks): Likewise.
9748 * grub-core/loader/i386/bsd.c (relocator): Likewise.
9749 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
9750 (modules_last): Likewise.
9751 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
9752 (devices): Likewise.
9753 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
9754 (modules_last): Likewise.
9755 * grub-core/normal/auth.c (users): Likewise.
9756 * grub-core/normal/context.c (initial_menu): Likewise.
9757 (current_menu): Likewise.
9758 * grub-core/normal/crypto.c (crypto_specs): Likewise.
9759 * grub-core/term/serial.c (grub_serial_ports): Likewise.
9760 (grub_serial_terminfo_input_template): Likewise.
9761 (grub_serial_terminfo_output_template): Likewise.
9762 (grub_serial_terminfo_input): Likewise.
9763 (grub_serial_terminfo_output): Likewise.
9764 (registered): Likewise.
9765 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
9766
40fc4659
VS
97672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9768
9769 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
9770 grub_video_mode_type_t.
9771 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
9772 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
9773 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
9774
2da48d28
VS
97752011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * util/grub-install.in: Correct the x86-64 name as x86_64.
9778
9b43bf39
CW
97792011-03-11 Colin Watson <cjwatson@ubuntu.com>
9780
9781 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
9782 initial chunk read from the kernel always includes GRUB's multiboot
9783 header, which is now outside the first sector.
9784
be1a7ce0
CW
97852011-03-09 Colin Watson <cjwatson@ubuntu.com>
9786
9787 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
9788 cached mmap_size, so that this works correctly when called multiple
9789 times.
9790 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
9791
83a3c48d
CW
97922011-03-09 Colin Watson <cjwatson@ubuntu.com>
9793
9794 * docs/grub.texi (Simple configuration): Tidy up formatting.
9795
57d75699
SJ
97962011-03-07 Szymon Janc <szymon@janc.net.pl>
9797
9798 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
9799 Set-but-not-used variable removed.
9800
028501a0
VS
98012011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 Workaround yet another IEEE1275 bug.
9804
9805 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9806 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
9807 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
9808 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
9809 is set.
9810 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9811 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
9812
d998657d
VS
98132011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
9816 error.
9817
fee7cdd4
CW
98182011-02-11 Colin Watson <cjwatson@ubuntu.com>
9819
9820 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
9821 empty, since in that case we can only generate either nothing or a
9822 syntactically invalid configuration file.
9823 Reported by: Michal Suchanek. Fixes Debian bug #612898.
9824
97286eb5
CW
98252011-02-09 Colin Watson <cjwatson@ubuntu.com>
9826
9827 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
9828 (Making a GRUB bootable CD-ROM): Likewise.
9829 (Invoking grub-mkrescue): New section.
9830 Reported by: Yann Dirson. Fixes Debian bug #612585.
9831
22b28eb3
CW
98322011-02-09 Colin Watson <cjwatson@ubuntu.com>
9833
9834 * util/grub-install.in: Remove unnecessary brackets from tr
9835 arguments.
9836 * util/grub.d/10_hurd.in: Likewise.
9837 * util/grub.d/10_kfreebsd.in: Likewise.
9838 * util/grub.d/10_linux.in: Likewise.
9839 * util/grub.d/20_linux_xen.in: Likewise.
9840 Reported by: Jamie Heilman. Fixes Debian bug #612564.
9841
7e735e43
CW
98422011-02-08 Colin Watson <cjwatson@ubuntu.com>
9843
9844 * include/grub/file.h (not_easly_seekable): Rename to ...
9845 (not_easily_seekable): ... this. Update all users.
9846
800f1881
CW
98472011-01-28 Colin Watson <cjwatson@ubuntu.com>
9848
9849 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
9850 grub-mkrescue.
9851
3281d3d6
VS
98522011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * util/grub-mkimage.c (generate_image): Refuse to create the images
9855 bigger than the actual flash (512K) in Loongson machines. 512K is also
9856 the biggest chip supported by them.
9857
3533413c
VS
98582011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
9861
73ae4f4f
VS
98622011-01-22 Anthony DeRobertis <anthony@derobert.net>
9863
9864 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
9865 super_offset field.
9866
37f4f608
VS
98672011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * util/grub-install.in: Ignore install device on platforms
9870 where it doesn't make sense. Always use UUIDs except on pc, efi and
9871 sparc64.
9872 Reported by: Daniel Kahn Gillmor.
9873
03a4ccb5
VS
98742011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
9877
ffc8f4d8
VS
98782011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
9881 (iterate_real): Don't rely on partition being non-NULL.
9882
80f23be7
VS
98832011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9884
9885 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
9886 supported platforms. Put a compile time assert for this rather than
9887 generate a warning with 32-bit shift.
9888
5d4f4dd5
VS
98892011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
9892 logical expression more readable.
9893
e489601a
VS
98942011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9895
9896 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
9897 even if some elements have a name.
9898 Reported by: Alexander GQ Gerasiov.
9899
96e0a6ea
CW
99002011-01-22 Colin Watson <cjwatson@ubuntu.com>
9901
9902 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
9903 path unreadable if `grub-probe -t abstraction' fails, for example if
9904 memberlist fails on an LVM volume group.
9905 Reported by: Darius Jahandarie.
9906
81431e2b
CW
99072011-01-22 Colin Watson <cjwatson@ubuntu.com>
9908
9909 * docs/grub.texi (Simple configuration): Document
9910 GRUB_PRELOAD_MODULES.
9911
5e79d66a
CW
99122011-01-17 Colin Watson <cjwatson@ubuntu.com>
9913
9914 * .bzrignore: Remove nonexistent grub-pbkdf2.
9915
646ada34
VS
99162011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * configure.ac: Bump version to 1.99~rc1.
9919
04360337
VS
99202011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9921
9922 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
9923 for safety.
9924
46c9db88
VS
99252011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
9928 module.
9929
99302011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
9931
9932 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
9933
4fbf1852
VS
99342011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
9937 diskdevid.
9938
f1632d4d
VS
99392011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 Fix compilation on cygwin.
9942
9943 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
9944 -R .drectve on cygwin.
9945 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
9946 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
9947 (COND_CYGWIN): New condition.
9948 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
9949 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
9950 not @TARGET_OBJ2ELF@.
9951 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
9952 type to determine whether aux is to be used.
9953
0b5e127b
VS
99542011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
9957 realpath'ed device string.
9958 Handle floppy (somewhat).
9959 Issue error in unknown case rather than garbage.
9960 Reported by: Axel Beckert.
9961
173b71e9
VS
99622011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9963
9964 * util/grub.d/00_header.in (load_video): Handle the case when no video
9965 drivers available.
9966 Thanks to: Axel Beckert.
9967
f8f479db
VS
99682011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
9971 variable. Fixes problem on big endian platforms.
9972
8fc0a245
VS
99732011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
9976 It doesn't work well there.
9977
b8494fbe
VS
99782011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
9981 warning.
9982 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
9983 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
9984 counter.
9985
b44a558c
VS
99862011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 Use alias->path rather than buggy "canon".
9989
9990 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
9991 (ofdisk_hash_add): New argument curcan. All users updated.
9992
51fa856c
CW
99932011-01-11 Colin Watson <cjwatson@ubuntu.com>
9994
9995 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
9996
9da068a5
VS
99972011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10000 loadmask before doing any calculations. Use correct type for offset.
10001 (grub_linux_load64): Likewise.
10002
86205c94
CW
100032011-01-11 Colin Watson <cjwatson@ubuntu.com>
10004
10005 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10006 with NULL.
10007 (console_grub_equivalences_unshift): Likewise.
10008 Reported by: Daniel Dehennin.
10009
4531a206
VS
100102011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10013 (set_env_limn_ro): Likewise.
10014 (GRUB_MOD_INIT): Likewise.
10015 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10016 ARRAY_SIZE while on it.
10017 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10018 * grub-core/normal/context.c (grub_env_export): Move from here ...
10019 * grub-core/kern/env.c (grub_env_export): ... here.
10020 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10021 prefix.
10022 * grub-core/kern/main.c (grub_main): Export root and prefix.
10023 * include/grub/env.h (grub_env_export): Export.
10024 Reported by: Seth Goldberg.
10025
45146057
VS
100262011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10029 Take into account space used by ELF sections and multiboot palette.
10030 Reported by: Grégoire Sutre.
10031
f093110b
VS
100322011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 * BUGS: New file.
10035
3395fe52
VS
100362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 Pass more appropriate video id to Linux.
10039
10040 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10041 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10042 fill have_vga.
10043 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10044 shift params->lfb_size.
10045 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10046
c2fa6cbb
VS
100472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10050
b3ff6ff0
VS
100512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10052
10053 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10054 separator and pass bootpath/devid even if only one of them is available.
10055 Reported by: Seth Goldberg.
10056
ae67942e
VS
100572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10060 implementations bug on them.
10061
10062 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10063 memory.
10064 (filter_memory_map): Likewise.
10065
d570097a
VS
100662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
10069 Reported by: nebuchadnezzar.
10070
a508e776
VS
100712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
10074 Reported by: nebuchadnezzar.
10075
dcb883b1
VS
100762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 Submenu default support.
10079
10080 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
10081 auto_boot. All users updated.
10082 Declared static.
10083 Handle chosen and default with submenus.
10084 (grub_menu_execute_with_fallback): Declared static.
10085 Don't notify failure if autobooted. Upper level does it.
10086 (menuentry_eq): New function.
10087 (get_entry_number): Use menuentry_eq.
10088 (show_menu): New parameter "autobooted". All users updated.
10089 (grub_show_menu): Likewise.
10090 * include/grub/normal.h (grub_show_menu): Likewise.
10091 * include/grub/menu.h (grub_menu_execute_entry): Removed.
10092 (grub_menu_execute_with_fallback): Likewise.
10093
6fef99b4
VS
100942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 * util/grub-mklayout.c (usage): Update help text.
10097
47a77af5
VS
100982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
10101
ce6bb3ee
VS
101022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 * util/grub-menulst2cfg.c (main): Trim the line.
10105
db87be2a
VS
101062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
10109 (grub_machine_init): Don't check amount of low memory as reportedly
10110 INT 12h can be broken and if low memory is too low we wouldn't have
10111 gotten into grub_machine_init anyway.
10112
c49849cc
VS
101132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
10116 (grub_machine_mmap_iterate): Take low memory into account
10117
b1969b30
VS
101182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10119
10120 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
10121 badfs.
10122 Reported by: TiCPU.
10123
cf0eaf13
VS
101242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
10127 members errors.
10128
1f060f39
GS
101292011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10130
10131 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
10132 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
10133
a21e5672
GS
101342011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10135
10136 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
10137 openbsd and netbsd types being in part_bsd module.
10138
c88172fa
VS
101392011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
10142 (_FILE_OFFSET_BITS): Likewise.
10143 Reported by: Seth Goldberg.
10144
53798c4b
GS
101452011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10146
10147 * configure.ac: Check for libdevmapper header.
10148
e7121b69
VS
101492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10150
10151 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
10152 avoid aliasing.
10153 (fzap_lookup): Likewise.
10154 (dnode_get): Likewise.
10155 (make_mdn): Likewise.
10156 (zfs_mount): Likewise.
10157 (fzap_iterate): Use temporary pointer to avoid aliasing.
10158 (grub_zfs_read): Likewise.
10159 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
10160 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
10161 pointers to avoid aliasing.
10162 (grub_cmd_xnu_kernel64): Likewise.
10163 (grub_xnu_load_driver): Likewise.
10164
fc836af9
VS
101652011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
10168 aliasing warning.
10169 (grub_cmd_terminal_output): Likewise.
10170 Reported and tested by: Grégoire Sutre.
10171
f9f37648
VS
101722011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
10175 warning.
10176 Reported and tested by: Grégoire Sutre.
10177
ec1dfd63
VS
101782011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * configure.ac: Do CPU substitution even if it's specified explicitly.
10181 Reported and tested by: Alain Greppin.
10182
9462775a
VS
101832011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
10186 Reported and tested by: Alain Greppin.
10187
0fd48e35
VS
101882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 Satisfy some bison versions need for inttypes.h.
10191
10192 * grub-core/lib/posix_wrap/inttypes.h: New file.
10193 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
10194 (int16_t): Likewise.
10195 (int32_t): Likewise.
10196 (int64_t): Likewise.
10197 Reported and tested by: Alain Greppin.
10198
43f1bc83
VS
101992011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10200
10201 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
10202 Silence spurious warning.
10203 Reported and tested by: Alain Greppin.
10204
64d1f041
SJ
102052011-01-07 Szymon Janc <szymon@janc.net.pl>
10206
10207 * docs/grub.texi (Support automatic decompression): Update with xz
10208 decompression support.
10209
25953e10
SJ
102102011-01-07 Szymon Janc <szymon@janc.net.pl>
10211
10212 Improve loaders' kernel command line handling.
10213
10214 * grub-core/lib/cmdline.c: New file.
10215 * include/grub/lib/cmdline.h: Likewise.
10216 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
10217 grub_create_loader_cmdline to create kernel command line.
10218 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10219 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
10220 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
10221 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
10222 (linux): Add lib/cmdline.c on common.
10223
e72d259f
VS
102242011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10225
10226 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
10227 inopos might be unaligned.
10228
c0cf26da
VS
102292011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10232 endian transformations.
10233 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10234 Based on report by: Doug Nazar.
10235
0ca09e6c
DN
102362011-01-07 Doug Nazar <nazard.michi@gmail.com>
10237
10238 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
10239 array->members[i].start_sector.
10240 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
10241
014b6806
VS
102422011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10243
10244 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
10245 Reported and tested by: Grégoire Sutre.
10246
415502c2
CW
102472011-01-06 Colin Watson <cjwatson@ubuntu.com>
10248
10249 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
10250 avoid causing test failures by clearing the screen.
10251
71b6a2b7
CW
102522011-01-06 Colin Watson <cjwatson@ubuntu.com>
10253
10254 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10255 Fix prefix check to handle the case where dir ends with a slash
10256 (most significantly, "/" itself).
10257 Reported by: Michael Vogt.
10258
b3f8d28a
VS
102592011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 Run terminfo_cls on initing terminfo output to clear the screen and
10262 move the cursor to (0,0).
10263
10264 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
10265 Call grub_terminfo_output_init.
10266 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
10267 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
10268 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
10269
4c3e4f37
VS
102702011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
10273 only when needed.
10274
488f71f1
VS
102752011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
10278 CTRL.
10279
18a38098
VS
102802011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 The E820 type 5 is BADRAM, not EXEC_CODE.
10283
10284 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10285 (GRUB_E820_BADRAM): New define.
10286 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
10287 into reserved. Propagate BADRAM.
10288 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10289 (GRUB_E820_BADRAM): New define.
10290
9eae2084
VS
102912011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10292
10293 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
10294 Ignore the memory post-4G.
10295 (grub_relocator_firmware_alloc_region): Additional debug statement.
10296
ebc71d28
VS
102972011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
10300 names.
10301 Reported by: David Pravec.
10302
446fa400
VS
103032011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10304
10305 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
10306 BIOSes.
10307
a0159f37
VS
103082011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
10311 Prevent overflow.
10312 (grub_reed_solomon_recover): Likewise.
10313
e5146ca1
VS
103142011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10315
10316 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
10317
103182011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
10319
10320 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
10321 variable.
10322
5b1bdf12
CW
103232011-01-04 Colin Watson <cjwatson@ubuntu.com>
10324
10325 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
10326 descriptions of extract_legacy_entries_source and
10327 extract_legacy_entries_configfile.
10328 Reported by: Seung Soo, Ha.
10329
99d925aa
CW
103302011-01-03 Colin Watson <cjwatson@ubuntu.com>
10331
10332 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
10333 on devices that do not implement function 0.
10334
4af0504b
DV
103352011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
10336
10337 * grub-core/fs/hfsplus.c: Make parent unsigned.
10338 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
10339 overflows.
10340 (grub_hfsplus_cmp_extkey): Likewise
10341
469ee10a
VS
103422011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 * util/grub-install.in: Correctly use bootloader_id and not
10345 GRUB_DISTRIBUTOR on efibootmgr line.
10346
323a8e9c
VS
103472011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
10350
1b394975
IC
103512010-12-31 Ian Campbell <ijc@hellion.org.uk>
10352
10353 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
10354 Xen and reorder menu item wording to make it clearer that this entry
10355 will launch Xen. Print separate messages when loading Xen and
10356 Linux.
10357
275bff5f
VS
103582010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
10361 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
10362 loop in case of incorrect amiga partmap.
10363
307806cb
VS
103642010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10365
10366 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
10367 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
10368 Reported by:EHeM.
10369
b12b923e
VS
103702010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
10373 spurious warning.
10374 Reported by: crocket
10375
14b48a19
VS
103762010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
10379 Preload EFIemu.
10380 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
10381
693db2df
VS
103822010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
10385 is loaded
10386 (grub_cmd_xnu_kextdir): Likewise.
10387 (grub_cmd_xnu_splash): Likewise.
10388
c7638645
VS
103892010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10390
10391 Avoid using Reed-Solomon with 0 redundancy.
10392
10393 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
10394 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
10395 or 0 redundancy.
10396 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
10397 (grub_reed_solomon_recover): Likewise.
10398
25dd4780
VS
103992010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10400
10401 Don't use disk subsystem in freebsd_boot.
10402
10403 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
10404 (freebsd_biosdev): Likewise.
10405 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
10406 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
10407
0b2db943
VS
104082010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 Handling of files of unknown size is currently limited. They can't be
10411 used e.g. for initrd or modules. Moreover gzip handling of not
10412 easily seekable files is buggy. Disable unknown file size for now. May
10413 be inefficient but works.
10414
10415 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
10416 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
10417
5c408d0f
MP
104182010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
10419
10420 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
10421 floppy probe.
10422
190a011a
JD
104232010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
10424
10425 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
10426
022d01b8
SL
104272010-12-25 Shea Levy <shlevy>
10428
10429 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
10430
c4855fdc
VS
104312010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10432
10433 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
10434 Windows Server 2008.
10435 Reported by: Devin Giddings.
10436
0354b867
VS
104372010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
10440 writing an error message because of async power management.
10441 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
10442 (grub_reboot): Likewise.
10443
ab66c69f
JU
104442010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
10445
10446 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
10447 keep unit tests from failing when they shouldn't.
10448
1426ef35
CW
104492010-12-21 Colin Watson <cjwatson@ubuntu.com>
10450
10451 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
10452 previous patch increased the size of the RS code by 20 bytes (at
10453 least with gcc-4.4), so increase this by 20 bytes to match.
10454 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10455
20641b6b
CW
104562010-12-21 Colin Watson <cjwatson@ubuntu.com>
10457
10458 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
10459 scratch area. Make sure to initialise chosen in standalone mode as
10460 well as non-standalone.
10461 Reported by: Robert Hooker and Andy Whitcroft.
10462 Tested by: Andy Whitcroft.
10463
d060ad60
CW
104642010-12-21 Colin Watson <cjwatson@ubuntu.com>
10465
10466 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
10467 constructing a new unescaped string and passing it to grub_xputs in
10468 one go, rather than passing characters to grub_printf one at a time.
10469
b889cfad
CW
104702010-12-21 Colin Watson <cjwatson@ubuntu.com>
10471
10472 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
10473 initialising utf16.
10474
4e01b6c8
CW
104752010-12-21 Colin Watson <cjwatson@ubuntu.com>
10476
10477 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
10478 comment. Add an extra layer of quotation, requiring the output of
10479 this function to be used in a printf format string.
10480 (gettext_printf): New function.
10481 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
10482 Extract translatable strings from here-documents and use a temporary
10483 variable instead, so that xgettext can find them.
10484 * util/grub.d/10_kfreebsd.in: Likewise.
10485 * util/grub.d/10_linux.in: Likewise.
10486 * util/grub.d/20_linux_xen.in: Likewise.
10487
10488 * po/grub.d.sed: New file.
10489 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
10490 arguments. Set c-format flags on all strings extracted from
10491 util/grub.d/ (xgettext refuses to include these itself for strings
10492 it extracted from a shell file, but these really are c-format).
10493
5318fe98
VS
104942010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
10497 Avoid next pointing to nowhere.
10498
6c85b743
VS
104992010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
10502 rather than assuming than rootblock is exactly in the middle.
10503 (grub_affs_label): Likewise.
10504
a2a08a35
VS
105052010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10506
10507 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
10508 reserved_first_sector to 0.
10509 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
10510 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
10511 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
10512
7059d1ec
VS
105132010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 Fix handling of UTF-16 UDF labels.
10516
10517 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
10518 (read_string): .. here.
10519 (grub_udf_label): Use read_string.
10520
30aff4cb
BC
105212010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
10522
10523 * grub-core/normal/menu_entry.c (run): Execute commands from menu
10524 editor under argument scope.
10525 Reported by: Jordan Uggla
10526
5cf86f4b
VS
105272010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
10530
32570200
CW
105312010-12-18 Colin Watson <cjwatson@ubuntu.com>
10532
10533 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
10534 line, and other keys scroll an entire page (previous handling was
10535 for \r and \n to scroll a page and other keys to scroll two lines).
10536
e1dffcf2
VS
105372010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10540 Set ptrdest to correct get_physical_target_address rather than
10541 incorrect get_virtual_current_address.
10542
b04298cf 105432010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
10544
10545 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
10546 correct cat to grub_uint8_t * rather than grub_uint32_t *.
10547
5367ecd3
CW
105482010-12-10 Colin Watson <cjwatson@ubuntu.com>
10549
10550 * .bzrignore: Ignore grub-core/rs_decoder.S.
10551
1fb430f8
CW
105522010-12-10 Colin Watson <cjwatson@ubuntu.com>
10553
10554 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
10555 .mo/.mo.gz opening sequence to ...
10556 (grub_mofile_open_lang): ... here.
10557 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
10558 * util/grub.d/00_header.in (grub_lang): Include country part of
10559 locale.
10560 Reported by: Mario Limonciello.
10561
a94a6671
RM
105622010-12-09 Robert Millan <rmh@gnu.org>
10563
10564 * NEWS: Document addition of ZFS support.
10565
24b7938b
CW
105662010-12-04 Colin Watson <cjwatson@ubuntu.com>
10567
10568 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
10569 rather than `/ 2', as the latter requires -Wa,--divide which would
10570 require bumping our minimum binutils version.
10571
bddc3ef6
BC
105722010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
10573
10574 * util/grub-script-check.c (main): Print script line number on
10575 error.
10576
bf78d5b2
RM
105772010-12-01 Robert Millan <rmh@gnu.org>
10578
10579 * grub-core/fs/zfs/zfs.c: New file.
10580 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
10581 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
10582 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
10583 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10584
10585 * include/grub/zfs/dmu.h: Likewise.
10586 * include/grub/zfs/dmu_objset.h: Likewise.
10587 * include/grub/zfs/dnode.h: Likewise.
10588 * include/grub/zfs/dsl_dataset.h: Likewise.
10589 * include/grub/zfs/dsl_dir.h: Likewise.
10590 * include/grub/zfs/sa_impl.h: Likewise.
10591 * include/grub/zfs/spa.h: Likewise.
10592 * include/grub/zfs/uberblock_impl.h: Likewise.
10593 * include/grub/zfs/vdev_impl.h: Likewise.
10594 * include/grub/zfs/zap_impl.h: Likewise.
10595 * include/grub/zfs/zap_leaf.h: Likewise.
10596 * include/grub/zfs/zfs.h: Likewise.
10597 * include/grub/zfs/zfs_acl.h: Likewise.
10598 * include/grub/zfs/zfs_znode.h: Likewise.
10599 * include/grub/zfs/zil.h: Likewise.
10600 * include/grub/zfs/zio.h: Likewise.
10601 * include/grub/zfs/zio_checksum.h: Likewise.
10602
10603 * Makefile.util.def: Build ZFS into libgrubmods.
10604 * grub-core/Makefile.core.def: Build zfs.mod.
10605
3f0f3831
SJ
106062010-11-30 Szymon Janc <szymon@janc.net.pl>
10607
10608 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
10609 variable.
10610 * grub-core/commands/wildcard.c (match_files): Likewise.
10611
3a4253b2
RM
106122010-11-30 Robert Millan <rmh@gnu.org>
10613
10614 * grub-core/loader/i386/bsd.c
10615 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
10616 whether kernel is loaded using grub_loader_is_loaded(), rather
10617 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
10618 certain error conditions.
10619
8c317b27
RM
106202010-11-30 Robert Millan <rmh@gnu.org>
10621
c5c9cd3e
RM
10622 * grub-core/commands/echo.c: Include `<grub/term.h>'.
10623 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 10624
49d3ab46
VS
106252010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 Avoid using tricks for initialising endian variables.
10628
10629 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
10630 Make const.
10631 (GRUB_MOD_INIT): Don't byte-swap.
10632 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10633 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
10634 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
10635 (grub_swap_bytes32_compile_time): Likewise.
10636 (grub_cpu_to_le32_compile_time): Likewise.
10637 (grub_cpu_to_le16_compile_time): Likewise.
10638
f420a804
VS
106392010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * util/grub-setup.c (setup): Stop recommending --force. People who
10642 understand the dangers of blocklists are able to find this option
10643 anyway and the ones who don't shouldn't use it anyway.
10644
4e7db17b
RM
106452010-11-26 Robert Millan <rmh@gnu.org>
10646
10647 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
10648 Update all users.
10649
9be57a0d
CW
106502010-11-26 Colin Watson <cjwatson@ubuntu.com>
10651
10652 Fix LVM-on-RAID probing.
10653
10654 * util/grub-probe.c (probe): Remember which disk was detected as
10655 RAID (perhaps an LVM physical volume). Use that disk's raidname
10656 rather than that of the top-level disk.
10657
2c7859b3 106582010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 10659
d7647bb6
BC
10660 Fix cmdline argument quotes for setparams command of menuentry
10661 definitions.
7e623b0d
BC
10662
10663 * grub-core/commands/menuentry.c (setparams_prefix): Use single
10664 quotes for arguments.
f866fe80 10665 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 10666 grub_strchrsub function instead.
f866fe80 10667
7955bea0 10668 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 10669
74f72a64
CW
106702010-11-24 Colin Watson <cjwatson@ubuntu.com>
10671
10672 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
10673 effort by skipping "." and ".." entries up-front.
10674 Suggested by: Michael Lazarev.
10675
5a407278
CW
106762010-11-24 Colin Watson <cjwatson@ubuntu.com>
10677
10678 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
10679 ldflags to ldadd, to fix link line ordering.
10680 (none_decompress): Likewise.
10681
3030d8ec
CW
106822010-11-24 Colin Watson <cjwatson@ubuntu.com>
10683
10684 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
10685 platforms.
10686 (grub-emu-lite): Remove kern/emu/cache.S.
10687
b7fbac12
CW
106882010-11-23 Colin Watson <cjwatson@ubuntu.com>
10689
10690 * util/deviceiter.c (compare_devices): If the by-id link for a
10691 device couldn't be resolved, fall back to sorting by the by-id link
10692 rather than segfaulting.
10693 Reported and tested by: Daniel Mierswa.
10694
5225f328
CW
106952010-11-23 Colin Watson <cjwatson@ubuntu.com>
10696
10697 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
10698 ldflags, to fix link line ordering.
10699
038b3ce8
CW
107002010-11-23 Colin Watson <cjwatson@ubuntu.com>
10701
10702 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
10703 linkers are picky about this.
10704
bf16e98e
CW
107052010-11-23 Colin Watson <cjwatson@ubuntu.com>
10706
10707 * grub-core/Makefile.am (command.lst): Adjust sed expression
10708 ordering so that extended and priority commands aren't treated as
10709 ordinary commands.
10710
7242bab6
CW
107112010-11-23 Colin Watson <cjwatson@ubuntu.com>
10712
10713 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10714 Remove byte-swapping function calls, which are not valid in
10715 structure initialisers.
10716 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
10717 non-const.
10718 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
10719 grub_gpt_partition_type_bios_boot.
10720
14e8b279
CW
107212010-11-22 Colin Watson <cjwatson@ubuntu.com>
10722
10723 Fix test program build on GNU/kFreeBSD.
10724
10725 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
10726 $(LIBNVPAIR)' library dependencies.
10727
e6f63338 107282010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
10729
10730 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
10731
cf8ffc38
CW
107322010-11-22 Colin Watson <cjwatson@ubuntu.com>
10733
10734 * util/grub-install.in: Remove excessive quoting that broke
10735 installations to RAID devices.
10736
7f8b0fd7
VS
107372010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
10740 bootloader version instead of 0.
10741
dfd240b1
VS
107422010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
10745 warning.
10746
7b61e609
VS
107472010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10748
10749 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
10750 retrieve the metadat sector if size isn't known.
10751 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10752
9dfe92d0
RM
107532010-11-18 Robert Millan <rmh@gnu.org>
10754
10755 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
10756 with grub_memcmp().
10757
41cc919e
VS
107582010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
10761 arrow.
10762 Reported by: Jordan Uggla.
10763
1afcc914
VS
107642010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 Make better UTF compliant.
10767
10768 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
10769 sequences as incorrect.
10770 (grub_is_valid_utf8): Likewise.
10771 (grub_utf8_to_ucs4): Likewise.
10772 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
10773 (grub_ucs4_to_utf8_alloc): Likewise.
10774 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
10775
f1808884
VS
107762010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10777
10778 Make legacy_source behave like source.
10779
10780 * grub-core/commands/legacycfg.c (legacy_file): Don't call
10781 grub_show_menu.
10782 (grub_cmd_legacy_source): Call grub_show_menu if needed.
10783
24ec575b
CW
107842010-11-16 Colin Watson <cjwatson@debian.org>
10785
10786 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
10787 (-Wunused implies -Wunused-parameter, but not vice versa).
10788
72b7c7aa
CW
107892010-11-16 Colin Watson <cjwatson@ubuntu.com>
10790
10791 * configure.ac: Make error messages less confusing by testing for
10792 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
10793 accepted, but produces a diagnostic if something else is wrong).
10794
e98937aa
VS
107952010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
10798 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
10799 (now unused).
10800 (grub_keyboard_controller_init)
10801 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
10802 read the initial state since controller isn't inited yet.
10803
f6bbabc3
VS
108042010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
10807 allocate_regbeg may need to create new chunk header.
10808
22e7dbb2
VS
108092010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 Fix quoting in legacy parser.
10812
10813 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
10814 single quotes.
10815 (grub_legacy_parse): Likewise.
10816 Reported by: Jordan Uggla.
10817 Tested by: Jordan Uggla.
10818
03f80960
VS
108192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10820
10821 Don't add -lgcc on i386 and x86_64.
10822
10823 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
10824 * conf/Makefile.common (LDADD_KERNEL): Likewise.
10825 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
10826
779dc15b
VS
108272010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10828
10829 * configure.ac: Add -Wno-trampolines when supported.
10830
d20a3b37
MV
108312010-11-14 Modestas Vainius <modax@debian.org>
10832
10833 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
10834 fakeraid.
10835
e5360933
GC
108362010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10837
10838 Add generic logical block size support for UDF.
10839
10840 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
10841 (GRUB_UDF_BLKSZ): Removed.
10842 (struct grub_udf_data): New field "lbshift" to hold the logical block
10843 size of the file system in log2 format. All users updated.
10844 (sblocklist): Change type to unsigned.
10845 (grub_udf_mount): Change type of "sblklist" to unsigned.
10846 Move AVDP search before VRS recognition, because the latter requires
10847 knowledge of the logical block size, which is detected during the
10848 former.
10849 Detect and validate logical block size during AVDP search, adding
10850 support for block sizes 512, 1024 and 4096.
10851 Make VRS recognition independent of block size.
10852
cb0229c5
GC
108532010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10854
10855 Properly handle deleted files on UDF.
10856
10857 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
10858 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
10859 set.
10860
406858a8
GC
108612010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10862
10863 Support reading files larger than 2 GiB.
10864
10865 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
10866 "offset" to grub_off_t.
10867 (grub_udf_read_file): Likewise for parameter "pos".
10868
130da6a7
VS
108692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
10872 unavailable.
10873 (Simple configuration): Refer to Changes from GRUB Legacy about
10874 save_env availability.
10875
65e93f6b
VS
108762010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10877
10878 * util/grub-install.in: Ignore empty partition table detection
10879 instead of trying to include part_ module.
10880
1fd08bf1
VS
108812010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10882
10883 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
10884 LVM on RAID support.
10885
de1a024f
VS
108862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10887
10888 Properly define WORDS_BIGENDIAN in wrapped environments.
10889
10890 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
10891 definition.
10892 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
10893
10894 Reported by: Manoel Rebelo Abranches.
10895 Tested by: Manoel Rebelo Abranches.
10896
bc5dd0b9
VS
108972010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10898
10899 * util/grub-mkconfig.in: Fix quoting.
10900
58c184be
VS
109012010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 Support big ext2 files.
10904
10905 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
10906 (grub_ext2_read_block): Support triple indirect blocks.
10907 (grub_ext2_read_file): Use 64-bit types and read size_high.
10908 (grub_ext2_open): Read size_high.
10909 Reported by: Ximin Luo.
10910 Tested by: Manoel Rebelo Abranches.
10911
5f0c02b3
VS
109122010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 * util/grub-install.in: Handle filenames containing spaces.
10915 Reported by: Jordan Uggla.
10916 Tested by: Jordan Uggla.
10917
4417aae6
VS
109182010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10919
10920 * util/grub-mkconfig.in (grub_script_check): New variable.
10921 Use grub_script_check instead of grub-script-check.
10922 Reported by: Barry Jackson.
10923
7625a68e
VS
109242010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 * docs/grub.texi (menu): Correct the order.
10927 Reported by: D. Hugh Redelmeier.
10928
10001ac5
VS
109292010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
10932 jump.
10933
9c4cf53b
MRA
109342010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10935
10001ac5
VS
10936 * include/grub/elfload.h (grub_elf32_size): New parameter.
10937 All users updated.
9c4cf53b
MRA
10938 Return maximum segments alignment.
10939 (grub_elf64_size): Likewise.
10940 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
10941 Return maximum segments alignment.
10942 (grub_elf64_size): Likewise.
10943 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
10944 (grub_linux_claimmap_iterate): New function. Uses the
10945 "available" property in the "memory" node for memory allocation
10946 for kernel in the PowerPC loader.
9c4cf53b
MRA
10947 (grub_linux_load32): Correctly find linux entry point offset.
10948 (grub_linux_load64): Likewise.
10949
d2bf06bf
RM
109502010-11-07 Robert Millan <rmh@gnu.org>
10951
10952 On mips-yeeloong, build with -march=loongson2f when this flag is
10953 available (GCC >= 4.4).
10954 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
10955 `-march=mips3'.
10956 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
10957 or otherwise add -march=mips3.
10958
898c99a2
BC
109592010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
10960
87220a68
BC
10961 Suppress shell expansion on echo '*' and echo "*" like cases.
10962 Reported by: Jordan Uggla.
898c99a2
BC
10963
10964 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
10965 string arguments before shell expansion.
10966 * tests/grub_cmd_echo.in: New testcases.
10967
4f9b406a
RM
109682010-11-07 Robert Millan <rmh@gnu.org>
10969
10970 * conf/mips-qemu-mips.rmk: Remove stale file from previous
10971 transition.
10972
80c6d25e
VS
109732010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 * grub-core/kern/emu/hostdisk.c
10976 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
10977
4a1a0153
VS
109782010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
10981 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
10982 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
10983
34706ddc
VS
109842010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
10987
6972dea9
VS
109882010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 * util/grub-install.in: Replace useless recomendation to pass
10991 --modules with a recomendation to report a bug.
10992
9c693bd6
VS
109932010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 Properly register serial terminfo.
10996 Reported by: Jordan Uggla
10997
10998 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
10999 const.
11000 (grub_serial_terminfo_output_template): Likewise.
11001 (grub_cmd_serial): Register "serial" with terminfo.
11002 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11003 grub_serial_terminfo_output.
11004
6c9e4c0c
RM
110052010-11-05 Robert Millan <rmh@gnu.org>
11006
11007 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11008 needed).
11009
b9b3839f
RM
110102010-11-05 Robert Millan <rmh@gnu.org>
11011
11012 On Yeeloong, pass machine type information to Linux.
11013
11014 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11015 (LOONGSON_MACHTYPE): New macro, set to
11016 "machtype=lemote-yeeloong-2f-8.9inches".
11017 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11018 additional argument to Linux.
11019
1a3aaff4
RM
110202010-11-04 Robert Millan <rmh@gnu.org>
11021
11022 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11023 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11024 (its SATA disks are detected as slaveless IDE master drives on
11025 kFreeBSD).
11026 Reported by Carsten Aulbert.
11027
a75f4f62
CW
110282010-11-02 Colin Watson <cjwatson@ubuntu.com>
11029
11030 * util/bin2h.c (main): Fix spelling error in generated output.
11031
33b4b0c6
GS
110322010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11033
11034 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11035
2b36fbf4
VS
110362010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11039 vga= option is supplied.
11040
74aaf558
VS
110412010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11044 * util/grub.d/10_kfreebsd.in: Likewise.
11045 * util/grub.d/10_linux.in: Likewise.
11046 * util/grub.d/20_linux_xen.in: Likewise.
11047
6428dec3
VS
110482010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11049
11050 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11051 argument as an argument to no-argument option.
11052
f8729d98
VS
110532010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 * util/grub.d/10_linux.in: Add missing load_video with explicit
11056 GRUB_GFXPAYLOAD_LINUX.
11057
89d68fa6
VS
110582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11061
3a1197cd
VS
110622010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
11065 elements with invlid index.
11066 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11067 * grub-core/disk/raid.c (insert_array): Automatically reallocate
11068 members.
11069 * include/grub/raid.h (grub_raid_member): New struct.
11070 (grub_raid_array): Transform devices and start_sector into usage of
11071 grub_raid_member. All users updated
11072 (allocated_devs): New member.
11073
71574288
VS
110742010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
11077 is modified
11078
8d40ec65
BC
110792010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
11080
11081 NetBSD build fix for getline function conflict from gnulib.
11082
11083 * Makefile.util.def (libgrubkern.a): New library for grub kernel
11084 components that depend on gnulib headers.
11085 (libgrubmods.a): Renamed from earlier libgrub.a.
11086 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
11087
95b9257e
VS
110882010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
11091 install rather than creating a broken install.
11092
26c53dc6
VS
110932010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 * util/grub-setup.c (argp): Remove misleading example of installing to
11096 a partition.
11097
4171b3c5
VS
110982010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11099
11100 * util/grub-setup.c (setup): Clarify the error message.
11101
18568d18
VS
111022010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11103
11104 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
11105
4f6a2e21
VS
111062010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 * grub-core/kern/emu/misc.c
11109 (grub_make_system_path_relative_to_its_root)
11110 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
11111
111122010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
11113
11114 * grub-core/kern/emu/misc.c
11115 (grub_make_system_path_relative_to_its_root): Revert r2882.
11116
e138c458
VS
111172010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
11120 useless field head. All users updated.
11121 (free_subchunk): Correct handling of IN_REGION subchunk.
11122
0cbcdf0e
CW
111232010-10-22 Colin Watson <cjwatson@ubuntu.com>
11124
11125 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
11126 (Supported kernels): Likewise.
11127
b65ea155
GS
111282010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11129
11130 Make mktemp invocations portable.
11131
11132 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
11133 exit if mktemp fails.
11134 * tests/grub_script_blockarg.in: Likewise.
11135 * tests/partmap_test.in: Likewise.
11136 * tests/util/grub-shell-tester.in: Likewise.
11137 * tests/util/grub-shell.in: Likewise.
11138 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11139 * Makefile.am: Likewise, and chain shell commands with `&&'
11140 instead of ';'.
11141 * util/grub-mkrescue.in: Use the same explicit template as above, and
11142 exit if mktemp fails.
11143
05f43cdd
BC
111442010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
11145
11146 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
11147 Linux kernel, reported by Dennis Schridde.
11148
800e6a9b
SJ
111492010-10-17 Szymon Janc <szymon@janc.net.pl>
11150
11151 * grub-core/normal/auth.c (grub_auth_check_authentication):
11152 Set-but-not-used variable removed.
11153
d82df574
VS
111542010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11155
11156 * docs/grub.texi (GNU/Linux): Document APM unavailability with
11157 32-bit linux protocol.
11158
7bced458
VS
111592010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
11162 cursor shape for sanity.
11163
5b027690
VS
111642010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * docs/grub.texi (Installation): Document buggy BIOS install.
11167
ba5f65cf
VS
111682010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11169
11170 * docs/grub.texi (Installation): Indent.
11171
fdf2ec9c
VS
111722010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 * util/grub-setup.c (setup): New parameter allow_floppy.
11175 (arguments): New member allow_floppy.
11176 (argp_parser): Handle --allow-floppy.
11177 (main): Pass allow_floppy.
11178 * util/grub-install.in: New option --allow-floppy passed though to
11179 grub-setup.
11180
861dfd4c
VS
111812010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11182
11183 * util/grub-install.in: Handle partitionless disks.
11184
f77a8c24
VS
111852010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 * util/grub-setup.c (setup): Don't clean blocklists before readability
11188 verfification.
11189
27d9ee32
VS
111902010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 * docs/grub.texi (Installation): Document embedding zone. Remove
11193 obsolete grub-install example.
11194
6bdda8f8
SJ
111952010-10-16 Szymon Janc <szymon@janc.net.pl>
11196
11197 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11198 Set-but-not-used variable ifdef'ed.
11199 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
11200 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
11201 variable removed.
11202 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
11203 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
11204 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11205 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
11206 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
11207 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11208 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
11209 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
11210 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
11211 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
11212 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
11213 Likewise.
11214
e19b016b
VS
112152010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11216
11217 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
11218 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
11219 enum value.
11220
6c8d3002
VS
112212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
11224 synonym to _S5_. Needed for some DSDTs.
11225
c32b51c9
VS
112262010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 Userspace ACPI parser debugging.
11229
11230 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
11231 headers and add relevant defines. Don't include standard headers.
11232 (main) [GRUB_DSDT_TEST]: New function.
11233 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
11234 Don't declare functions.
11235
fbfbeb39
VS
112362010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 Remove dead grub_efi_mm_fini.
11239
11240 * grub-core/kern/efi/mm.c (allocated_page): Removed.
11241 (ALLOCATED_PAGES_SIZE): Likewise.
11242 (MAX_ALLOCATED_PAGES): Likewise.
11243 (allocated_pages): Likewise.
11244 (grub_efi_allocate_pages): Don't record allocated pages.
11245 (grub_efi_free_pages): Likewise.
11246 (grub_efi_mm_init): Likewise.
11247 (grub_efi_mm_fini): Removed.
11248
65f7ed7c
VS
112492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11250
11251 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
11252 (grub_efi_mm_init): Take into account the memory map size increase.
11253
24977b44
VS
112542010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11255
11256 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
11257 (serial_hw_put): Wait based on real time rather than port reads. Don't
11258 roken ports.
11259 * include/grub/serial.h (grub_serial_port): New field broken.
11260
1eb01cd2
RM
112612010-10-16 Robert Millan <rmh@gnu.org>
11262
11263 * grub-core/kern/emu/misc.c
11264 (grub_make_system_path_relative_to_its_root): Fix premature return
11265 when processing non-root ZFS filesystems.
5f8b440b 11266 Reported by Sergio Talens-Oliag.
1eb01cd2 11267
2d5fed60
RM
112682010-10-15 Robert Millan <rmh@gnu.org>
11269
11270 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
11271 guarantee compressed ones are processed first.
11272
d0f4c1ea
VS
112732010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
11276 grub_efiemu_autocore.
11277
d87c681f
VS
112782010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
11281 rather than 0x1b.
11282 (grub_console_getkey): Use correct jae opcode rather than ja.
11283
219b3564
RM
112842010-10-12 Robert Millan <rmh@gnu.org>
11285
11286 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
11287 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
11288 variable. All references updated.
11289
11290 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
11291
20c6bb7e
VS
112922010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
11293
11294 Correctly distinguish mdraid flavours.
11295
11296 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
11297 (insert_array): New argument raid.
11298 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
11299 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
11300 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
11301
74baff84
VS
113022010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
11303
11304 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
11305 handling of special keys.
11306
3ef068df 113072010-10-02 Aleš Nesrsta <starous@volny.cz>
11308
c7980ad9
VS
11309 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
11310 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 11311
a9455194 113122010-10-02 Aleš Nesrsta <starous@volny.cz>
11313
c7980ad9
VS
11314 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
11315 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
11316 users updated.
a9455194 11317 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 11318 Use right endpoint when querying descriptor.
a9455194 11319
441cfe65
VS
113202010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11321
11322 Clear out 0x80 color bit on EFI.
11323 Tested by: decoder
11324 Reported by: decoder and meta tech.
11325
11326 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
11327 (grub_console_setcolorstate): Clear out 0x80 bit.
11328 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
11329 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
11330 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
11331
bf26bcc4
VS
113322010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11333
11334 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
11335 Set to "auto".
11336
6e3c515d
VS
113372010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
11340 mo_file after freeing.
11341
e6d983ba
VS
113422010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11343
11344 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
11345
74ccb5b5
VS
113462010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
11349 flags.
11350
17821956
VS
113512010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
11354 usage.
11355
ee74fa48
VS
113562010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11357
11358 Put terminfo into core on ieee1275 and yeeloong (needed for console).
11359
11360 * gentpl.py: New groups terminfoinkernel and terminfomodule.
11361 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
11362 and terminfo.h when needed.
11363 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
11364 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
11365 (terminfo): Enable only on terminfokernel.
11366 (extcmd): Likewise.
11367 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
11368 * include/grub/lib/arg.h: Likewise.
11369 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
11370 incorrect usage of ->.
11371
aa438e68
VS
113722010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
11375 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
11376
57994012
VS
113772010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 Fix coreboot compilation.
11380
11381 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11382 Take VBE info into account even if only text is supported.
11383 (fill_vbe_info): Take into account the case when only VGA text
11384 is supported.
11385 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
11386 on coreboot, multiboot and qemu.
11387
2a406611
VS
113882010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
11391 debug messages.
11392 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
11393
d33613fc
VS
113942010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11395
11396 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
11397 parameters.
11398
44a1b432
VS
113992010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
11402 if they were BSD-style.
11403
edde54e6
VS
114042010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11405
11406 * grub-core/boot/i386/pc/lnxboot.S: Replace
11407 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
11408 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
11409
b65830fa
VS
114102010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 Write embedding zone using Reed-Solomon.
11413
11414 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
11415 * grub-core/Makefile.am (rs_decoder.S): New target.
11416 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
11417 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
11418 (multiboot): Move to RS part.
11419 (post_reed_solomon): New label.
11420 (grub_boot_drive): Move to non-RS part since it's modified in memory
11421 on boot.
11422 Include rs_decoder.S.
11423 * grub-core/lib/reed_solomon.c: New file.
11424 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
11425 New definition.
11426 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
11427 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
11428 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
11429 * include/grub/partition.h (grub_partition_map): Change prototype of
11430 embed to allow returning additional sectors.
11431 * include/grub/reed_solomon.h: New file.
11432 * util/grub-setup.c (setup): Handle Reed-Solomon.
11433
0b4b227f
CW
114342010-09-28 Colin Watson <cjwatson@ubuntu.com>
11435
11436 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11437 i386 and x86-64 definedness tests.
11438
f772623b
YB
114392010-09-27 Yves Blusseau <blusseau@zetam.org>
11440
11441 Fix generation of kernel_syms.lst
11442
11443 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
11444 ASM_PREFIX
11445
8e57a6ca
RM
114462010-09-26 Robert Millan <rmh@gnu.org>
11447
11448 Support degraded ZFS arrays in "grub-probe -t device" resolution.
11449
11450 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
11451 the pool is an array of devices, iterate through it and return the
11452 first device that passes a stat() test (instead of blindly returning
11453 the first one).
11454
f9130836
RM
114552010-09-26 Robert Millan <rmh@gnu.org>
11456
11457 Build fixes for GNU/kFreeBSD.
11458
11459 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
11460 to programs that require ZFS conversion.
11461 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
11462 kernels that don't have FLOPPY_MAJOR.
11463
96510faf
BC
114642010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11465
11466 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
11467
449333eb
BC
114682010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11469
11470 Fix grub-emu build.
11471
11472 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
11473 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
11474 mdraid09 and mdraid1x.
11475
e1fd1939
CW
114762010-09-24 Colin Watson <cjwatson@ubuntu.com>
11477
11478 Re-enable grub-extras.
11479
11480 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
11481 avoid confusing Automake. Run autogen only twice, once for the top
11482 level and once for grub-core. Add Makefile.util.def and
11483 Makefile.core.def from extra modules to the appropriate autogen
11484 invocations. If Makefile.common exists in an extra module, include
11485 it in both Makefile.util.am and grub-core/Makefile.core.am;
11486 similarly, include any Makefile.util.common file in Makefile.util.am
11487 and any Makefile.core.common file in grub-core/Makefile.core.am.
11488 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
11489 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
11490 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
11491 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
11492
11493 * gentpl.py (gvar_add): Turn GVARS into a set.
11494 (global_variable_initializers): Sort global variables on output.
11495 (vars_init): New function.
11496 (first_time): Likewise.
11497 (library): Ensure that non-global variable initialisations are
11498 emitted before the first time we emit code for a library block.
11499 Append to variables rather than setting them. Only emit
11500 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
11501 each conditional path.
11502 (program): installdir() emits an Autogen macro, so must be passed to
11503 var_add rather than gvar_add.
11504 (data): Likewise.
11505 (script): Likewise.
11506 (rules): New function, centralising handling for different target
11507 types. Set up Guile association lists for first_time and vars_init,
11508 and send most output to a diversion so that variable initialisations
11509 can be emitted first.
11510 (module_rules): Use new rules function.
11511 (kernel_rules): Likewise.
11512 (image_rules): Likewise.
11513 (library_rules): Likewise.
11514 (program_rules): Likewise.
11515 (script_rules): Likewise.
11516 (data_rules): Likewise.
11517
11518 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
11519
11520 * .bzrignore: Add contrib and grub-core/contrib. Remove
11521 grub-core/Makefile.gcry.am.
11522
1d12cf29
YB
115232010-09-24 Yves Blusseau <blusseau@zetam.org>
11524
11525 * grub-core/lib/LzFind.c: Add missing include.
11526 * grub-core/lib/LzmaEnc.c: Likewise.
11527 * grub-core/script/lexer.c: Likewise.
11528 * grub-core/script/yylex.l: Likewise.
11529 * util/grub-macho2img.c: Likewise.
11530 * util/grub-menulst2cfg.c: Likewise.
11531 * util/grub-mklayout.c: Likewise.
11532 * util/grub-mkpasswd-pbkdf2.c
11533 * util/grub-mkrelpath.c: Likewise.
11534 * util/resolve.c: Likewise.
11535
dd363028
BC
115362010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
11537
11538 * Makefile.util.def (example_unit_test): Add
11539 grub-core/gnulib/libgnu.a.
11540
f5a109e2
GS
115412010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
11542
11543 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
11544
6d0fa83c
VS
115452010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 Support xz compression on yeeloong.
11548
11549 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
11550 * configure.ac: Check for LZMA.
11551 * grub-core/Makefile.core.def (xz_decompress): New target.
11552 (none_decompress): Likewise.
11553 * grub-core/boot/decompressor/minilib.c: New file.
11554 * grub-core/boot/decompressor/none.c: Likewise.
11555 * grub-core/boot/decompressor/xz.c: Likewise.
11556 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
11557 * grub-core/kern/mips/cache_flush.S: Likewise.
11558 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
11559 * grub-core/kern/mips/startup.S: Move first stage to ...
11560 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
11561 nomacro.
11562 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
11563 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
11564 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
11565 Allocate statically.
11566 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
11567 Allocate statically or use scratch. Don't check CRC32.
11568 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
11569 Allocate statically. Don't check CRC32.
11570 * include/grub/decompressor.h: New file.
11571 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
11572 Removed.
11573 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
11574 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
11575 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
11576 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
11577 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
11578 * util/grub-mkimage.c (grub_compression_t): New type.
11579 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
11580 (image_target_desc): New field default_compression.
11581 (image_targets): Adjust yeeloong targets.
11582 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
11583 (compress_kernel): New parameter comp.
11584 (generate_image): Likewise. Handle new compression case.
11585 (options): New option --compression
11586 (help): Likewise.
11587 (main): Handle new option.
11588
1b655af6
GS
115892010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
11590
11591 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
11592
8f03f0b5
CW
115932010-09-22 Colin Watson <cjwatson@ubuntu.com>
11594
11595 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11596 typo in __i386__ conditional.
11597
7835dfd3
VS
115982010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11599
11600 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
11601 include.
11602
e255597e
VS
116032010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11604
6d0fa83c 11605 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
11606
11607 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
11608 new tags as supported.
11609 (acpiv2_size): New function.
11610 (grub_multiboot_get_mbi_size): Take new tags into account.
11611 (grub_multiboot_make_mbi): Add new tags.
11612 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 11613
6cc14051 116142010-09-21 Aleš Nesrsta <starous@volny.cz>
11615
11616 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
11617 Added missing configuration of USB device.
11618
df7769d8
CW
116192010-09-21 Colin Watson <cjwatson@ubuntu.com>
11620
11621 * grub-core/normal/menu_entry.c (run): Make sure we always return
11622 a value.
11623
b031012d
CW
116242010-09-21 Colin Watson <cjwatson@ubuntu.com>
11625
11626 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
11627 NumberOfPages is UINT64 according to the UEFI specification, not
11628 UINTN. Fix printf format.
11629
174de8f3
CW
116302010-09-21 Colin Watson <cjwatson@ubuntu.com>
11631
11632 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
11633 `err' to grub_usb_err_t.
11634 Reported and tested by: KESHAV P.R.
11635
d7dbe923
CW
116362010-09-21 Colin Watson <cjwatson@ubuntu.com>
11637
11638 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
11639 tpart non-const, so that we can assign to it. (Since this is a
11640 typedef, the constness refers to the pointer rather than what it
11641 points to.)
11642
8d5e2af3
CW
116432010-09-21 Colin Watson <cjwatson@ubuntu.com>
11644
11645 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
11646 $(top_srcdir)/grub-core/gnulib as well as
11647 $(top_builddir)/grub-core/gnulib.
11648 Reported by: KESHAV P.R.
11649
5c527783
CW
116502010-09-21 Colin Watson <cjwatson@ubuntu.com>
11651
11652 * util/grub-install.in: Fix the bootloader ID option to be
11653 consistently --bootloader-id, not --bootloader_id.
11654 Reported by: KESHAV P.R.
11655
d309a16e
CW
116562010-09-21 Colin Watson <cjwatson@ubuntu.com>
11657
11658 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
11659 check hash checksum." consistently translatable.
11660
b830cd16
YB
116612010-09-21 Yves Blusseau <blusseau@zetam.org>
11662
11663 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
11664 $(top_builddir).
11665
c4fe27a8
CW
116662010-09-21 Colin Watson <cjwatson@ubuntu.com>
11667
11668 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
11669 (GRUB_MOD_INIT): Register sha1sum command.
11670 (GRUB_MOD_FINI): Unregister sha1sum command.
11671
a4c1d277
YB
116722010-09-21 Yves Blusseau <blusseau@zetam.org>
11673
11674 Keep boot and grub directory names in sync with utils scripts
11675
11676 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
11677 * config.h.in: Add previous macros.
11678 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
11679 * util/grub-install.in: Use $bootdir and $grubdir variables.
11680
4eff79d2
CW
116812010-09-21 Colin Watson <cjwatson@ubuntu.com>
11682
11683 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
11684 convert partition names to disk names if the new `convert' parameter
11685 is set.
11686 (grub_util_biosdisk_get_grub_dev): If opening the disk device
11687 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
11688 disk in its own right. This can happen with Xen disk images.
11689
934d7e44
YB
116902010-09-21 Yves Blusseau <blusseau@zetam.org>
11691
11692 * util/grub-editenv.c: Update strings to avoid warnings when generating
11693 grub.pot file.
11694 * util/grub-setup.c: Likewise.
934d7e44 11695
df3367cc
VS
116962010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11697
11698 * configure.ac: Change version to 1.99~beta0.
11699
77a94e98
VS
117002010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11703 Add BADRAM.
11704 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
11705 Likewise.
11706 * include/multiboot.h: Resynced with specification.
11707 * include/multiboot2.h: Likewise.
11708
269004c1
CW
117092010-09-21 Colin Watson <cjwatson@ubuntu.com>
11710
11711 Fix po directory handling.
11712
11713 * configure.ac: Create po/Makefile.in rather than po/Makefile.
11714 * grub-core/gnulib/Makefile.am: Import gettext module.
11715 * m4/gnulib-cache.m4: Likewise.
11716 * m4/gnulib-comp.m4: Likewise.
11717 * m4/gettext.m4: New file, from gnulib.
11718 * m4/glibc2.m4: Likewise.
11719 * m4/iconv.m4: Likewise.
11720 * m4/intdiv0.m4: Likewise.
11721 * m4/intl.m4: Likewise.
11722 * m4/intldir.m4: Likewise.
11723 * m4/intlmacosx.m4: Likewise.
11724 * m4/intmax.m4: Likewise.
11725 * m4/inttypes-pri.m4: Likewise.
11726 * m4/lcmessage.m4: Likewise.
11727 * m4/lib-ld.m4: Likewise.
11728 * m4/lib-link.m4: Likewise.
11729 * m4/lib-prefix.m4: Likewise.
11730 * m4/lock.m4: Likewise.
11731 * m4/nls.m4: Likewise.
11732 * m4/po.m4: Likewise.
11733 * m4/printf-posix.m4: Likewise.
11734 * m4/progtest.m4: Likewise.
11735 * m4/threadlib.m4: Likewise.
11736 * m4/uintmax_t.m4: Likewise.
11737 * m4/visibility.m4: Likewise.
11738 * po/Makefile.am: Remove.
11739 * po/Makefile.in.in: New file, from gettext.
11740 ($(DOMAIN).pot-update): Support POTFILES-shell.
11741 * po/Makevars: New file.
11742 * po/POTFILES-shell: Rename to ...
11743 * po/POTFILES-shell.in: ... this. Update.
11744 * po/POTFILES: Rename to ...
11745 * po/POTFILES.in: ... this. Update.
11746 * po/Rules-quot: New file, from gettext.
11747 * po/boldquot.sed: Likewise.
11748 * po/en@boldquot.header: Likewise.
11749 * po/en@quot.header: Likewise.
11750 * po/insert-header.sin: Likewise.
11751 * po/quot.sed: Likewise.
11752 * po/remove-potcdate.sin: Likewise.
11753
3e0fa5d0
VS
117542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
11757
ade9bd66
VS
117582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 * util/grub.d/20_linux_xen.in: Use submenus.
11761
fc55cc4c
VS
117622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11763
11764 Support submenus.
11765
11766 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
11767 parameter submenu. All users updated.
11768 * grub-core/normal/main.c (free_menu): Rename to ...
11769 (grub_normal_free_menu): ... this. Made global.
11770 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
11771 if requested.
11772 * grub-core/normal/menu_entry.c (screen): New field submenu.
11773 (make_screen): Set submenu.
11774 (run): Open new context if requested.
11775 * include/grub/menu.h (grub_menu_entry): New field submenu.
11776 * include/grub/normal.h (grub_normal_free_menu): New proto.
11777
600cedf7
VS
117782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 Menu entries extractor.
11781
11782 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
11783 variants.
11784 (GRUB_MOD_INIT): Register new variants.
11785 (GRUB_MOD_FINI): Unregister new variants.
11786 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
11787 into grub_cmd_legacy_source.
11788 (grub_cmd_legacy_source): Implement extractor variants.
11789 (GRUB_MOD_INIT): Register new variants.
11790 (GRUB_MOD_FINI): Unregister new variants.
11791 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
11792 as an extractor.
11793 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
11794 search as an extractor.
11795 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
11796 test as an extractor.
11797 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
11798 as an extractor.
11799 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
11800 (grub_env_new_context): New function.
11801 (grub_env_context_open): Likewise.
11802 (grub_env_extractor_open): Likewise.
11803 (grub_env_extractor_close): Likewise.
11804 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11805 grub_extractor_level.
11806 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
11807 * include/grub/env.h (grub_env_extractor_open): New proto.
11808 (grub_env_extractor_close): Likewise.
11809 * include/grub/normal.h (grub_extractor_level): New external variable.
11810
7bda3a87
VS
118112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11812
11813 Make cutmem accept a region specification.
11814 Suggested by: Samuel Thibault
11815
11816 * grub-core/mmap/mmap.c (parsemem): New function.
11817 (grub_cmd_cutmem): Handle new arguments.
11818
2ea57f88
VS
118192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11820
11821 New command cutmem.
11822
11823 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
11824 (GRUB_MOD_INIT): Register new command.
11825 (GRUB_MOD_FINI): Unregister new command.
11826
74342e31
VS
118272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 Support some annoying BSD and Minix subpartitions.
11830
11831 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
11832 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
11833 Properly handle concatenation.
11834 * grub-core/kern/device.c (grub_device_iterate): Likewise.
11835 * grub-core/normal/completion.c (iterate_partition): Likewise.
11836 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
11837 contain partition. All users updated.
11838 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
11839 struct.
11840 (grub_openbsdlabel_partition_map): Likewise.
11841 (bsdlabel_partition_map_iterate): Rename to ..
11842 (iterate_real): ... this. New arguments sector, freebsd and pmap.
11843 (bsdlabel_partition_map_iterate): New function.
11844 (netopenbsdlabel_partition_map_iterate): Likewise.
11845 (netbsdlabel_partition_map_iterate): Likewise.
11846 (openbsdlabel_partition_map_iterate): Likewise.
11847 (GRUB_MOD_INIT): Register new partmaps.
11848 (GRUB_MOD_FINI): Unregister new partmaps.
11849 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
11850 (grub_partition_msdos_iterate): ... this. All users updated.
11851 Don't support embedding other than in a minix partition.
11852 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
11853 proto.
11854 * include/grub/partition.h (grub_partition): New field msdostype.
11855 * util/grub-install.in: Handle openbsd and netbsd types being in
11856 part_bsd module.
11857
1e8d555b
VS
118582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
11861
11862 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
11863 * grub-core/Makefile.core.def (mdraid): Renamed to ...
11864 (mdraid09): ... this.
11865 (mdraid1x): New module.
11866 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
11867 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
11868
899d8af4
VS
118692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
11872 vsprintf.
11873
40901acd
CW
118742010-09-20 Colin Watson <cjwatson@ubuntu.com>
11875
11876 * grub-core/commands/efi/lsefimmap.c: Correct header.
11877 * NEWS: Update.
11878
dfe3b247
CW
118792010-09-20 Colin Watson <cjwatson@ubuntu.com>
11880
11881 * util/grub-editenv.c (argp_parser): Don't pass translated strings
11882 as printf format strings; the translations might contain '%' which
11883 could cause a crash.
11884 (main): Likewise.
11885 * util/grub-fstest.c (argp_parser): Likewise.
11886 * util/grub-setup.c (argp_parser): Likewise.
11887 (main): Likewise.
11888
3286a4b4
VS
118892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11890
11891 Use argp in grub-fstest.
11892
11893 * util/grub-fstest.c: Don't include getopt.h.
11894 Include argp.h.
11895 (root): New variable.
11896 (args_count): Likewise.
11897 (nparm): Likewise.
11898 (num_disks): Likewise.
11899 (images): Likewise.
11900 (cmd): Likewise.
11901 (debug_str): Likewise.
11902 (args): Likewise.
11903 (options): Transformed to argp.
11904 (usage): Removed.
11905 (main): Split argument parsing into ...
11906 (argp_parser): ... this. Changed to argp format.
11907 (argp): New variable.
11908 (main): Use argp_parse.
11909
3dccbe4b
TG
119102010-09-20 Tristan Gingold <gingold@free.fr>
119112010-09-20 Robert Millan <rmh.grub@aybabtu.com>
119122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11913
11914 * grub-core/commands/efi/lsefimmap.c: New file.
11915 * grub-core/Makefile.core.def (lsefimmap): New module.
11916 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
11917
38c259a7
VS
119182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11919
11920 Pause the execution (10s max) if any errors are displayed so the user
11921 has a chance to see them.
11922
11923 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
11924 (grub_print_error): Increment grub_err_printed_errors.
11925 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
11926 execution if any errors were displayed.
11927 (show_menu): Remove old code for pause.
11928 * grub-core/normal/menu_entry.c (run): Likewise.
11929 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
11930 users updated.
11931 (grub_normal_get_char_counter): Likewise.
11932 * include/grub/err.h (grub_err_printed_errors): New external variable.
11933 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
11934
f218b09c
VS
119352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 Support multiboot VBE info.
11938
11939 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11940 Take VBE info into account.
11941 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
11942 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
11943 Call fill_vbe_info when appropriate.
11944 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
11945 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
11946 as supported.
11947 (grub_multiboot_get_mbi_size): Take new tags into account.
11948 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
11949 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
11950 Call fill_vbe_tag when appropriate.
11951 (grub_multiboot_make_mbi): Properly align tags.
11952 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
11953 function.
11954 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
11955 proto.
11956 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
11957
a9cc5438
VS
119582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 Suport manual terminal geometry specification.
11961
11962 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
11963 Save state in grub_ofconsole_terminfo_output.
11964 (grub_ofconsole_term): Use grub_terminfo_getwh.
11965 (grub_ofconsole_getwh): Removed.
11966 * grub-core/term/serial.c (grub_serial_getwh): Removed.
11967 (grub_serial_term): Use grub_terminfo_getwh.
11968 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
11969 (options): New struct.
11970 (OPTION_*): New enum.
11971 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
11972 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
11973 width and height.
11974 (grub_terminfo_getwh): New proto.
11975 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
11976
1a8fed20
VS
119772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11978
11979 Handle legacy "terminal" command.
11980
11981 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
11982 and FLAG_TERMINAL.
11983 (legacy_commands): Add terminal and title.
11984 (grub_legacy_parse): Handle terminal. Simplify title handling.
11985
41e9c57d
VS
119862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
11989 parameters overflow.
11990
61c874c5
CW
119912010-09-20 Colin Watson <cjwatson@ubuntu.com>
11992
11993 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
11994 widthspec.h.
11995
11996 * docs/grub.texi (Shell-like scripting): Document `!'.
11997 (Network): Simplify using new i386-pc-pxe format. Mention
11998 grub-mknetdir.
11999
12000 * NEWS: Update.
12001
943682b4
CW
120022010-09-20 Colin Watson <cjwatson@ubuntu.com>
12003
12004 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12005 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12006 when needed.
12007
6d3d698d
CW
120082010-09-20 Colin Watson <cjwatson@ubuntu.com>
12009
12010 * grub-core/commands/efi/lsefisystab.c: Correct header.
12011 * grub-core/commands/efi/lssal.c: Likewise.
12012 * grub-core/commands/testload.c: Likewise.
12013
c982589f
CW
120142010-09-20 Colin Watson <cjwatson@ubuntu.com>
12015
12016 * util/grub-mkrescue.in: Add explicit root argument to --set to
12017 prevent the UUID being interpreted as an argument to --set (matches
12018 previous change to prepare_grub_to_access_device).
12019
a63c31b6
CW
120202010-09-20 Colin Watson <cjwatson@ubuntu.com>
12021
12022 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12023 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12024 the verbosity of later #ifs.
12025 (find_partition_start): Define this function on FreeBSD too.
12026 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12027 function.
12028 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12029 on FreeBSD.
12030
6439b8ee
YB
120312010-09-20 Yves Blusseau <blusseau@zetam.org>
12032
12033 * util/grub-editenv.c: Use argp instead of getopt.
12034
c5930ec8
YB
120352010-09-20 Yves Blusseau <blusseau@zetam.org>
12036
12037 * util/grub-setup.c: Use argp instead of getopt.
12038
15c69261
YB
120392010-09-20 Yves Blusseau <blusseau@zetam.org>
12040
12041 Use gnulib-tool to create gnulib source files.
12042
12043 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12044 grub-core/gnulib directories
12045 * .bzignore: Add **/.deps and autogenerated gnulib files
12046 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12047 of gnulib macros, add grub-core/gnulib/Makefile
12048 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12049 include m4 directory to aclocal.
12050 * Makefile.util.def: Remove direct compilation of gnulib source files
12051 and use the new grub-core/gnulib/libgnu.a.
12052 * build-aux/config.rpath: move config.rpath from top directory to
12053 build-aux
12054 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12055 in gnulib headers
12056 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12057 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12058 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12059 header.
12060 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12061 string.
12062
e511c9f5
YB
120632010-09-20 Yves Blusseau <blusseau@zetam.org>
12064
12065 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
12066 grub-core/genmod.sh and grub-core/gensyminfo.sh
12067
c2dede05
BC
120682010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
12069
12070 Add a test for echo command options.
12071
12072 * tests/grub_cmd_echo.in: New test.
12073 * Makefile.util.def: Rules for new test.
12074
c55f5018
SJ
120752010-09-20 Szymon Janc <szymon@janc.net.pl>
12076
12077 Remove crc.mod and move crc command to hashsum.mod.
12078 Remove lib/crc.c - users updated to use gcrypt implementation.
12079
12080 * grub-core/commands/crc.c: Removed.
12081 * grub-core/Makefile.core.def (crc): Module removed.
12082 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
12083 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
12084 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
12085 * grub-core/lib/crc.c: Removed.
12086 * include/grub/lib/crc.h: Removed.
12087 * Makefile.util.def (crc): Remove lib/crc.c
12088 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
12089 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
12090 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
12091 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
12092 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
12093 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
12094
e0337366
VS
120952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12096
12097 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
12098
742f9232
VS
120992010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12100
12101 Split config.h for util and core.
12102
12103 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
12104 (ADDR32): Likewise.
12105 (DATA32): Likewise.
12106 (BSS_START_SYMBOL): Likewise.
12107 (END_SYMBOL): Likewise.
12108 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
12109 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
12110 * config.h.in: New file.
12111 * configure.ac: Use config-util.h as config define file.
12112 Rename MACHINE into GRUB_MACHINE. All users updated.
12113 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
12114 updated.
12115 (NESTED_FUNC_ATTR): Likewise.
12116 Substitue new variables.
12117 (COND_HAVE_ASM_USCORE): New conditional.
12118 * grub-core/Makefile.am (ASM_PREFIX): New variable.
12119 (kernel_syms.lst): Use ASM_PREFIX.
12120 * grub-core/kern/emu/console.c: Include config-util.h.
12121 * grub-core/kern/emu/misc.c: Likewise.
12122 * grub-core/kern/emu/mm.c: Likewise.
12123 * include/grub/emu/misc.h: Likewise.
12124 * include/grub/libgcc.h: Likewise.
12125
39feb0e8
VS
121262010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12127
12128 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
12129 constants usage.
12130 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
12131 Fix GRUB_TERM_KEY_* constants usage.
12132 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
12133
9af6dac3
VS
121342010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
12137 print pointer.
12138 * grub-core/bus/usb/uhci.c: Remove empty define.
12139 (grub_uhci_check_transfer): Add missing cast.
12140 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
12141 print pointer.
12142 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
12143 PRIuGRUB_SIZE.
12144 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
12145
d6d94820
VS
121462010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12147
12148 * grub-core/Makefile.core.def (legacycfg): Add
12149 lib/i386/pc/vesa_modes_table.c on emu.
12150
3572f2b6
BC
121512010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12152
12153 Reduce number of temporary files generated by build system.
12154
12155 * grub-core/gencmdlist.sh: Removed.
12156 * grub-core/genfslist.sh: Removed.
12157 * grub-core/genhandlerlist.sh: Removed.
12158 * grub-core/genmodsrc.sh: Removed.
12159 * grub-core/genpartmaplist.sh: Removed.
12160 * grub-core/genparttoollist.sh: Removed.
12161 * grub-core/gentermiinallist.sh: Removed.
12162 * grub-core/genvideolist.sh: Removed.
12163
12164 * grub-core/genmod.sh.in: New file.
12165 * grub-core/gensyminfo.sh.in: New file.
12166
12167 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
12168 * conf/Makefile.extra-dist: Update with new files.
12169 * gentpl.py: Remove rules related to unnecessary temporary files.
12170 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
12171 and und-* files.
12172 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
12173 genmod.sh scripts.
12174 * grub-core/bus/usb/uhci.c: Remove empty #define.
12175 * grub-core/genmoddep.awk: Updated with new syminfo format.
12176 * util/bash-completion.d/Makefile.am: Add config.log to
12177 CLEANFILES.
12178
c836b030
YB
121792010-09-19 Yves Blusseau <blusseau@zetam.org>
12180
12181 * Makefile.util.def: Add forgotten $(LIBINTL) library.
12182
2f4e8053
BC
121832010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12184
12185 * util/grub-mkconfig.in: Check the config script for syntax errors
12186 before saving.
12187
75831c34
CW
121882010-09-19 Colin Watson <cjwatson@ubuntu.com>
121892010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12190
12191 * Makefile.util.def (grub-install): Use util/grub-install.in on all
12192 platforms.
12193 * util/grub-install.in: Add EFI and IEEE1275 support.
12194 * util/i386/efi/grub-install.in: Removed.
12195 * util/ieee1275/grub-install.in: Likewise.
12196
eaf41b25
VS
121972010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12198
12199 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
12200 (grub_cmd_cmosclean): Likewise.
12201 (GRUB_MOD_INIT): Register command cmosclean.
12202 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
12203 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
12204
1a9130dd
CPE
122052010-09-18 Carles Pina i Estany <carles@pina.cat>
122062010-09-18 Aleš Nesrsta <starous@volny.cz>
122072010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12208
12209 Add keyboard layouts support.
12210
12211 * Makefile.util.def (grub-mklayout): New file.
12212 (grub-kbdcomp): New script.
12213 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
12214 Add keyboard_layouts.h.
12215 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
12216 commands/boot.c on yeeloong.
12217 (keylayouts): New module.
12218 * grub-core/bus/usb/ohci.c
12219 * grub-core/bus/usb/uhci.c
12220 * grub-core/bus/usb/usbhub.c (rescan): New variable.
12221 (grub_usb_add_hub): Poll interrupt pipe for device handling.
12222 (attach_root_port): Likewise.
12223 (poll_nonroot_hub): Likewise.
12224 (grub_usb_poll_devices): Likewise.
12225 (detach_device): Close transfer.
12226 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
12227 function.
12228 (grub_usb_bulk_setup_readwrite): Likewise.
12229 (grub_usb_bulk_finish_readwrite): Likewise.
12230 * grub-core/commands/keylayouts.c: New file.
12231 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
12232 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
12233 aliases.
12234 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
12235 support scancode 2.
12236 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
12237 * include/grub/keyboard_layouts.h: New file.
12238 * util/grub-mklayout.c: New file.
12239 * util/grub-kbdcomp.in: Likewise.
12240
a1d84a5e
VS
122412010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12242
12243 Unify memory types.
12244
12245 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
12246 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
12247 types.
12248 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
12249 (grub_upper_mem): Likewise.
12250 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
12251 * include/grub/memory.h (grub_memory_type_t): New enum.
12252 All users updated.
12253
9696382e
VS
122542010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12255
12256 * grub-core/Makefile.core.def (lsapm): New module.
12257 * grub-core/commands/i386/pc/lsapm.c: New file.
12258 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
12259 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
12260 Likewise.
12261 * include/grub/i386/pc/apm.h: New file.
12262 * include/multiboot.h (multiboot_apm_info): New struct.
12263
122642010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 GRUB-legacy configuration file support.
12267
12268 * Makefile.util.def (grub-menulst2cfg): New util.
12269 * docs/man/grub-menulst2cfg.h2m: New file.
12270 * grub-core/Makefile.core.def (legacycfg): New module.
12271 * grub-core/commands/legacycfg.c: New file.
12272 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
12273 (grub_normal_add_menu_entry): ... this.
12274 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
12275 (grub_normal_set_password): ...this.
12276 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
12277 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
12278 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
12279 * grub-core/lib/legacy_parse.c: New file.
12280 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
12281 * include/grub/i386/pc/vesa_modes_table.h: New file.
12282 * include/grub/legacy_parse.h: Likewise.
12283 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
12284 * util/grub-menulst2cfg.c: New file.
12285
bf8d1338
CW
122862010-09-17 Colin Watson <cjwatson@ubuntu.com>
12287
12288 * grub-core/kern/emu/hostdisk.c
12289 (convert_system_partition_to_system_disk): Initialise node.
12290
9c0bad2e
CW
122912010-09-17 Colin Watson <cjwatson@ubuntu.com>
12292
12293 * grub-core/kern/emu/hostdisk.c
12294 (convert_system_partition_to_system_disk): Fix devmapper memory pool
12295 leak.
12296 Reported and based on patch by: Modestas Vainius.
12297
a939d135
CW
122982010-09-17 Colin Watson <cjwatson@ubuntu.com>
12299
12300 Fix DM-RAID probing with recent versions of device-mapper udev
12301 rules.
12302
12303 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
12304 canonicalise device paths under /dev/mapper/.
12305 (convert_system_partition_to_system_disk): Compare the
12306 uncanonicalised path to /dev/mapper/ rather than the canonicalised
12307 path, since device nodes under /dev/mapper/ are often symlinks.
12308
0f7ee3c9
YB
123092010-09-17 Yves Blusseau <blusseau@zetam.org>
12310
12311 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
12312
10854d0d
YB
123132010-09-16 Yves Blusseau <blusseau@zetam.org>
12314
12315 * configure.ac: Avoid some annoying error messages if freetype-config
12316 program is not found.
12317
108538d8
CW
123182010-09-16 Colin Watson <cjwatson@ubuntu.com>
12319
12320 Support RAID on virtio devices, and others.
12321
12322 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
12323 Rename to ...
12324 [__MINGW32__] (grub_find_device): ... this.
12325 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
12326 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
12327 reasonable default if dir is NULL.
12328 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
12329 ...
12330 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
12331 (grub_guess_root_device): Update callers.
12332 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
12333
12334 * util/raid.c (grub_util_getdiskname): Remove.
12335 (grub_util_raid_getmembers): Use grub_find_device rather than
12336 grub_util_getdiskname.
12337
e5bfc130
CW
123382010-09-16 Colin Watson <cjwatson@ubuntu.com>
12339
12340 * docs/grub.texi (serial): Remove obsolete comment about GRUB
12341 needing to be compiled with serial support.
12342 (ls): Indicate that multiple files are accepted.
12343 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
12344 indicate that multiple files are accepted.
12345
be458ae2
CW
123462010-09-16 Colin Watson <cjwatson@ubuntu.com>
12347
12348 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
12349 libgrub_a_init.c, and util/bash-completion.d/grub.
12350
cb731b5e
VS
123512010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 * util/grub-setup.c (setup): Fix incorrect container semantics.
12354
35139e8a
VS
123552010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12356
12357 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
12358 misusage.
12359 Reported by: J. Nick Terry
12360
e50fca4a
VS
123612010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12362
12363 Move embedding routines to partmap sources files.
12364
12365 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
12366 [GRUB_UTIL]: New variable.
12367 (gpt_partition_map_iterate): Set part.parent.
12368 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
12369 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
12370 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
12371 New function.
12372 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
12373 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
12374 (grub_partition_map) [GRUB_UTIL]: New field embed.
12375 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
12376 (setup): Use ->embed.
12377
f00478b7
VS
123782010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12379
12380 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
12381 function.
12382 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
12383 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
12384
2b94e3ff
YB
123852010-09-15 Yves Blusseau <blusseau@zetam.org>
12386
12387 Add function to get completions from usage.
12388
12389 * util/bash-completion.d/grub-completion.bash.in: Add function to get
12390 completions from usage. Use LC_ALL=C to get options properly.
12391
2e04a006
VS
123922010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12393
12394 * grub-core/gnulib/basename-lgpl.c: Imported.
12395 * grub-core/gnulib/basename.c: Likewise.
12396 * grub-core/gnulib/dirname-lgpl.c: Likewise.
12397 * grub-core/gnulib/dirname.c: Likewise.
12398 * grub-core/gnulib/dirname.h: Likewise.
12399 * grub-core/gnulib/stripslash.c: Likewise.
12400
5dcdf93a
VS
124012010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 * grub-core/gnulib/error.c: Resynced.
12404 * grub-core/gnulib/getopt.c: Likewise.
12405 * grub-core/gnulib/getopt_int.h: Likewise.
12406 * grub-core/gnulib/regex.h: Likewise.
12407 * grub-core/gnulib/regex_internal.c: Likewise.
12408 * grub-core/gnulib/regex_internal.h: Likewise.
12409
014f47b7
SJ
124102010-09-15 Szymon Janc <szymon@janc.net.pl>
12411
12412 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
12413 CRC calculations and validity checks.
12414 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
12415 calculations.
12416
dd521a4a
SJ
124172010-09-15 Szymon Janc <szymon@janc.net.pl>
12418
12419 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
12420
79c4eeb9
VS
124212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12422
12423 Fix incorrect echo options handling.
12424 Reported by: Yves Blusseau.
12425
12426 * include/grub/command.h (grub_command_flags_t): New flags
12427 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
12428 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
12429 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
12430
ed80f7d5
VS
124312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12432
12433 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
12434 users updated.
12435 (GRUB_COMMAND_FLAG_MENU): Likewise.
12436 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12437 (GRUB_COMMAND_FLAG_TITLE): Removed.
12438 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12439 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
12440 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
12441 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
12442 (grub_command_flags_t): New enum. All users updated.
12443
5fe7620a
SG
124442010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
12445
12446 Fix solaris compilation.
12447
12448 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
12449 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
12450 (grub-emu-list): Likewise.
12451
545b752f
VS
124522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12453
12454 Remove deprecated root command.
12455
12456 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
12457 updated.
12458
6c1a338c
VS
124592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12460
12461 * util/i386/pc/grub-setup.c: Merge this ...
12462 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
12463 * util/grub-setup.c: ... into this.
12464 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
12465 New struct.
12466
124672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12468
12469 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
12470 possible.
12471
d2ea4551
VS
124722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12473
12474 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
12475 allocate p.
12476
3c3b5040
VS
124772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12478
12479 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12480 explicit root argument to set to prevent UUID to be interpreted as
12481 argument to set.
12482
b71c3fae
VS
124832010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
12486
275433e6
VS
124872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12488
12489 Don't export grub_gate_a20.
12490
12491 * grub-core/kern/i386/pc/init.c: Remove leftovers.
12492 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
12493 to ...
12494 (grub_gate_a20): ... this. All users updated.
12495 * include/grub/i386/pc/init.h: Removed. All users updated.
12496
a5dbb1f1
VS
124972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12498
12499 Create euro.pf2 which supports most European languages.
12500
12501 * Makefile.am (grubdata_DATA): Add euro.pf2.
12502 (euro.pf2): New target.
12503 (CLEANFILES): Add euro.pf2.
12504
62a747cb
VS
125052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12506
12507 * configure.ac: Disable emu-usb by default to prevent inadvertent
12508 device takeover.
12509
608e43b1
VS
125102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 Disable usbserial on grub-emu since our libusb code isn't good enough
12513 yet.
12514
12515 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
12516 (usbserial_pl2303): Likewise.
12517 (usbserial_ftdi): Likewise.
12518
94564f81
VS
125192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12520
12521 * include/grub/disk.h (grub_disk): Remove has_partitions.
12522 All users updated.
12523 * disk/loopback.c (grub_loopback): Remove has_partitions.
12524 All users updated.
12525 (options): Remove partitions. All users updated.
12526 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
12527 * util/i386/pc/grub-setup.c (setup): copy partition table only when
12528 actual partition table is found.
12529
3352800b
VS
125302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 Remove readability checks (too many false negatives).
12533
12534 * util/grub-install.in: Remove readability checks.
12535 * util/grub-mkconfig.in: Likewise.
12536 * util/grub.d/10_hurd.in: Likewise.
12537 * util/grub.d/10_kfreebsd.in: Likewise.
12538 * util/grub.d/10_linux.in: Likewise.
12539 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
12540 way.
12541
2419f17a
VS
125422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 Enable acpi shutdown on all ACPI platforms.
12545
12546 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
12547 on coreboo, multiboot and EFI.
12548 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
12549 (grub_acpi_halt): Likewise.
12550 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
12551 (grub_cmd_halt): Don't call grub_acpi_halt directly.
12552 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
12553 * grub-core/lib/i386/halt.c (grub_halt)
12554 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
12555
0575c7c3
VS
125562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12557
12558 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
12559 context.
12560
54ac3cd1
VS
125612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 * grub-core/video/efi_gop.c: Fix over-80-chars line.
12564 * grub-core/video/efi_uga.c: Likewise.
12565
b2a30ac5
VS
125662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12567
12568 Filter devaliases and never open same device twice.
12569
12570 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
12571 (last_ihandle): Likewise.
12572 (ofdisk_hash_ent): New member shortest.
12573 (ofdisk_hash_add): Add canonical path too.
12574 (scan): New function.
12575 (grub_ofdisk_iterate): Iterate over hashed entries.
12576 (compute_dev_path): Don't add :0.
12577 (grub_ofdisk_open): Don't really open the disk.
12578 (grub_ofdisk_close): Avoid closing unrelated disk.
12579 (grub_ofdisk_read): Implement reopen logic.
12580 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
12581 New function.
12582 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
12583 New proto.
12584
fb53b340
VS
125852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 Fix sparc64.
12588
12589 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
12590 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
12591 right address. Add sparc64_ieee1275_ldflags.
12592 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
12593 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
12594 to grub_host_to_target_addr
12595 (load_image): Likewise.
12596
f452b040
VS
125972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12598
12599 * grub-core/normal/completion.c (complete_file): Handle device
12600 containing slash.
12601 Fix based on patch by Doug Nazar.
12602
9b5b2541
VS
126032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12604
12605 grub-mknetdir script.
12606
12607 * Makefile.util.def (grub-mknetdir): New module.
12608 * tests/util/grub-shell.in: Support boot=net
12609 * util/grub-mknetdir.in: New file.
12610
9d2be652
VS
126112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12612
12613 videoinfo on non-vbe.
12614
12615 * grub-core/Makefile.core.def (vbeinfo): Removed.
12616 (vbetest): Removed.
12617 (videoinfo): New module.
12618 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
12619 * grub-core/commands/i386/pc/vbetest.c: Removed.
12620 * grub-core/commands/videoinfo.c: New file.
12621 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
12622 specification.
12623 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
12624 as vbetest.
12625 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
12626 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
12627 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
12628 mode_number. New parameter mode. All users updated.
12629 (grub_video_gop_iterate): New function.
12630 (grub_video_efi_gop): New member iterate.
12631 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
12632 (grub_vbe_set_video_mode): Remove setting useless fields.
12633 (vbe2videoinfo): New function.
12634 (grub_video_vbe_iterate): Likewise.
12635 (grub_video_vbe_setup): Use vbe2videoinfo.
12636 (grub_video_vbe_print_adapter_specific_info): New function.
12637 (grub_video_vbe_adapter): New fields iterate and
12638 print_adapter_specific_info.
12639 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
12640 All users updated.
12641 (grub_video_mode_info): New field mode_number.
12642 (grub_video_adapter): New fields iterate and
12643 print_adapter_specific_info.
12644
179503f5
TG
126452010-09-13 Tristan Gingold <gingold@free.fr>
126462010-09-13 Robert Millan <rmh.grub@aybabtu.com>
126472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12648
12649 * grub-core/commands/efi/lsefisystab.c: New file.
12650 * grub-core/commands/efi/lssal.c: Likewise.
12651 * grub-core/Makefile.core.def (lsacpi): New module.
12652 (lsefisystab): Likewise.
12653 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
12654 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
12655 (grub_efi_sal_system_table): New struct.
12656 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
12657 (grub_efi_sal_system_table_memory_descriptor): Likewise.
12658 (grub_efi_sal_system_table_platform_features): Likewise.
12659 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
12660 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
12661 (grub_efi_sal_system_table_ap_wakeup): Likewise.
12662 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
12663
cf9827de
VS
126642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12665
12666 Support explicit user claim that a device is BIOS-visible.
12667
12668 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
12669 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
12670 * grub-core/kern/emu/hostdisk.c
12671 (convert_system_partition_to_system_disk): Support mdX.
12672 (find_system_device): New parameter add. All users updated.
12673 (grub_util_biosdisk_is_present): New function.
12674 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
12675 proto.
12676
53f0eb1f
VS
126772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 Search hints support.
12680
12681 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
12682 All users updated.
12683
b23ffd70
YB
126842010-09-13 Yves Blusseau <blusseau@zetam.org>
12685
12686 Bash completion script for util commands
12687
12688 * Makefile.am: Add util/bash-completion.d directory
12689 * configure.ac: Likewise.
12690 * util/bash-completion.d/Makefile.am: New file.
12691 * util/bash-completion.d/grub-completion.bash.in: Likewise.
12692
d547dc28
VS
126932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12694
12695 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
12696 (print_backlog): set backlog_ucs4 and backlog_glyphs.
12697 Reported by: Yves Blusseau.
12698
2fc8ccb9
VS
126992010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12700
12701 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
12702 partition size and offset.
12703
d8a84076
VS
127042010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12705
12706 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
12707
84fb3b3d
VS
127082010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12709
12710 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
12711
768ec2e2
VS
127122010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
12715 (grub_xvasprintf): Likewise.
12716
4870900f
VS
127172010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
12720
faca6bec
VS
127212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
12724 args ending with NULL.
12725
127262010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
12727
12728 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
12729 pointer.
12730
3c70f225
SJ
127312010-09-11 Szymon Janc <szymon@janc.net.pl>
12732
12733 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
12734
4df7996d
VS
127352010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12736
12737 Shutdown using ACPI.
12738
12739 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
12740 * grub-core/commands/acpihalt.c: New file.
12741 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
12742 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
12743 (grub_acpi_halt): New proto.
12744 (GRUB_ACPI_SLP_EN): New const.
12745 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
12746 (GRUB_ACPI_OPCODE_*): New enum.
12747 (GRUB_ACPI_EXTOPCODE_*): Likewise.
12748
126b4c32
TG
127492010-09-11 Tristan Gingold <gingold@free.fr>
127502010-09-11 Robert Millan <rmh.grub@aybabtu.com>
127512010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12752
12753 * commands/lsacpi.c: New file.
12754 * grub-core/Makefile.core.def (lsacpi): New module.
12755 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
12756 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
12757 (grub_acpi_madt_entry_header): New struct.
12758 (grub_acpi_madt): Likewise.
12759 (grub_acpi_madt_entry_interrupt_override): Likewise.
12760 (grub_acpi_madt_entry_sapic): Likewise.
12761 (grub_acpi_madt_entry_lsapic): Likewise.
12762 (grub_acpi_madt_entry_platform_int_source): Likewise.
12763 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
12764 (PRIuGRUB_UINT32_T): Likewise.
12765 (PRIxGRUB_UINT64_T): Likewise.
12766
1aa4fe88
VS
127672010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12768
12769 Implement loading palette on ieee1275_fb.
12770
12771 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
12772 (have_setcolors): Likewise.
12773 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
12774 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
12775 (grub_video_ieee1275_set_palette): Implement.
12776
25761e13
VS
127772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
127782010-09-11 Colin Watson <cjwatson@ubuntu.com>
12779
12780 * util/grub-install.in (grub_partition): New variable.
12781 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
12782 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
12783 Fixes a bug reported by Yves Blusseau.
12784
050abaea
VS
127852010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12786
12787 Fix emu on mipsel.
12788
12789 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
12790 =grub_cpu_flush_cache on all mips and not only yeeloong.
12791 * configure.ac (COND_mips): New conditional.
12792 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
12793 platforms.
12794 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
12795 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
12796 [GRUB_LINKER_HAVE_INIT]: New function.
12797 (grub_emu_post_init): Likewise.
12798 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
12799 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
12800 * include/grub/cache.h (_mips): Include mips/cache.h.
12801 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
12802 LVM and RAID prototypes.
12803 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
12804 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
12805 function.
12806
5ed7d816
CW
128072010-09-10 Colin Watson <cjwatson@ubuntu.com>
12808
12809 * util/grub-install.in: Don't try to verify core.img until after
12810 running grub-mkimage to create it.
12811
90367e04
RM
128122010-09-10 Robert Millan <rmh@gnu.org>
12813
12814 * util/grub.d/10_hurd.in: Add misc readability checks.
12815 * util/grub.d/10_kfreebsd.in: Likewise.
12816 * util/grub.d/10_linux.in: Likewise.
12817
c452fa66
CW
128182010-09-10 Colin Watson <cjwatson@ubuntu.com>
12819
12820 * util/grub-install.in: ${imgext} won't be defined here until the
12821 install branch is merged. For the meantime, only verify core.img on
12822 i386-pc and sparc64-ieee1275 platforms.
12823
c38fe9f4
RM
128242010-09-10 Robert Millan <rmh@gnu.org>
12825
12826 Solaris support in grub_find_zpool_from_dir(). Thanks
12827 Seth Goldberg for referring to getextmntent() facility.
12828
12829 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
12830 `sys/mkdev.h'.
12831 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
12832 `<sys/mnttab.h>'.
12833 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
12834 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
12835 method for finding zpool name.
12836
905f7773
CW
128372010-09-10 Colin Watson <cjwatson@ubuntu.com>
12838
12839 grub-fstest needs the host and hostfs modules while other utilities
12840 actively require those modules to be absent, so grub-fstest needs
12841 its own initialisation and finalisation code.
12842
12843 * Makefile.am (grub_fstest.pp): New target.
12844 (grub_fstest_init.lst): Likewise.
12845 (grub_fstest_init.c): Likewise.
12846 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
12847
fb90b546
RM
128482010-09-10 Robert Millan <rmh@gnu.org>
12849
12850 * configure.ac: Check for `struct statfs.f_fstypename' and
12851 `struct statfs.f_mntfromname'.
12852
12853 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
12854 kFreeBSD-specific code.
12855
66d4bea5
RM
128562010-09-10 Robert Millan <rmh@gnu.org>
12857
12858 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
12859 on ZFS. Now non-main filesystems are supported as / too.
12860
b6a690ee
CW
128612010-09-09 Colin Watson <cjwatson@ubuntu.com>
12862
12863 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
12864 and grub-core/disk/host.c to ...
12865 (grub-fstest): ... here. Having the host disk implementation
12866 present confuses grub-probe and other utility programs.
12867
12868 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
12869 when writing to a file, not when writing to stdout.
12870
8901b00c 128712010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
12872
12873 * tests/partmap_test.in: New test for partitions.
12874 * Makefile.util.def: Rules for new test.
12875
7bf45fdd
RM
128762010-09-09 Robert Millan <rmh@gnu.org>
12877
12878 * util/grub-probe.c (probe): Fix a pair of unhandled error
12879 conditions.
12880
4dfbc574
RM
128812010-09-09 Robert Millan <rmh@gnu.org>
12882
12883 Basic Btrfs support (detection and UUID).
12884
12885 * grub-core/fs/btrfs.c: New file.
12886 * Makefile.util.def (library): Register btrfs.c.
12887 * grub-core/Makefile.core.def: Likewise.
12888
6b8e78ae
RM
128892010-09-08 Robert Millan <rmh@gnu.org>
12890
12891 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
12892 with (optional) parameters to specify device and relative path.
12893 * util/grub-install.in: Use is_path_readable_by_grub() to
12894 verify readability of a few critical files.
12895 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
12896 verify readability of grub.cfg.new.
12897
27f21a8b
VS
128982010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
12899
12900 Split minix.mod into minix.mod and minix2.mod.
12901
12902 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
12903 * grub-core/Makefile.core.def (minix2): New module.
12904 * grub-core/fs/minix.c: Use definitions instead of runtime version
12905 checking.
12906 * grub-core/fs/minix2.c: New file.
12907
c0e53ea5
YB
129082010-09-08 Yves Blusseau <blusseau@zetam.org>
12909
12910 Add new --boot-directory option to replace --root-directory
12911
12912 * util/grub-install.in: Add new --boot-directory option
12913 * util/grub-reboot.in: Likewise.
12914 * util/grub-set-default.in: Likewise.
12915
b9fe6ea2
YB
129162010-09-08 Yves Blusseau <blusseau@zetam.org>
12917
12918 * util/grub-mkconfig.in: Use new variable.
12919
d87aedff
YB
129202010-09-08 Yves Blusseau <blusseau@zetam.org>
12921
12922 * configure.ac: Define some useful variables.
12923
e55e8495
VS
129242010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
12925
12926 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12927 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
12928 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
12929 Use terminfo and don't use cursor-on/cursor-off unless it's known
12930 to work.
12931 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
12932 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
12933
6fa6d675
CW
129342010-09-08 Colin Watson <cjwatson@ubuntu.com>
12935
12936 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
12937 starts with "(,", fill the drive containing the loaded image in
12938 between those two characters, but expect that a full partition
12939 specification including partition map names will follow.
12940
92f2aef0
RM
129412010-09-08 Robert Millan <rmh@gnu.org>
12942
12943 * configure.ac: Remove `--enable-grub-fstest' option.
12944 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
12945
12946 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
12947 `grub-fstest' instead of `grub-probe' for readability verification.
12948 * util/grub-probe.c (probe): Remove readability verification kludge.
12949
99fd620d
RM
129502010-09-08 Robert Millan <rmh@gnu.org>
12951
12952 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
12953 initializing `GRUB_FS'.
12954
058e30ac 129552010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
12956
12957 Not command (!) support to GRUB script.
12958
12959 * tests/grub_script_not.in: New test.
12960 * Makefile.util.def: Rules for new test.
12961
12962 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12963 ! command as a special case.
12964 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
12965
b61d05ed 129662010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12967
058e30ac 12968 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
12969 grub_free.
b61d05ed 12970
4d69c786 129712010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12972
12973 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
12974
aa3119c4 129752010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12976
12977 * docs/grub.texi (Shell-like scripting): Documentation for break,
12978 continue, shift and return commands.
12979
db0f7e3d
VS
129802010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
12981
12982 Rename CD-ROM to cd on BIOS.
12983
12984 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
12985 "cd".
12986 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
12987
88b87c93
VS
129882010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
12991 * util/grub-probe.c (main): Likewise.
12992 * util/i386/pc/grub-setup.c (main): Likewise.
12993 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
12994 Reported and debugged by: alexxy
12995
294f324d
VS
129962010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12997
12998 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
12999 diagnostic info.
13000
d7ee3441
JS
130012010-09-05 Jo Shields <directhex@apebox.org>
13002
13003 * util/grub.d/30_os-prober.in: Add missing classes.
13004
d7e06c1f
VS
130052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13006
13007 * docs/grub.texi (Theme file format): Document new position format.
13008
fc157e53
VS
130092010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13010
13011 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13012 a table. Use @code instead of @verbatim.
13013
506e9a1c
CB
130142010-09-05 Colin D Bennett <colin@gibibit.com>
13015
13016 Gfxmenu documentation.
13017
13018 * docs/grub.texi (Theme file format): New chapter.
13019
f0aff67c
SJ
130202010-09-05 Szymon Janc <szymon@janc.net.pl>
13021
13022 * grub-core/Makefile.core.def (xzio): New module.
13023 * grub-core/io/xzio.c: New file.
13024 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13025 * grub-core/lib/xzembed/xz_config.h: Likewise.
13026 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13027 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13028 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13029 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13030 * grub-core/lib/xzembed/xz_private.h: Likewise.
13031 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13032 * include/grub/file.h (grub_file_filter_id): New compression filter
13033 GRUB_FILE_FILTER_XZIO.
13034
82a85062
VS
130352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13036
13037 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13038 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13039 size.
13040
3579415d
VS
130412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13044 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13045
5124ae6d
VS
130462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13047
13048 Uncompressed checksum support.
13049
13050 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13051 (check_list): New parameter uncompress.
13052 (grub_cmd_hashsum): Handle --uncompress.
13053
9aadb3d1
VS
130542010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 Reintroduce testload.
13057
13058 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13059 from here ...
13060 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13061 (GRUB_MOD_INIT): New function.
13062 (GRUB_MOD_FINI): Likewise.
13063 * grub-core/Makefile.core.def (testload): New module.
13064
a17792c3
SJ
130652010-09-05 Szymon Janc <szymon@janc.net.pl>
13066
13067 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
13068 (uint8_t): New type.
13069 (uint16_t): Likewise.
13070 (uint32_t): Likewise.
13071 (uint64_t): Likewise.
13072
b81e40a3
SJ
130732010-09-05 Szymon Janc <szymon@janc.net.pl>
13074
13075 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
13076
fc2ef117
VS
130772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13078
13079 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
13080 Made static.
13081 (grub_gzfile_open): Removed. All users updated.
13082 (GRUB_MOD_INIT): New function.
13083 (GRUB_MOD_FINI): Likewise.
13084 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13085 (grub_file_filters_enabled): Likewise.
13086 (grub_file_open): Handle filters.
13087 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
13088 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
13089 * include/grub/file.h (grub_file_filter_id_t): New type.
13090 (grub_file_filter_t): Likewise.
13091 (grub_file_filters_all): New extern variable.
13092 (grub_file_filters_enabled): Likewise.
13093 (grub_file_filter_register): New inline function.
13094 (grub_file_filter_unregister): Likewise.
13095 (grub_file_filter_disable): Likewise.
13096 (grub_file_filter_disable_compression): Likewise.
13097 * include/grub/gzio.h: Removed.
13098
35ee15e0
BC
130992010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13100
13101 Filename expansion support for wildcards in GRUB script.
13102
13103 * tests/grub_script_expansion.in: New test.
13104 * Makefile.util.def: Rule for new test.
13105
13106 * grub-core/commands/wildcard.c: New file, implements filename
13107 expansion support for GRUB script.
13108 * grub-core/Makefile.core.def: Rule update for regexp.mod.
13109 * grub-core/script/argv.c: Cosmetic changes.
13110 * grub-core/script/execute.c (grub_script_arglist_to_argv):
13111 Refactored to perform wildcard expansion on arguments.
13112 * include/grub/script_sh.h (grub_script_wildcard_translator): New
13113 struct.
13114
13115 * tests/util/grub-shell.in: Fix quoting for read input.
13116
5f0c4aca
BC
131172010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13118
13119 Support for updating environment variables with matched substrings
13120 of regexp.
13121
13122 * tests/grub_cmd_regexp.in: New test.
13123 * Makefile.util.def: Rule for new test.
13124
13125 * grub-core/commands/regexp.c: New option -s to update environment
13126 variables with regexp matches.
13127
3759a35f
SJ
131282010-09-04 Szymon Janc <szymon@janc.net.pl>
13129
13130 * include/grub/file.h (grub_file): New member not_easly_seekable.
13131 (grub_file_seekable): New inline function.
13132 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
13133 easily seekable.
13134 (grub_gzio_open): Set not_easly_seekable.
13135 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
13136 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
13137
ed8c6dec
BC
131382010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13139
13140 Support for options to appear multiple times on cmdline.
13141
13142 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
13143 * grub-core/commands/extcmd.c: Support for repeatable option.
13144 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
13145 repeatable option support.
13146
13147 Refactor menuentry into a regular command.
13148
13149 * grub-core/commands/menuentry.c: New file, menuentry command
13150 implementation.
13151 * grub-core/Makefile.core.def: Rule update for normal.mod.
13152 * grub-core/normal/main.c: Moved menuentry creation to
13153 grub-core/commands/menuentry.c.
13154 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
13155 (grub_menu_execute_entry_real): Removed.
13156 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
13157 function.
13158 (grub_script_execute_menuentry): Removed.
13159 * grub-core/script/parser.y (menuentry): Removed.
13160 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
13161 * grub-core/script/yylex.l (menuentry): Removed.
13162 * include/grub/menu.h (grub_menu_init): New prototype.
13163 (grub_menu_fini): New prototype.
13164 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
13165 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
13166 (grub_script_execute_sourcecode): New prototype.
13167
dacd0cf0
BC
131682010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13169
13170 "return" command for GRUB script functions.
13171
13172 * tests/grub_script_return.in: New test.
13173 * Makefile.util.def: Rules for new test.
13174
13175 * grub-core/script/execute.c (grub_script_return): New function.
13176 * grub-core/script/main.c: Register/unregister return commaond.
13177 * include/grub/script_sh.h (grub_script_return): New prototype.
13178
52e72f9d
BC
131792010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13180
13181 "setparams" command to update positional parameters.
13182
13183 * tests/grub_script_setparams.in: New test.
13184 * Makefile.util.def: Rules for new test.
13185
13186 * grub-core/script/argv.c (grub_script_argv_make): New function.
13187 * grub-core/script/execute.c (replace_scope): New function.
13188 (grub_script_setparams): New function.
13189 * grub-core/script/lexer.c: Remove unused variables.
13190 * grub-core/script/main.c: Register/unregister setparams command.
13191 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
13192 (grub_script_setparams): New prototype.
13193
25b60c91
BC
131942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13195
13196 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
13197 grub_free order.
13198
37e7bf68
BC
131992010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13200
13201 Support for passing block of commands as an argument to extcmds.
13202
13203 * Makefile.util.def: Rules for new test.
13204 * tests/grub_script_blockarg.in: New test.
13205 * grub-core/tests/test_blockarg.c: New file, block argument
13206 command used in the test.
13207
13208 * include/grub/extcmd.h (grub_extcmd_context): New struct.
13209 (grub_register_extcmd_prio): New function prototype.
13210 (grub_extcmd_dispatcher): New function prototype.
13211 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
13212 type.
13213 * include/grub/script_sh.h (struct grub_script): New members
13214 `children', `next_siblings' and `refcnt' for block arguments and
13215 reference counting.
13216 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
13217 (grub_script_arg): New member `script' for block argument.
13218 (grub_script_argv): New member `script' for block argument.
13219 (grub_parser_param): New member `scripts' for block argument.
13220 (grub_script_mem_free): New extern function prototype.
13221 (grub_script_ref): New function prototype.
13222 (grub_script_unref): New function prototype.
13223
13224 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
13225 extcmd form to support block arguments.
13226 * grub-core/script/argv.c: Block arguments support.
13227 * grub-core/script/execute.c: Likewise.
13228 * grub-core/script/lexer.c: Likewise.
13229 * grub-core/script/main.c: Likewise.
13230 * grub-core/script/script.c: Likewise.
13231 * grub-core/script/parser.y: Likewise. New `block' and `block0'
13232 non-terminals.
13233
13234 * grub-core/commands/acpi.c: Update extcmd implementations with
13235 grub_extcmd_context_t.
13236 * grub-core/commands/cat.c: Likewise.
13237 * grub-core/commands/echo.c: Likewise.
13238 * grub-core/commands/extcmd.c: Likewise.
13239 * grub-core/commands/hashsum.c: Likewise.
13240 * grub-core/commands/hdparm.c: Likewise.
13241 * grub-core/commands/help.c: Likewise.
13242 * grub-core/commands/hexdump.c: Likewise.
13243 * grub-core/commands/i386/cpuid.c: Likewise.
13244 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13245 * grub-core/commands/i386/pc/halt.c: Likewise.
13246 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13247 * grub-core/commands/iorw.c: Likewise.
13248 * grub-core/commands/keystatus.c: Likewise.
13249 * grub-core/commands/loadenv.c: Likewise.
13250 * grub-core/commands/ls.c: Likewise.
13251 * grub-core/commands/lspci.c: Likewise.
13252 * grub-core/commands/memrw.c: Likewise.
13253 * grub-core/commands/probe.c: Likewise.
13254 * grub-core/commands/search_wrap.c: Likewise.
13255 * grub-core/commands/setpci.c: Likewise.
13256 * grub-core/commands/sleep.c: Likewise.
13257 * grub-core/disk/loopback.c: Likewise.
13258 * grub-core/hello/hello.c: Likewise.
13259 * grub-core/loader/i386/bsd.c: Likewise.
13260 * grub-core/loader/xnu.c: Likewise.
13261 * grub-core/term/gfxterm.c: Likewise.
13262 * grub-core/term/serial.c: Likewise.
13263 * grub-core/tests/lib/functional_test.c: Likewise.
13264
888d1500
BC
132652010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13266
13267 Multi-line quoted strings support.
13268
13269 * grub-core/script/lexer.c (append_newline): Removed.
13270 (grub_script_lexer_yywrap): Refactored.
13271 (grub_script_lexer_init): Refactored.
13272 * grub-core/script/yylex.l (yywrap): New function.
13273 (grub_lexer_resplit): New function.
13274 (grub_lexer_unput): New function.
13275 * include/grub/script_sh.h (grub_lexer_param): New members, unput
13276 and resplit.
13277 * tests/grub_script_echo1.in: Added few more testcases.
13278
dda060dd
VS
132792010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 * grub-core/kern/misc.c: Don't add abort alias in utils.
13282 Reported by: echoline.
13283
6556eba9
BC
132842010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
13285
13286 Add missing files into "make dist" tarball for other platforms.
13287
13288 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
13289 * conf/Makefile.common (dist_noinst_DATA): New variable.
13290 * conf/Makefile.extra-dist: Added missing make dist files.
13291 * grub-core/Makefile.core.def: Likewise.
13292
c8e7bf5f
VS
132932010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 Compress grub_prefix.
13296
13297 * grub-core/boot/i386/pc/lnxboot.S: Use
13298 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
13299 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
13300 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
13301 GRUB_MACHINE_PREFIX_END. All users updated.
13302 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
13303 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
13304 + 0x40.
13305 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13306 * util/grub-mkimage.c (image_target_desc): Change data_end to
13307 prefix_end. All users updated.
13308
a7c00cdb
VS
133092010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13310
13311 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
13312 value.
13313 (grub_openbsd_boot): Likewise.
13314 (grub_netbsd_boot): Likewise.
13315 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
13316 (grub_xnu_boot): Likewise.
13317
9f915872
VS
133182010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * configure.ac: Clean LIBS variable after tests.
13321
efa1bee7
CW
133222010-09-02 Colin Watson <cjwatson@ubuntu.com>
13323
13324 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
13325
61d720e5
VS
133262010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
13329 echo if libdevmapper will be used.
13330
ef8e0ec8
IT
133312010-09-02 Ian Turner <Ian.Turner@deshaw.com>
13332
13333 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
13334 constant for the same file.
13335
03e261d8
VS
133362010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
13339
c2a4eba6
CW
133402010-09-02 Colin Watson <cjwatson@ubuntu.com>
13341
13342 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
13343 grub-core/*.pp.
13344
9056cbf3
CW
133452010-09-02 Colin Watson <cjwatson@ubuntu.com>
13346
13347 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
13348 required by the boot protocol.
13349
13350 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
13351 ebp and edi members.
13352 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
13353 state.ebp and state.edi.
13354 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
13355 %ebp and %edi according to grub_relocator32_ebp and
13356 grub_relocator32_edi respectively.
13357 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
13358 and state.edi.
13359
529cc99a
VS
133602010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13361
13362 Add i386-pc-pxe image target.
13363
13364 * util/grub-mkimage.c (image_target_desc): New enum value
13365 IMAGE_I386_PC_PXE.
13366 (image_targets): New target i386-pc-pxe.
13367 (generate_image): Handle i386-pc-pxe image.
13368
9a093920
VS
133692010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13370
13371 Fix grub_pxe_scan.
13372
13373 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
13374 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
13375 All users updated.
13376 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
13377 (grub_pxe_pxenv): Correct type.
13378
f9cefc4e
CW
133792010-09-01 Colin Watson <cjwatson@ubuntu.com>
13380
13381 * NEWS: Document most of the important changes since 1.98.
13382
4066f57f
CW
133832010-09-01 Colin Watson <cjwatson@ubuntu.com>
13384
13385 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
13386 generated manual page) a little.
13387
da2891f9
CW
133882010-09-01 Colin Watson <cjwatson@ubuntu.com>
13389
13390 * docs/grub.texi: Add myself as an author.
13391
ad717fae
VS
133922010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13393
13394 * Makefile.util.def (libgrub.a): Add missing sunpc.
13395 Reported by: Seth Goldberg.
13396
eefe8abd
VS
133972010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13398
13399 Interrupt wrapping and code simplifications.
13400
9494ef9a
VS
13401 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
13402 x86_noieee1275 which are functionaly equivalent in this case.
13403 (grub-install): Make source on each platform explicit. Enable on
13404 all noemu.
13405 * gentpl.py (x86_efi_pc): Removed group.
13406 (x86_noefi): Likewise.
13407 (i386_noefi): Likewise.
13408 (x86_noieee1275): Likewise.
13409 (i386_noieee1275): Likewise.
13410 (i386_noefi_noieee1275): Likewise.
13411 (i386_pc_qemu_coreboot): Likewise.
13412 (i386_coreboot_multiboot): Likewise.
13413 (i386_pc_coreboot_multiboot_qemu): Likewise.
13414 (x86_noefi_mips): Likewise.
13415 (noieee1275): Likewise.
13416 (ieee1275_mips): Likewise.
13417 (noemu_noieee1275): Likewise.
13418 (cmos): New group.
13419 (usb): Likewise.
13420 (videoinkernel): Likewise.
13421 (videomodules): Likewise.
eefe8abd 13422 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
13423 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
13424 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
13425 include/grub/loader.h, include/grub/msdos_partition.h,
13426 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
13427 include/grub/machine/console.h, include/grub/machine/vga.h,
13428 include/grub/machine/vbe.h, include/grub/machine/init.h,
13429 include/grub/machine/kernel.h, include/grub/cpu/time.h,
13430 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 13431 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
13432 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
13433 * grub-core/Makefile.core.def (kernel): Explicit the source for
13434 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
13435 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
13436 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
13437 Use videoinkernel tag.
13438 (usb): Enable on all usb.
13439 (usbserial_common): Likewise.
13440 (usbserial_pl2303): Likewise.
13441 (usbserial_ftdi): Likewise.
13442 (uhci): Enable on all x86.
13443 (ohci): Enable on all pci.
13444 (cmostest): Enable on all CMOS.
13445 (acpi): Include commands/acpi.c on all platforms.
13446 (halt): Add relevant lib/*/halt.c.
13447 (hdparm): Enable on all pci.
13448 (lspci): Likewise.
13449 (usbtest): Enable on all usb.
13450 (ata): Enable on all pci.
13451 (ata_pthru): Likewise.
13452 (usbms): Enable on all usb.
13453 (usb_keyboard): Likewise.
13454 (font): Use tag videomodules.
13455 (bufio): Likewise.
13456 (datetime): Use tag cmos. Enable on all noemu.
13457 (mmap): Use tags common and x86.
13458 (gfxterm): Use tag videomodules.
13459 (bitmap): Likewise.
13460 (bitmap_scale): Likewise.
13461 (video_fb): Likewise.
13462 (video): Likewise.
13463 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
13464 adjust padding accordingly. All users updated.
13465 (grub_ohci_transaction): Fix bad format specification.
13466 (GRUB_MOD_INIT): Add asserts for struct size.
13467 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
13468 (grub_alloc_td): Likewise.
13469 (grub_free_queue): Likewise.
13470 (grub_uhci_transfer): Likewise.
13471 (grub_uhci_transaction): Fix bad format specification.
13472 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13473 (grub_usb_bulk_readwrite): Likewise.
13474 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
13475 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
13476 Made static.
13477 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
13478 Made static.
13479 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
13480 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
13481 Transformed into C.
13482 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
13483 Moved from here ...
13484 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
13485 ... here. Transformed into C. Made static.
13486 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
13487 Moved from here ...
13488 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
13489 ... here. Transformed into C. Made static.
13490 * grub-core/kern/i386/pc/startup.S
13491 (grub_biosdisk_check_int13_extensions): Moved from here ...
13492 * grub-core/disk/i386/pc/biosdisk.c
13493 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
13494 Made static.
13495 * grub-core/kern/i386/pc/startup.S
13496 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
13497 * grub-core/disk/i386/pc/biosdisk.c
13498 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
13499 Transformed into C. Made static.
13500 * grub-core/kern/i386/pc/startup.S
13501 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
13502 * grub-core/disk/i386/pc/biosdisk.c
13503 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
13504 Transformed into C. Made static.
13505 * grub-core/kern/i386/pc/startup.S
13506 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
13507 * grub-core/disk/i386/pc/biosdisk.c
13508 (grub_biosdisk_get_diskinfo_standard): ... here.
13509 Transformed into C. Made static.
13510 * grub-core/kern/i386/pc/startup.S
13511 (grub_biosdisk_get_num_floppies): Moved from here ...
13512 * grub-core/disk/i386/pc/biosdisk.c
13513 (grub_biosdisk_get_num_floppies): ... here.
13514 Transformed into C. Made static.
13515 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
13516 New function.
13517 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
13518 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
13519 Transformed into C. Made static.
13520 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
13521 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
13522 Transformed into C. Made static.
13523 * grub-core/kern/i386/ieee1275/init.c: Removed.
13524 * grub-core/kern/i386/misc.S: Likewise.
13525 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
13526 Splitted from here ...
13527 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
13528 Transformed into C. Made static. All users updated.
13529 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
13530 Transformed into C. Made static. All users updated.
13531 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
13532 Moved from here...
13533 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
13534 Transformed into C. Made static. All users updated.
13535 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
13536 Moved from here...
13537 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
13538 Transformed into C. Made static. All users updated.
13539 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
13540 Removed (replaced by C version).
13541 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
13542 Moved from here...
13543 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
13544 Transformed into C. Made static.
13545 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
13546 Moved from here...
13547 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
13548 ... here. Transformed into C.
13549 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
13550 Moved from here...
13551 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
13552 ... here. Transformed into C.
13553 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
13554 Moved from here...
13555 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
13556 ... here. Transformed into C. Made static.
13557 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
13558 Moved from here...
13559 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
13560 ... here. Transformed into C.
21ed554b
VS
13561 * grub-core/kern/i386/pc/startup.S
13562 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
13563 * grub-core/video/i386/pc/vbe.c
13564 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
13565 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
13566 Moved from here...
13567 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
13568 ... here. Transformed into C.
13569 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
13570 Moved from here...
13571 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
13572 ... here. Transformed into C.
13573 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
13574 Moved from here...
13575 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
13576 ... here. Transformed into C.
13577 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
13578 Moved from here...
13579 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
13580 ... here. Transformed into C.
13581 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
13582 Moved from here...
13583 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
13584 ... here. Transformed into C. Made static.
13585 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
13586 Moved from here...
13587 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
13588 ... here. Transformed into C. Made static.
13589 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
13590 Moved from here...
13591 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
13592 ... here. Transformed into C. Made static.
13593 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
13594 pxe_rm_entry as third argument.
13595 (grub_bios_interrupt): New function.
13596 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
13597 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
13598 of calling grub_stop.
13599 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
13600 * grub-core/lib/efi/halt.c (grub_halt): ...here.
13601 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
13602 * grub-core/lib/emu/halt.c (grub_halt): ... here.
13603 * grub-core/lib/i386/halt.c: Moved from here ...
13604 * grub-core/lib/i386/halt.c: ... here.
13605 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
13606 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
13607 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
13608 grub_stop_floppy.
13609 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
13610 * include/grub/i386/coreboot/init.h: Removed.
13611 * include/grub/i386/multiboot/init.h: Likewise.
13612 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
13613 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
13614 * include/grub/i386/pc/int.h: New file.
13615 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
13616 (grub_pxe_scan): Removed.
13617 (grub_pxe_call): Update prototype.
13618 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
13619 prototypes.
13620 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
13621 * include/grub/i386/qemu/init.h: Removed.
13622 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
13623 noreturn.
13624 (grub_halt): Likewise.
13625 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
13626 (grub_reboot): Likewise.
13627 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
13628 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
13629 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
13630
215dd471
RM
136312010-08-30 Robert Millan <rmh@gnu.org>
13632
13633 * NEWS: Document addition of ZFS support in `grub-install' and
13634 `grub-mkconfig'.
13635
ebd65b82
BC
136362010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
13637
13638 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
13639 dprintf output.
13640
11721d19
VS
136412010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 Remove leftover embedding of font objects.
13644
13645 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13646 * util/grub-install.in (font): Removed.
13647 * util/grub-mkimage.c (generate_image): Remove font support. All users
13648 updated.
13649
37837d4e
VS
136502010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13651
13652 Remove leftover embedding of font objects.
13653
13654 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13655 * util/grub-install.in (font): Removed.
13656 * util/grub-mkimage.c (generate_image): Remove font support. All users
13657 updated.
13658
b4c1aae0
VS
136592010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13660
13661 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 13662 Reported by: Ian Turner
b4c1aae0 13663
8920a08d
VS
136642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13665
13666 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
13667 timeout to avoid indefinite boot stalling.
13668
f21db033
VS
136692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
13672 (grub_env_write_color_highlight): Likewise.
13673
9a9de209
VS
136742010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 * grub-core/normal/term.c (print_more): Return to normal and not
13677 to standard state after printing "---MORE---".
13678
3dca01d7
VS
136792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13680
13681 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
13682 Mask out the bit 0x80 since it has other meaning that specifiing color.
13683
0b986c40
VS
136842010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13685
13686 New relocator. Allows for more kernel support and more straightforward
13687 loader writing.
13688
13689 * Makefile.am (BOOTTARGET): New variable.
13690 (QEMU32): Likewise.
13691 (linux.init.x86_64): New target.
13692 (linux.init.i386): Likewise.
13693 (multiboot.elf): Likewise.
13694 (kfreebsd.elf): Likewise.
13695 (kfreebsd.aout): Likewise.
13696 (pc-chainloader.elf): Likewise.
13697 (pc-chainloader.bin): Likewise.
13698 (ntldr.elf): Likewise.
13699 (ntldr.bin): Likewise.
13700 (multiboot2.elf): Likewise.
13701 (kfreebsd.init.x86_64): Likewise.
13702 (kfreebsd.init.i386): Likewise.
13703 (knetbsd.init.i386): Likewise.
13704 (kopenbsd.init.i386): Likewise.
13705 (knetbsd.init.x86_64): Likewise.
13706 (kopenbsd.init.x86_64): Likewise.
13707 (linux-initramfs.i386): Likewise.
13708 (linux-initramfs.x86_64): Likewise.
13709 (kfreebsd-mfsroot.i386.img): Likewise.
13710 (knetbsd.image.i386): Likewise.
13711 (kopenbsd.image.i386): Likewise.
13712 (kopenbsd.image.x86_64): Likewise.
13713 (knetbsd.miniroot-image.i386.img): Likewise.
13714 (kfreebsd-mfsroot.x86_64.img): Likewise.
13715 (knetbsd.image.x86_64): Likewise.
13716 (knetbsd.miniroot-image.x86_64.img): Likewise.
13717 (kfreebsd-mfsroot.i386.gz): Likewise.
13718 (bootcheck-kfreebsd-i386): Likewise.
13719 (kfreebsd-mfsroot.x86_64.gz): Likewise.
13720 (bootcheck-kfreebsd-x86_64): Likewise.
13721 (knetbsd.miniroot-image.i386.gz): Likewise.
13722 (bootcheck-knetbsd-i386): Likewise.
13723 (bootcheck-kopenbsd-i386): Likewise.
13724 (bootcheck-kopenbsd-x86_64): Likewise.
13725 (knetbsd.miniroot-image.x86_64.gz): Likewise.
13726 (bootcheck-knetbsd-x86_64): Likewise.
13727 (bootcheck-linux-i386): Likewise.
13728 (bootcheck-linux-x86_64): Likewise.
13729 (bootcheck-linux16-i386): Likewise.
13730 (bootcheck-linux16-x86_64): Likewise.
13731 (bootcheck-multiboot): Likewise.
13732 (bootcheck-multiboot2): Likewise.
13733 (bootcheck-kfreebsd-aout): Likewise.
13734 (bootcheck-pc-chainloader): Likewise.
13735 (bootcheck-ntldr): Likewise.
13736 (CLEANFILES): Add new targets.
13737 (BOOTCHECKS): New variable.
13738 (.PHONY): Add bootchecks.
13739 (SUCCESSFUL_BOOT_STRING): New variable.
13740 (BOOTCHECK_TIMEOUT): Likewise.
13741 (bootcheck): New target
13742 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
13743 * configure.ac: Correct efiemu excuse.
13744 * docs/grub.texi (Supported kernels): New chapter.
13745 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
13746 include/grub/mm_private.h. Simplify inclusion of
13747 include/grub/boot.h, include/grub/loader.h
13748 and include/grub/msdos_partition.h
13749 (KERNEL_HEADER_FILES) [i386_coreboot]:
13750 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
13751 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
13752 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
13753 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
13754 include/grub/machine/loader.h.
13755 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
13756 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
13757 extra_dist.
13758 (pci.mod): Enable on i386-multiboot.
13759 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
13760 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
13761 i386-qemu.
13762 (relocator.mod): Rewritten.
13763 (aout.mod): Enable on all x86.
13764 (bsd.mod): Likewise.
13765 (ntldr.mod): New module.
13766 (linux.mod): Use loader/i386/linux.c on all x86.
13767 (xnu.mod): Enable on all x86.
13768 (vga_text.mod): disable on EFI and QEMU.
13769 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
13770 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
13771 * grub-core/efiemu/loadcore.c: Likewise.
13772 * grub-core/efiemu/main.c: Likewise.
13773 (grub_efiemu_exit_boot_services): Removed.
13774 (grub_efiemu_finish_boot_services): Likewise.
13775 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
13776 function.
13777 * grub-core/efiemu/i386/nocfgtables.c: New file.
13778 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
13779 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
13780 (grub_efi_finish_boot_services): Moved from here ...
13781 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
13782 Fille finish memory map and related data.
13783 (finish_mmap_buf): New variable.
13784 (grub_efi_uintn_t finish_mmap_size): Likewise.
13785 (grub_efi_uintn_t finish_key): Likewise.
13786 (grub_efi_uintn_t finish_desc_size): Likewise.
13787 (grub_efi_uint32_t finish_desc_version): Likewise.
13788 (grub_efi_is_finished): Likewise.
13789 (grub_efi_get_memory_map): Use saved memory map if EFI is already
13790 finished.
13791 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
13792 (grub_elf64_phdr_iterate): Likewise.
13793 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
13794 (grub_os_area_size): Likewise.
13795 (grub_machine_init): Don't reserve os area.
13796 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
13797 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13798 * grub-core/kern/i386/loader.S: Removed.
13799 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
13800 (grub_os_area_size): Likewise.
13801 (grub_machine_init): Don't reserve os area.
13802 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
13803 Don't call grub_dl_unload_all.
13804 Don't include loader.S.
13805 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
13806 Declare the memory after _end as available.
13807 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 13808 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 13809 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
13810 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
13811 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
13812 * include/grub/mm_private.h (grub_mm_header): ... here.
13813 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
13814 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
13815 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
13816 (grub_mm_region): ..here. Removed addr. Added pre_size.
13817 All users updated.
13818 * grub-core/kern/mm.c (base): Renamed to ...
13819 (grub_mm_base): ... this. Made global.
13820 (grub_real_malloc): Alloc from end of region.
13821 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
13822 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
13823 * grub-core/kern/powerpc/cache_flush.S: ... here.
13824 * grub-core/lib/efi/relocator.c: New file.
13825 * grub-core/lib/i386/relocator.c: Rewritten.
13826 * grub-core/lib/i386/relocator16.S: New file.
13827 * grub-core/lib/i386/relocator32.S: Likewise.
13828 * grub-core/lib/i386/relocator64.S: Likewise.
13829 * grub-core/lib/i386/relocator_asm.S: Rewritten.
13830 * grub-core/lib/i386/relocator_common.S: New file.
13831 * grub-core/lib/ieee1275/relocator.c: Likewise.
13832 * grub-core/lib/mips/relocator.c: Rewritten.
13833 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
13834 stylistic adjustments.
13835 * grub-core/lib/powerpc/relocator.c: New file.
13836 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
13837 * grub-core/lib/relocator.c: Rewritten.
13838 * grub-core/lib/x86_64/relocator_asm.S: New file.
13839 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
13840 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
13841 (bsd_tag): New struct.
13842 (tags): New variable.
13843 (tags_last): Likewise.
13844 (netbsd_module): New struct.
13845 (netbsd_mods): New variable.
13846 (netbsd_mods_last): Likewise.
13847 (openbsd_opts): New parameter "serial".
13848 (OPENBSD_SERIAL_ARG): New definition.
13849 (netbsd_opts): New parameter "serial".
13850 (NETBSD_SERIAL_ARG): New definition.
13851 (grub_freebsd_add_meta): Reorganised into ...
13852 (grub_bsd_add_meta): ...this. All users updated.
13853 (grub_freebsd_add_mmap): Reorganised into ...
13854 (generate_e820_mmap): ...this...
13855 (grub_bsd_add_mmap): ...and this. All users updated.
13856 (grub_freebsd_list_modules): Use tags.
13857 (grub_netbsd_add_meta_module): New function.
13858 (grub_netbsd_list_modules): Likewise.
13859 (grub_freebsd_boot): Use relocator and finish EFI.
13860 (grub_openbsd_boot): Likewise.
13861 (grub_netbsd_setup_video): New function.
13862 (grub_netbsd_add_modules): Likewise.
13863 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
13864 and finish EFI.
13865 (grub_bsd_unload): Unload tags.
13866 (grub_bsd_load_aout): Use relocator.
13867 (grub_bsd_elf32_size_hook): New function.
13868 (grub_bsd_elf32_hook): Use relocator.
13869 (grub_bsd_elf64_size_hook): New function.
13870 (grub_bsd_elf64_hook): Use relocator.
13871 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
13872 (grub_bsd_load): Zero-out openbsd_ramdisk.
13873 (grub_bsd_load): Use relocator.
13874 (grub_cmd_openbsd): Support serial.
13875 (grub_cmd_netbsd): Support modules.
13876 (grub_cmd_freebsd_module): Use relocator.
13877 (grub_netbsd_module_load): New function.
13878 (grub_cmd_netbsd_module): Likewise.
13879 (grub_cmd_openbsd_ramdisk): Likewise.
13880 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
13881 kopenbsd_ramdisk.
13882 (GRUB_MOD_FINI): Unregister new commands.
13883 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
13884 (grub_freebsd_load_elfmodule_obj): Use relocator.
13885 (grub_freebsd_load_elfmodule): Likewise.
13886 (grub_freebsd_load_elf_meta): Likewise.
13887 (grub_netbsd_load_elf_meta): New function.
13888 (grub_openbsd_find_ramdisk): Likewise.
13889 * grub-core/loader/i386/bsd_helper.S: Removed.
13890 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
13891 * grub-core/loader/i386/bsd_trampoline.S: Removed.
13892 * grub-core/loader/i386/efi/linux.c: Likewise.
13893 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
13894 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
13895 (DEFAULT_VIDEO_MODE): Likewise.
13896 (real_mode_target): New variable.
13897 (prot_mode_target): Likewise.
13898 (initrd_mem_target): Likewise.
13899 (relocator): Likewise.
13900 (efi_mmap_buf): Likewise.
13901 (efi_mmap_size): Likewise.
13902 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
13903 (free_pages): Use relocator.
13904 (allocate_pages): Account for efi_mmap and use relocator. Return error.
13905 (grub_linux_setup_video): Return error.
13906 (grub_linux_trampoline_start): Removed.
13907 (grub_linux_trampoline_end): Likewise.
13908 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
13909 andd video parameters depending on firmware.
13910 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
13911 [GRUB_MACHINE_EFI]: Pass EFI parameters.
13912 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
13913 (grub_cmd_initrd): Use relocator.
13914 * grub-core/loader/i386/linux_trampoline.S: Removed.
13915 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
13916 (elf_sec_entsize): Likewise.
13917 (elf_sec_shstrndx): Likewise.
13918 (elf_sections): Likewise.
13919 (grub_multiboot_load): Use relocator.
13920 (grub_multiboot_get_mbi_size): Account for sections.
13921 (grub_multiboot_make_mbi): Use relocator and support sections.
13922 (grub_multiboot_add_elfsyms): New function.
13923 (grub_multiboot_free_mbi): Free sections.
13924 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
13925 (grub_linux_real_target): Likewise.
13926 (grub_linux_real_chunk): Likewise.
13927 (grub_linux16_prot_size): Likewise.
13928 (grub_linux16_boot): Use relocator.
13929 (grub_linux_unload): Unload relocator.
13930 (grub_cmd_linux): Use relocator.
13931 (grub_cmd_initrd): Likewise.
13932 * grub-core/loader/i386/pc/ntldr.c: New file.
13933 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
13934 Don't try to guess CPU frequency.
13935 (grub_xnu_set_video): Stretch bitmap.
13936 (grub_xnu_boot): Use relocator.
13937 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
13938 (grub_linux_unload): Free relocator.
13939 (grub_linux_load32): Use relocator.
13940 (grub_linux_load64): Likewise.
13941 (grub_cmd_initrd): Likewise.
13942 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
13943 (grub_multiboot_unload): Unload relocator.
13944 (grub_cmd_multiboot): Use relocator.
13945 (grub_cmd_module): Likewise.
13946 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
13947 Use relocator and support sections.
13948 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
13949 (elf_sec_entsize): Likewise.
13950 (elf_sec_shstrndx): Likewise.
13951 (elf_sections): Likewise.
13952 (grub_multiboot_load): Use relocator.
13953 (grub_multiboot_get_mbi_size): Account for sections.
13954 (grub_multiboot_make_mbi): Use relocator and support sections.
13955 (grub_multiboot_add_elfsyms): New function.
13956 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
13957 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
13958 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
13959 Prototype changed. All users updated.
13960 (grub_xnu_align_heap): Simplified.
13961 (grub_xnu_writetree_toheap): Likewise.
13962 (grub_xnu_unload): Unload relocator.
13963 (grub_cmd_xnu_kernel): Use relocator.
13964 (grub_cmd_xnu_kernel64): Likewise.
13965 (grub_xnu_register_memory): Simplified.
13966 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
13967 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
13968 EFI is finished.
13969 (grub_console_checkkey): Likewise.
13970 (grub_console_getkey): Likewise.
13971 (grub_console_getwh): Likewise.
13972 (grub_console_getxy): Likewise.
13973 (grub_console_gotoxy): Likewise.
13974 (grub_console_cls): Likewise.
13975 (grub_console_setcolorstate): Likewise.
13976 (grub_console_setcursor): Likewise.
13977 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
13978 * grub-core/tests/boot/kbsd.init-i386.S: New file.
13979 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
13980 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
13981 * grub-core/tests/boot/kernel-8086.S: Likewise.
13982 * grub-core/tests/boot/kernel-i386.S: Likewise.
13983 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
13984 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
13985 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
13986 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
13987 * grub-core/tests/boot/knetbsd.cfg: Likewise.
13988 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
13989 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
13990 * grub-core/tests/boot/linux.cfg: Likewise.
13991 * grub-core/tests/boot/linux.init-i386.S: Likewise.
13992 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
13993 * grub-core/tests/boot/linux16.cfg: Likewise.
13994 * grub-core/tests/boot/multiboot.cfg: Likewise.
13995 * grub-core/tests/boot/multiboot2.cfg: Likewise.
13996 * grub-core/tests/boot/ntldr.cfg: Likewise.
13997 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
13998 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
13999 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14000 New definition.
14001 * include/grub/dl.h (grub_dl_unload_all): Removed.
14002 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14003 (grub_efi_finish_boot_services): Change prototype.
14004 (grub_efi_is_finished): New variable.
14005 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14006 Changed prototype.
14007 (grub_efiemu_finish_boot_services): Removed.
14008 (grub_machine_efiemu_init_tables): New prototype.
14009 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14010 (grub_elf64_phdr_iterate): Likewise.
14011 * include/grub/i386/bsd.h: Include relocator.h.
14012 (freebsd_tag_header): New struct.
14013 (grub_openbsd_bios_mmap): Removed.
14014 (grub_unix_real_boot): Removed.
14015 (grub_freebsd_load_elfmodule32): Changed prototype.
14016 (grub_freebsd_load_elfmodule_obj64): Likewise.
14017 (grub_freebsd_load_elf_meta32): Likewise.
14018 (grub_freebsd_load_elf_meta64): Likewise.
14019 (grub_freebsd_add_meta): Removed.
14020 (grub_netbsd_load_elf_meta32): New prototype.
14021 (grub_netbsd_load_elf_meta64): Likewise.
14022 (grub_bsd_add_meta): Likewise.
14023 (grub_openbsd_ramdisk_descriptor): New struct.
14024 (grub_openbsd_find_ramdisk32): New prototype.
14025 (grub_openbsd_find_ramdisk64): Likewise.
14026 * include/grub/i386/coreboot/loader.h: Removed.
14027 * include/grub/i386/efi/loader.h: Likewise.
14028 * include/grub/i386/ieee1275/loader.h: Likewise.
14029 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14030 to grub_uint32_t.
14031 * include/grub/i386/loader.h: Removed.
14032 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14033 value.
14034 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14035 (grub_phys_addr_t): New type.
14036 (grub_vtop): New inline function.
14037 (grub_map_memory): Likewise.
14038 (grub_unmap_memory): Likewise.
14039 * include/grub/i386/multiboot/loader.h: Removed.
14040 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14041 (NETBSD_BTINFO_CONSOLE): New definition.
14042 (NETBSD_BTINFO_SYMTAB): Likewise.
14043 (NETBSD_BTINFO_MODULES): Likewise.
14044 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14045 (grub_netbsd_bootinfo): New struct.
14046 (grub_netbsd_btinfo_common): Use explicit bitsize.
14047 (grub_netbsd_btinfo_mmap_entry): Removed.
14048 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14049 (grub_netbsd_btinfo_bootdisk): New struct.
14050 (grub_netbsd_btinfo_symtab): Likewise.
14051 (grub_netbsd_btinfo_serial): Likewise.
14052 (grub_netbsd_btinfo_modules): Likewise.
14053 (grub_netbsd_btinfo_framebuf): Likewise.
14054 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14055 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14056 Likewise.
14057 (grub_openbsd_bootargs): Use explicit bitsize.
14058 (grub_openbsd_bootarg_console): New struct.
14059 (GRUB_OPENBSD_COM_MAJOR): New definition.
14060 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14061 * include/grub/i386/pc/efiemu.h: Removed.
14062 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14063 * include/grub/i386/qemu/loader.h: Removed.
14064 * include/grub/i386/relocator.h: Rewritten.
14065 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
14066 * include/grub/mips/memory.h: New file.
14067 * include/grub/mips/multiboot.h: Rewritten.
14068 * include/grub/mips/relocator.h: Rewritten.
14069 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
14070 (grub_vtop): New function.
14071 (grub_map_memory): Likewise.
14072 (grub_unmap_memory): Likewise.
14073 * include/grub/misc.h (ALIGN_DOWN): New definition.
14074 * include/grub/mm.h (grub_mm_check_real): New proto.
14075 (GRUB_MM_CHECK): New definition.
14076 * include/grub/mm_private.h: New file.
14077 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
14078 (grub_multiboot_get_mbi_size): Removed.
14079 (grub_multiboot_make_mbi): Change prottype.
14080 (grub_multiboot_set_accepts_video): New proto.
14081 (grub_multiboot_add_elfsyms): Likewise.
14082 (grub_multiboot_payload_eip): New variable.
14083 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
14084 New prototype.
14085 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
14086 New definition.
14087 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
14088 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
14089 * include/grub/powerpc/ieee1275/loader.h: Removed.
14090 * include/grub/powerpc/memory.h: New file.
14091 * include/grub/powerpc/relocator.h: Likewise.
14092 * include/grub/relocator.h: Likewise.
14093 * include/grub/relocator_private.h: Likewise.
14094 * include/grub/sparc64/ieee1275/loader.h: Removed.
14095 * include/grub/x86_64/memory.h: New file.
14096 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
14097 (grub_xnu_heap_malloc): Likewise.
14098 (grub_xnu_heap_real_start): Removed.
14099 (grub_xnu_heap_start): Likewise.
14100 (grub_xnu_relocator): New variable.
14101 (grub_xnu_heap_target_start): Likewise.
14102 * tests/util/grub-shell.in: Support non-pc.
14103 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 14104
5303b85d
VS
141052010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14106
14107 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
14108 on malloc error.
14109 (grub_bidi_logical_to_visual): Check that malloc succeded.
14110 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
14111 puts.
14112 (grub_xputs_normal): Likewise.
14113
d768d159
VS
141142010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
14117 extra_dist.
14118
141192010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14120
14121 * grub-core/efiemu/runtime/efiemu.sh: Removed.
14122
5bf84df4
VS
141232010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14124
14125 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
14126
3626810e
VS
141272010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14128
14129 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
14130 dprintf.
14131
a7363f53
BC
141322010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
14133
14134 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
14135
902f75f6
VS
141362010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14137
14138 * grub-core/normal/term.c (print_more): Fix a memory leak.
14139 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
14140 (grub_xputs_normal): Likewise.
14141
3c707967
VS
141422010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14143
14144 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
14145 the begining of the string
14146
2053cc07
VS
141472010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14148
14149 * grub-core/script/script.c (grub_script_parse): Free parsed on
14150 failure.
14151
46422ebf
VS
141522010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14153
14154 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
14155 on failure.
14156
9e0fa3f6
VS
141572010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14158
14159 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
14160 return.
14161
3393cf16
VS
141622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14163
14164 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
14165 (scroll_up): Fix a memory leak.
14166
b17540cb
VS
141672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14168
14169 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
14170 errors.
14171
67140446
VS
141722010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
14173
14174 Handle USB pendrives exposed as floppies.
14175
14176 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
14177 floppy.
14178 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14179 Check for partitions on all devices.
14180
e35e46fc
VS
141812010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
14184 (readkey): Likewise.
14185
d24c6190
BC
141862010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14187
14188 Multiple variable names support to "export" command.
14189
14190 * normal/context.c (grub_cmd_export): "export" command supports
14191 multiple variable names.
14192
04ddcc6a
ST
141932010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
14194
14195 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
14196 --target=drive output to Mach device name.
14197
0c8b61d8
BC
141982010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14199
14200 New Automake based build system for GRUB.
14201
14202 * ABOUT-NLS: New file.
14203 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
14204 in Makefile.util.def file.
14205 * Makefile.util.def: New file. Autogen build definitions file for
14206 GRUB host utils.
14207 * conf/Makefile.common: New file. Common variables for GRUB host
14208 utils and target modules.
14209 * conf/Makefile.extra-dist: New file. Extra files for make dist.
14210 * docs/Makefile.am: New file. Automake file for docs.
14211 * gentpl.py: New file. Python script to generate Autogen
14212 template.
14213 * grub-core/Makefile.am: New file. GRUB target modules' rules
14214 that doesn't fit in Makefile.core.def file.
14215 * grub-core/Makefile.core.def: New file. Autogen build
14216 definitions file for GRUB target modules.
14217 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
14218 specific setjmp.S file.
14219 * po/Makefile.am: New file.
14220
14221 * .bzrignore: New ignores.
14222 * INSTALL: New requirements, without Ruby.
14223 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
14224 * autogen.sh: Updated to invoke autogen as necessary.
14225 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
14226 and defines for Automake conditionals.
14227 * geninit.sh: Refactoring.
14228
14229 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
14230 necessary.
14231 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
14232 New prototype.
14233
14234 * include/grub/test.h: Fix functional test modules' naming.
14235 * grub-core/tests/example_functional_test.c: Fix test module name.
14236
14237 * util/misc.c: Hosted versions' of grub functions for libgrub.a
14238 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
14239 * util/grub-editenv.c: Likewise.
14240 * util/grub-fstest.c: Likewise.
14241 * util/grub-mkdevicemap.c: Likewise.
14242 * util/grub-mkfont.c: Likewise.
14243 * util/grub-mkimage.c: Likewise.
14244 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14245 * util/grub-probe.c: Likewise.
14246 * util/grub-script-check.c: Likewise.
14247 * util/i386/pc/grub-setup.c: Likewise.
14248 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14249
14250 * tests/util/grub-shell.in: Fix override directory path.
14251 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
14252 * util/import_gcry.py: Create Makefile.gcry.def file instead.
14253
14254 * util/lvm.c: Update #includes.
14255 * util/raid.c: Likewise.
14256 * util/resolve.c: Likewise.
14257 * grub-core/bus/emu/pci.c: Likewise.
14258 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
14259 * grub-core/lib/posix_wrap/string.h: Likewise.
14260 * grub-core/kern/emu/main.c: Likewise.
14261
14262 * grub-core/gensymlist.sh: New file. Script for generating kernel
14263 symbols file.
14264 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
14265
14266 * grub-core/gentrigtables.c: Fix unused variable warnings.
14267
14268 * Makefile.in: Removed.
14269 * conf/any-emu.rmk: Removed.
14270 * conf/common.rmk: Removed.
14271 * conf/i386-coreboot.rmk: Removed.
14272 * conf/i386-efi.rmk: Removed.
14273 * conf/i386-ieee1275.rmk: Removed.
14274 * conf/i386-multiboot.rmk: Removed.
14275 * conf/i386-pc.rmk: Removed.
14276 * conf/i386-qemu.rmk: Removed.
14277 * conf/i386.rmk: Removed.
14278 * conf/mips-yeeloong.rmk: Removed.
14279 * conf/mips.rmk: Removed.
14280 * conf/powerpc-ieee1275.rmk: Removed.
14281 * conf/sparc64-ieee1275.rmk: Removed.
14282 * conf/tests.rmk: Removed.
14283 * conf/x86-efi.rmk: Removed.
14284 * conf/x86_64-efi.rmk: Removed.
14285 * gendistlist.sh: Removed.
14286 * geninitheader.sh: Removed.
14287 * genkernsyms.sh.in: Removed.
14288 * genmk.rb: Removed.
14289 * gensymlist.sh.in: Removed.
14290 * mkinstalldirs: Removed.
14291 * boot: Moved ...
14292 * grub-core/boot: ... to here.
14293 * bus: Moved ...
14294 * grub-core/bus: ... to here.
14295 * commands: Moved ...
14296 * grub-core/commands: ... to here.
14297 * disk: Moved ...
14298 * grub-core/disk: ... to here.
14299 * efiemu: Moved ...
14300 * grub-core/efiemu: ... to here.
14301 * font: Moved ...
14302 * grub-core/font: ... to here.
14303 * fs: Moved ...
14304 * grub-core/fs: ... to here.
14305 * gencmdlist.sh: Moved ...
14306 * grub-core/gencmdlist.sh: ... to here.
14307 * genemuinit.sh: Moved ...
14308 * grub-core/genemuinit.sh: ... to here.
14309 * genemuinitheader.sh: Moved ...
14310 * grub-core/genemuinitheader.sh: ... to here.
14311 * genfslist.sh: Moved ...
14312 * grub-core/genfslist.sh: ... to here.
14313 * genhandlerlist.sh: Moved ...
14314 * grub-core/genhandlerlist.sh: ... to here.
14315 * genmoddep.awk: Moved ...
14316 * grub-core/genmoddep.awk: ... to here.
14317 * genmodsrc.sh: Moved ...
14318 * grub-core/genmodsrc.sh: ... to here.
14319 * genpartmaplist.sh: Moved ...
14320 * grub-core/genpartmaplist.sh: ... to here.
14321 * genparttoollist.sh: Moved ...
14322 * grub-core/genparttoollist.sh: ... to here.
14323 * genterminallist.sh: Moved ...
14324 * grub-core/genterminallist.sh: ... to here.
14325 * gentrigtables.c: Moved ...
14326 * grub-core/gentrigtables.c: ... to here.
14327 * genvideolist.sh: Moved ...
14328 * grub-core/genvideolist.sh: ... to here.
14329 * gettext: Moved ...
14330 * grub-core/gettext: ... to here.
14331 * gfxmenu: Moved ...
14332 * grub-core/gfxmenu: ... to here.
14333 * gnulib: Moved ...
14334 * grub-core/gnulib: ... to here.
14335 * hello: Moved ...
14336 * grub-core/hello: ... to here.
14337 * hook: Moved ...
14338 * grub-core/hook: ... to here.
14339 * io: Moved ...
14340 * grub-core/io: ... to here.
14341 * kern: Moved ...
14342 * grub-core/kern: ... to here.
14343 * lib: Moved ...
14344 * grub-core/lib: ... to here.
14345 * loader: Moved ...
14346 * grub-core/loader: ... to here.
14347 * mmap: Moved ...
14348 * grub-core/mmap: ... to here.
14349 * normal: Moved ...
14350 * grub-core/normal: ... to here.
14351 * partmap: Moved ...
14352 * grub-core/partmap: ... to here.
14353 * parttool: Moved ...
14354 * grub-core/parttool: ... to here.
14355 * script: Moved ...
14356 * grub-core/script: ... to here.
14357 * term: Moved ...
14358 * grub-core/term: ... to here
14359 * tests/example_functional_test.c: Moved ...
14360 * grub-core/tests/example_functional_test.c: ... to here.
14361 * tests/lib/functional_test.c: Moved ...
14362 * grub-core/tests/lib/functional_test.c: ... to here.
14363 * tests/lib/test.c: Moved ...
14364 * grub-core/tests/lib/test.c: ... to here.
14365 * video: Moved ...
14366 * grub-core/video: ... to here.
14367
645586e6
BC
143682010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14369
14370 Replace --enable-grub-emu-modules with grub-emu-lite.
14371
14372 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
14373 cache.S.
14374
14375 * include/grub/emu/misc.h (grub_emu_init): New prototype.
14376 * kern/emu/full.c: New file. For grub-emu specific initialization.
14377 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
14378 * kern/emu/main.c: Call initialization function grub_emu_init.
14379
14380 * Makefile.in: Include grub-emu-lite in install.
14381 * commands/parttool.c: Use grub_no_autoload to differentiate
14382 between grub-emu and grub-emu-lite.
14383 * include/grub/misc.h: New variable grub_no_autoload.
14384
14385 * conf/any-emu.rmk: New rules for grub-emu-lite.
14386 * configure.ac: Remove --enable-grub-emu-modules.
14387 * genmk.rb: Cleanup unnecessary rules.
14388 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
14389
14390 * normal/main.c: Don't load list files on grub-emu-lite.
14391 * util/misc.c (grub_arch_sync_caches): Removed.
14392
f86a4030
CW
143932010-08-23 Colin Watson <cjwatson@ubuntu.com>
14394
14395 * kern/mips/startup.S (grub_prefix): Update comment to refer to
14396 grub-mkimage rather than grub-mkelfimage.
14397 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14398
06776944
VS
143992010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14400
14401 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
14402 a key after CapsLock or NumLock. It's just a qemu bug.
14403
df262419
VS
144042010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14405
14406 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
14407 needed by libusb wrapper.
14408
b40ea81b
ST
144092010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14410
14411 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
14412
dee50575
VS
144132010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14414
14415 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
14416 --nounzip is passed.
14417
fb1d7b79
VS
144182010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
14419
14420 USB hotunplugging and USB serial support.
14421
14422 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
14423 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
14424 (grub_uhci_transfer): Respect timeout and set *actual.
14425 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
14426 non-standard length.
14427 (grub_usb_device_attach): Autoload modules.
14428 (GRUB_MOD_INIT): Set grub_term_poll_usb.
14429 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
14430 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
14431 users updated.
14432 (grub_usb_add_hub): Fill nports and children.
14433 (attach_root_port): Receive hub instead of controller.
14434 All users updated. Fill hub->devices.
14435 (grub_usb_root_hub): Allocate hub->devices.
14436 (detach_device): New function.
14437 (poll_nonroot_hub): Fill children and detach devices.
14438 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
14439 actual arguments. All users updated.
14440 (grub_usb_bulk_read_extended): New function.
14441 * bus/usb/serial/common.c: New file.
14442 * bus/usb/serial/ftdi.c: Likewise.
14443 * bus/usb/serial/pl2303.c: Likewise.
14444 * commands/terminal.c (handle_command): Support wildcard.
14445 * commands/usbtest.c: Output "Unknown" instead of empty string.
14446 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
14447 (usbserial_common_mod_SOURCES): New variable.
14448 (usbserial_common_mod_CFLAGS): Likewise.
14449 (usbserial_common_mod_LDFLAGS): Likewise.
14450 (pkglib_MODULES): Add usbserial_pl2303.mod.
14451 (usbserial_pl2303_mod_SOURCES): New variable.
14452 (usbserial_pl2303_mod_CFLAGS): Likewise.
14453 (usbserial_pl2303_mod_LDFLAGS): Likewise.
14454 (pkglib_MODULES): Add usbserial_ftdi.mod.
14455 (usbserial_ftdi_mod_SOURCES): New variable.
14456 (usbserial_ftdi_mod_CFLAGS): Likewise.
14457 (usbserial_ftdi_mod_LDFLAGS): Likewise.
14458 (pkglib_MODULES): Add serial.mod.
14459 (serial_mod_SOURCES): New variable.
14460 (serial_mod_CFLAGS): Likewise.
14461 (serial_mod_LDFLAGS): Likewise.
14462 * conf/i386-pc.rmk: Likewise.
14463 * conf/mips-yeeloong.rmk: Likewise.
14464 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
14465 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14466 * disk/usbms.c (first_available_slot): New variable.
14467 (grub_usbms_attach): Don't reuse free slots due to potential cache
14468 problems.
14469 * include/grub/serial.h: Moved to ..
14470 * include/grub/ns8250.h: ...this.
14471 * include/grub/serial.h: New file.
14472 * include/grub/term.h (grub_term_poll_usb): New variable.
14473 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
14474 readkey. All users updated.
14475 (grub_terminfo_output_state): Pass term to put.
14476 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
14477 (grub_usb_controller_dev): Add timeout and actual arguments to
14478 transfer. All users updated.
14479 (grub_usb_interface): New field detach_data.
14480 (grub_usb_device): New fields children and nports.
14481 (grub_usb_ep_type_t): New type.
14482 (grub_usb_get_ep_type): New function.
14483 (grub_usb_bulk_read_extended): Likewise.
14484 * include/grub/usbdesc.h (grub_usb_desc): New type.
14485 * include/grub/usbserial.h: New file.
14486 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
14487 * kern/term.c (grub_term_poll_usb): New variable.
14488 (grub_getkey): Call grub_term_poll_usb if set.
14489 (grub_checkkey): Likewise.
14490 (grub_getkeystatus): Likewise.
14491 * term/serial.c: Moved controller-specific parts to ...
14492 * term/ns8250.c: ... here.
14493 * term/serial.c: Mostly rewritten.
14494 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
14495 according to spec.
14496
21a313de
RM
144972010-08-20 Robert Millan <rmh@gnu.org>
14498
14499 Make kFreeBSD code more generic to support ext2fs as root, ufs as
14500 a separate module and maybe other interesting combinations.
14501
14502 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
14503 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
14504 (kfreebsd_entry): Add generic filesystem module load routine.
14505 Map GRUB `ext2' to kFreeBSD `ext2fs'.
14506
63c734a6
CW
145072010-08-20 Colin Watson <cjwatson@ubuntu.com>
14508
14509 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
14510 "numcenter" (I misunderstood the purpose of this entry).
14511 * docs/grub.texi (sendkey): Likewise.
14512
c4d16542
CW
145132010-08-20 Colin Watson <cjwatson@ubuntu.com>
14514
14515 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
14516 status flag options; simply omitting the option is equivalent and
14517 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
14518 (keysym_table): Rename "num5numlock" to "numlock".
14519 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
14520 can uniformly say that only the last of multiple `sendkey'
14521 invocations has any effect.
14522 * docs/grub.texi (sendkey): New section.
14523
93541d66
CW
145242010-08-19 Colin Watson <cjwatson@ubuntu.com>
14525
14526 * commands/i386/pc/sendkey.c (options): Fix three typos.
14527
b4ece5e1
VS
145282010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14529
14530 Implement sendkey support.
14531
14532 * commands/i386/pc/sendkey.c: New file.
14533 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
14534 (sendkey_mod_SOURCES): New variable.
14535 (sendkey_mod_CFLAGS): Likewise.
14536 (sendkey_mod_LDFLAGS): Likewise.
14537
51f1f5af
CW
145382010-08-18 Colin Watson <cjwatson@ubuntu.com>
14539
14540 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
14541 fix warnings from Autoconf.
14542
9da94e05
CW
145432010-08-18 Colin Watson <cjwatson@ubuntu.com>
14544
14545 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
14546 to avoid false positives with some assemblers that output things
14547 like "someprefix_func" as part of their output.
14548
729a0f2e
RM
145492010-08-15 Robert Millan <rmh@gnu.org>
14550
14551 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
14552 errors.
14553 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
14554 grub_get_libzfs_handle() errors.
14555
f3710e08
RM
145562010-08-14 Robert Millan <rmh@gnu.org>
14557
14558 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
14559 filesystem is not ZFS.
14560
7a3c13de
BC
145612010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14562
14563 Fix for misspelled color names defaulting to black/black (bug
14564 reported by Doug Nazar)
14565
14566 * include/grub/normal.h (grub_parse_color_name_pair): Add return
14567 status to prototype.
14568 * normal/color.c (grub_parse_color_name_pair): Return failure
14569 status.
14570 (grub_env_write_color_normal): Ignore bad color names.
14571 (grub_env_write_color_highlight): Likewise.
14572 * normal/main.c (GRUB_MOD_INIT): Set default color names.
14573
ab8ba50d
BC
145742010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14575
14576 "shift" command support to GRUB script.
14577
14578 * include/grub/script_sh.h (grub_script_shift): New prototype.
14579 * script/execute.c (grub_script_shift): New function.
14580 * script/main.c (grub_script_init): Register shift command.
14581 (grub_script_fini): Unregister shift command.
14582 * util/grub-script-check.c (grub_script_cmd_shift): New function.
14583
14584 * tests/grub_script_shift.in: New testcase.
14585 * conf/tests.rmk: Rules for new testcase.
14586
4d61999e
BC
145872010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14588
14589 "continue" command support to GRUB script.
14590
14591 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
14592 (grub_script_break): Continue support.
14593 * script/main.c (grub_script_init): Register continue command.
14594 (grub_script_fini): Unregister continue command.
14595
14596 * tests/grub_script_continue.in: New testcase.
14597 * conf/tests.rmk: Rules for new testcase.
14598
4df51e00
BC
145992010-08-12 BVK Chaitanya <bvk@dbook>
14600
14601 "break" command support to GRUB script.
14602
14603 * conf/common.rmk: Rule updates to grub-script-check.
14604 * include/grub/misc.h (grub_min): New function.
14605 * include/grub/script_sh.h (grub_script_init): New prototype.
14606 (grub_script_fini): New prototype.
14607 (grub_script_break): New prototype.
14608 * script/main.c (grub_script_init): New function.
14609 (grub_script_fini): New function.
14610 * script/execute.c (grub_script_break): New function.
14611 * normal/main.c: Calls to grub_script_{init,fini}.
14612 * util/grub-script-check.c (grub_script_break): New function.
14613
14614 * tests/grub_script_break.in: New testcase.
14615 * conf/tests.rmk: Rules for new test case.
14616
f12c8420
BC
146172010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14618
14619 Function parameters support to GRUB script.
14620
14621 * script/yylex.l (VARIABLE): Regular expression update.
14622 * script/function.c (grub_script_function_call): Moved ...
14623 * script/execute.c (grub_script_function_call): ... to here.
14624 (grub_script_execute_arglist_to_argv): Removed.
14625 (grub_script_arglist_to_argv): New function.
14626 * script/argv.c: New file.
14627 (grub_script_argv_free): New function.
14628 (grub_script_argv_next): Likewise.
14629 (grub_script_argv_append): Likewise.
14630 (grub_script_argv_split_append): Likewise.
14631 * include/grub/script_sh.h (grub_script_argv): New struct.
14632 (grub_script_argv_free): New function.
14633 (grub_script_argv_next): Likewise.
14634 (grub_script_argv_append): Likewise.
14635 (grub_script_argv_split_append): Likewise.
14636
14637 * conf/common.rmk (normal.mod): New source script/argv.c.
14638
14639 * tests/grub_script_echo1.in: More tests.
14640 * tests/grub_script_vars1.in: Likewise.
14641 * tests/grub_script_functions.in: New test case.
14642 * conf/tests.rmk: Rules for new testcase.
14643
8022b748
BC
146442010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14645
14646 Remove grub_script_cmdblock struct.
14647
14648 * include/grub/script_sh.h: Remove grub_script_cmdblock.
14649 * script/parser.y: Likewise.
14650 * script/execute.c: Rename cmdblock suffix to cmdlist.
14651 * script/script.c: Likewise.
14652 * util/grub-script-check.c: Likewise.
14653
79a6ba61
YB
146542010-08-11 Yves Blusseau <blusseau@zetam.org>
14655
14656 * .bzrignore: add grub-macho2img
14657
d04b9414
VS
146582010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14659
14660 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
14661
f947ab49
VS
146622010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14663
14664 Remove the dump of sm712 initialisation sequence.
14665
14666 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
14667 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
14668 (GRUB_VGA_IO_MISC_WRITE): Likewise.
14669 (GRUB_VGA_CR_*): Added many registers.
14670 (GRUB_VGA_SR_*): Likewise.
14671 (GRUB_VGA_GR_*): Likewise.
14672 (grub_vga_write_arx): New function.
14673 (grub_video_hw_config): New struct.
14674 (grub_vga_set_geometry): New function.
14675 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
14676 GRUB_PCI_CLASS_SUBCLASS_VGA.
14677 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
14678 * video/sm712.c (grub_sm712_write_reg): New function
14679 (grub_sm712_read_reg): Likewise.
14680 (grub_sm712_sr_write): Likewise.
14681 (grub_sm712_gr_write): Likewise.
14682 (grub_sm712_cr_write): Likewise.
14683 (grub_sm712_write_arx): Likewise.
14684 (grub_sm712_cr_shadow_write): Likewise.
14685 (grub_sm712_write_dda_lookup): Likewise.
14686 (grub_video_sm712_setup): Initialise the video rather then
14687 blindly replay the dump.
14688 (main) [TEST]: Add a routine to be able to compile as standalone for
14689 tests.
14690 * video/sm712_init.c (sm712_init): Removed.
14691 (sm712_sr_seq1): New array.
14692 (sm712_sr_seq2): Likewise.
14693
f0206638
VS
146942010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 * include/grub/vga.h: Add missing grub/pci.h include.
14697
2764da3b
YB
146982010-08-10 Yves Blusseau <blusseau@zetam.org>
14699
14700 * util/grub-macho2img.c (main): fix typo
14701
cf0c775e
VS
147022010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14703
14704 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
14705 (grub_vga_gr_read): Likewise.
14706 (grub_vga_cr_write): Likewise.
14707 (grub_vga_cr_read): Likewise.
14708 (grub_vga_sr_write): Likewise.
14709 (grub_vga_sr_read): Likewise.
14710 (grub_vga_palette_read): Likewise.
14711 (grub_vga_palette_write): Likewise.
14712 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
14713 (grub_sm712_sr_read): New function.
14714 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
14715 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
14716
07f360e9
RM
147172010-08-09 Robert Millan <rmh@gnu.org>
14718
14719 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
14720 out unused variables on non-ZFS build.
14721
346c2072
RM
147222010-08-08 Robert Millan <rmh@gnu.org>
14723
14724 Fix path generation for sub-filesystems in ZFS.
14725
14726 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
14727 missing slash.
14728
71175420
RM
147292010-08-08 Robert Millan <rmh@gnu.org>
14730
14731 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
14732
0d8286f3
RM
147332010-08-08 Robert Millan <rmh@gnu.org>
14734
14735 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
14736 exist, issue a proper error message (rely on `ls' for translated
14737 strings).
14738
55dd2924
RM
147392010-08-08 Robert Millan <rmh@gnu.org>
14740
14741 Fix grub-probe invocation.
14742
14743 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
14744
d3dd9e80
RM
147452010-08-04 Robert Millan <rmh@gnu.org>
14746
14747 * configure.ac: Remove checks for getfsstat() and getmntany().
14748 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
14749 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
14750 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
14751 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
14752 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
14753 function.
14754 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
14755 via find_mount_point_from_dir() and getfsstat() / getmntany().
14756
0de22aa9
RM
147572010-08-04 Robert Millan <rmh@gnu.org>
14758
14759 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14760 (grub_find_zpool_from_mount_point): Merge into ...
14761 (grub_find_zpool_from_dir): ... this.
14762 * kern/emu/misc.c: Likewise.
14763
14764 * kern/emu/misc.c
14765 (grub_make_system_path_relative_to_its_root): Replace
14766 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
14767 with grub_find_zpool_from_dir().
14768 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
14769
62858144
RM
147702010-08-04 Robert Millan <rmh@gnu.org>
14771
14772 Support OpenSolaris in ZFS device resolution.
14773
14774 * configure.ac: Check for getmntany().
14775 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
14776 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
14777 support.
14778
9dd6fd50
RM
147792010-08-03 Robert Millan <rmh@gnu.org>
14780
14781 Fix grub-emu build.
14782
14783 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
14784 * include/grub/emu/misc.h: ... here.
14785
14786 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
14787 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
14788
14789 * util/misc.c: Remove `<grub/util/libzfs.h>'.
14790 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
14791 (grub_get_libzfs_handle): Move to ...
14792 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
14793 (grub_get_libzfs_handle): ... here.
14794
c9f7ff97
BC
147952010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
14796
14797 * script/execute.c (grub_script_execute_cmdline): Check for NULL
14798 as command name case.
14799
a870a783
CW
148002010-08-02 Colin Watson <cjwatson@ubuntu.com>
14801
14802 * disk/raid.c (insert_array): Select unique numbers for named arrays
14803 as well, for use as keys in the disk cache.
14804
c7db243b
RM
148052010-08-01 Robert Millan <rmh@gnu.org>
14806
14807 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
14808 kFreeBSD device name, except on ZFS where the filesystem label is
14809 used.
14810 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
14811 `/boot/zfs/zpool.cache'.
14812 Set mountfrom kernel variable using ${kfreebsd_device}.
14813
f7abdefb
RM
148142010-08-01 Robert Millan <rmh@gnu.org>
14815
14816 Make it even harder to use uninitialized `libzfs_handle' (and
14817 make the interface a bit simpler).
14818
14819 * include/grub/util/misc.h (grub_util_init_libzfs)
14820 (libzfs_handle): Remove.
14821 (grub_get_libzfs_handle): New prototype.
14822
14823 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
14824 attribute.
14825 (grub_util_init_libzfs): Remove.
14826 (grub_get_libzfs_handle): New function.
14827
14828 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
14829 grub_get_libzfs_handle() to obtain a libzfs handle instead of
14830 accessing `libzfs_handle' directly.
14831
c882acc0
RM
148322010-08-01 Robert Millan <rmh@gnu.org>
14833
14834 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14835 (grub_find_zpool_from_mount_point): New function prototypes.
14836
14837 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14838 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14839
14840 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14841 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14842 `static' attribute.
14843
14844 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14845 finding zpool from mount point into ...
14846 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14847
14848 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14849 requested path is part of a ZFS pool, use
14850 grub_find_zpool_from_mount_point() to detect its filesystem name,
14851 and generate a path with `/fsname@path' syntax.
14852
8bfe31d8
CW
148532010-08-01 Colin Watson <cjwatson@ubuntu.com>
14854
14855 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
14856 (void) rather than () so that this is a proper prototype.
14857
553df63d
VS
148582010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14859
14860 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
14861
8687cf07
VS
148622010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14863
14864 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
14865 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
14866
ea9be8ea
CW
148672010-08-01 Colin Watson <cjwatson@ubuntu.com>
14868
14869 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
14870
6eea041a
CW
148712010-08-01 Colin Watson <cjwatson@ubuntu.com>
14872
14873 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
14874
2cfb45df
CW
148752010-08-01 Colin Watson <cjwatson@ubuntu.com>
14876
14877 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
14878 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
14879 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
14880 disable gfxpayload.
14881 (Shell-like scripting): Add real content.
14882 (Serial terminal): Suggest `terminal_input serial; terminal_output
14883 serial' rather than putting the two commands on separate lines,
14884 since console input will be inoperative after the first command.
14885 (menuentry): Document --class, --users, and --hotkey options.
14886 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
14887 Vladimir Serbinenko).
14888
7decd202
VS
148892010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
148902010-08-01 Colin Watson <cjwatson@ubuntu.com>
14891
14892 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
14893
c882acc0
RM
148942010-08-01 Robert Millan <rmh@gnu.org>
14895
14896 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14897 (grub_find_zpool_from_mount_point): New function prototypes.
14898
14899 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14900 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14901
14902 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14903 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14904 `static' attribute.
14905
14906 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14907 finding zpool from mount point into ...
14908 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14909
14910 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14911 requested path is part of a ZFS pool, use
14912 grub_find_zpool_from_mount_point() to detect its filesystem name,
14913 and generate a path with `/fsname@path' syntax.
14914
deb0caa3
RM
149152010-08-01 Robert Millan <rmh@gnu.org>
14916
14917 Prevent accidental use of uninitialized libzfs_handle.
14918
14919 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
14920 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
14921 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
14922
ce04ef47
CW
149232010-08-01 Colin Watson <cjwatson@ubuntu.com>
14924
14925 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
14926 util/grub.d/10_linux.in). Fixes Debian bug #591093.
14927
ebf53056
RM
149282010-08-01 Robert Millan <rmh@gnu.org>
14929
14930 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 14931
3710bb6b
RM
149322010-07-31 Robert Millan <rmh@gnu.org>
14933
14934 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
14935
8072efeb
RM
149362010-07-31 Robert Millan <rmh@gnu.org>
14937
14938 * kern/emu/misc.c: Add missing license header.
14939
3169f4c7
RM
149402010-07-31 Robert Millan <rmh@gnu.org>
14941
14942 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
14943
14944 * include/grub/util/libnvpair.h: Include `<config.h>'.
14945 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
14946 declaring libnvpair prototypes ourselves.
14947 * include/grub/util/libzfs.h: Include `<config.h>'.
14948 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
14949 declaring libzfs prototypes ourselves.
14950
14951 (libzfs_handle): Moved to ...
14952 * include/grub/util/misc.h (libzfs_handle): ... here.
14953 Include `<grub/util/libzfs.h>'.
14954
c9a00aee
RM
149552010-07-30 Robert Millan <rmh@gnu.org>
14956
14957 * include/grub/emu/misc.h: Add missing license header.
14958
a184f9c8
RM
149592010-07-30 Robert Millan <rmh@gnu.org>
14960
14961 Enable `grub-probe -t device' resolution on ZFS.
14962
14963 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
14964 * include/grub/util/libnvpair.h: New file.
14965 * include/grub/util/libzfs.h: New file.
14966
14967 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
14968 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
14969 `<grub/util/libnvpair.h>'.
14970 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
14971
14972 (find_mount_point_from_dir): New static function.
14973 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
14974 function.
14975 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
14976 find_root_device_from_libzfs() before ressorting to find_root_device().
14977
14978 * include/grub/util/misc.h (grub_util_init_libzfs): New function
14979 prototype.
14980 * util/misc.c: Include `<grub/util/libzfs.h>'.
14981 (grub_util_init_libzfs): New function.
14982 [HAVE_LIBZFS] (libzfs_handle): New global variable.
14983 [HAVE_LIBZFS] (fini_libzfs): New static function.
14984 (grub_util_init_libzfs): New function.
14985 * util/grub-probe.c (main): Call grub_util_init_libzfs().
14986
f7790cdd
RM
149872010-07-30 Robert Millan <rmh@gnu.org>
14988
14989 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
14990 (xmalloc, xrealloc, xstrdup, xasprintf): Add
14991 `warn_unused_result' attribute.
14992 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
14993 (grub_xasprintf, grub_xvasprintf): Likewise.
14994 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
14995
0806b63c
RM
149962010-07-29 Robert Millan <rmh@gnu.org>
14997
14998 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
14999 (probe): Handle `PRINT_FS_LABEL'.
15000 (main): Handle `-t fs_label'.
15001
9f841f5c
RM
150022010-07-29 Robert Millan <rmh@gnu.org>
15003
15004 * configure.ac: Remove grub-mkisofs checks.
15005
46371121
VS
150062010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15007
15008 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15009 Reported by: Lennart Sorensen.
15010
150112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15012
15013 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15014 prior to terminal_input/terminal_output separation. It's been over 1.5
15015 years and those versions weren't widely deployed.
15016
a9600892
CW
150172010-07-22 Colin Watson <cjwatson@ubuntu.com>
15018
15019 * disk/raid.c (insert_array): Don't count named arrays when looking
15020 for unused array numbers.
697e053c 15021 Reported and tested by: Michael Guntsche.
a9600892 15022
c03507df
CW
150232010-07-20 Colin Watson <cjwatson@ubuntu.com>
15024
15025 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15026 implementation of this so that grub-emu links again, with a note
15027 that this should support hotplugging in the future.
15028
b26f1c11
CW
150292010-07-20 Colin Watson <cjwatson@ubuntu.com>
15030
15031 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15032
efc9d7f1
CW
150332010-07-20 Colin Watson <cjwatson@ubuntu.com>
15034
15035 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15036 handle on failure.
15037 (grub_loopback_close): Remove empty function.
15038 (grub_loopback_dev): Remove close method.
15039
dd8ff5c9
CW
150402010-07-20 Colin Watson <cjwatson@ubuntu.com>
15041
15042 Disable EFI cursor when the EFI console becomes inactive.
15043
15044 * term/efi/console.c (grub_efi_console_init): New function.
15045 (grub_efi_console_fini): New function.
15046 (grub_console_term_output): Register init and fini methods.
15047
5e3bec67
VS
150482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15049
15050 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15051 sh script.
15052
afaec079
VS
150532010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 * disk/loopback.c (grub_loopback): Replace filename with file.
15056 (delete_loopback): Handle new semantics.
15057 (grub_cmd_loopback): Likewise.
15058 (grub_loopback_iterate): Likewise.
15059 (grub_loopback_close): Likewise.
15060
a6a11f3c
VS
150612010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15062
15063 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
15064 with -p "".
15065 Reported by: Tito Keitel.
15066
64a638b0
VS
150672010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15068
15069 * docs/grub.texi (Naming convention): Document new naming convention.
15070
ab8ba957
VS
150712010-07-20 Vadim Solomin <vadic052@gmail.com>
150722010-07-20 Colin Watson <cjwatson@ubuntu.com>
15073
15074 Generate device.map in something closer to the old ordering.
15075
15076 * util/deviceiter.c (struct device): New declaration.
15077 (compare_file_names): Rename to ...
15078 (compare_devices): ... this. Sort by kernel name in preference to
15079 the stable by-id name, but keep the latter as a fallback comparison.
15080 Update header comment.
15081 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
15082 of `struct device' rather than of plain file names.
15083
a29d6a4b
TF
150842010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
15085
15086 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
15087 on i386.
15088
39d824e8
VS
150892010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 * commands/acpi.c (setup_common_tables): Use sizeof instead of
15092 hardcoding size.
15093 (setv1table): Likewise.
15094
f058276b
FZ
150952010-07-20 Colin Watson <cjwatson@ubuntu.com>
15096
15097 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
15098 removing the homehost if present.
15099 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
15100 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
15101 removing the homehost if present.
15102 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
15103 if possible.
15104 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
15105
15106 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
15107 parameter. Set its pointer target to 0.
15108 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
15109 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
15110 `data_offset' value from the superblock for 1.x metadata.
15111 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
15112 data on the device.
15113 (insert_array): Record the start sector of data on the device.
15114 (grub_raid_register): Pass start_sector parameters to
15115 grub_raid_list->detect and insert_array.
15116 * include/grub/raid.h (struct grub_raid_array): Add start_sector
15117 member.
15118 (struct grub_raid): Add start_sector parameter to `detect'.
15119
15120 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
15121 __attribute__ ((packed)), leaving a comment.
15122 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
15123 (grub_mdraid_detect_09): ... here and ...
15124 (grub_mdraid_detect_1x): ... here.
15125
151262010-07-20 Peter Henn <peter.henn@web.de>
15127
15128 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
15129 chunk size and disk size, which are already given as sector counts
15130 as distinct from the 0.90 units. Fetch the correct device number
15131 from the role table instead of using the table index.
15132
151332010-07-20 Felix Zielcke <fzielcke@z-51.de>
15134
15135 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
15136 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
15137 (WriteMostly1): New macro.
15138 Set array->name to NULL for metadata format 0.90. Add support for
15139 metadata 1.x. Fix some comments.
15140 * disk/raid.c (): Add support for name based RAID arrays. Fix a
15141 few comments.
15142 * util/getroot.c (grub_util_get_grub_dev): Add support for
15143 /dev/md/name style devices.
15144
4b761da9
CW
151452010-07-20 Colin Watson <cjwatson@ubuntu.com>
15146
15147 * .bzrignore: Ignore 20_linux_xen.
15148
5771289a
CW
151492010-07-17 Colin Watson <cjwatson@ubuntu.com>
15150
15151 * util/import_unicode.py: Remove unnecessary imports.
15152
5dab68df
AN
151532010-07-17 Aleš Nesrsta <starous@volny.cz>
15154
15155 Hotplugging and USB hub support.
15156
15157 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
15158 (grub_ohci): Likewise.
15159 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
15160 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
15161 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
15162 (GRUB_OHCI_CTRL_EDS): Likewise.
15163 (GRUB_OHCI_BULK_EDS): Likewise.
15164 (GRUB_OHCI_TDS): Likewise.
15165 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
15166 (grub_ohci_ed_phys2virt): New function.
15167 (grub_ohci_virt_to_phys): Likewise.
15168 (grub_ohci_td_phys2virt): Likewise.
15169 (grub_ohci_td_virt2phys): Likewise.
15170 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
15171 attachment.
15172 (grub_ohci_find_ed): New function.
15173 (grub_ohci_alloc_td): Likewise.
15174 (grub_ohci_free_td): Likewise.
15175 (grub_ohci_free_tds): Likewise.
15176 (grub_ohci_transfer): Use previously allocated memory.
15177 (grub_ohci_portstatus): Reset status changed bit.
15178 (grub_ohci_detect_dev): Supply status changed.
15179 (grub_ohci_fini_hw): Free memory.
15180 (grub_ohci_restore_hw): Reallocate memory.
15181 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
15182 Reset status change.
15183 (grub_uhci_detect_dev): Supply status_change.
15184 * bus/usb/usb.c (attach_hooks): New var.
15185 (grub_usb_device_attach): New function.
15186 (grub_usb_register_attach_hook_class): Likewise.
15187 (grub_usb_unregister_attach_hook_class): Likewise.
15188 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
15189 (grub_usb_add_hub): Reset connection changed bit.
15190 (attach_root_port): New function.
15191 (grub_usb_root_hub): Likewise.
15192 (poll_nonroot_hub): Likewise.
15193 (grub_usb_poll_devices): Likewise.
15194 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
15195 * disk/usbms.c (grub_usbms_open): Use device hooks.
15196 (grub_usbms_iterate) :Poll devices.
15197 (grub_usbms_finddevs): Split into ...
15198 (grub_usbms_attach): ... this ...
15199 (grub_usbms_attach): ... and this.
15200 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
15201 in detect_dev.
15202 (grub_usb_interface): New fields attached and detach_hook.
15203 (grub_usb_attach_hook_class): New type.
15204 (grub_usb_attach_desc): New struct.
15205 (grub_usb_register_attach_hook_class): New function.
15206 (grub_usb_unregister_attach_hook_class): Likewise.
15207 (grub_usb_poll_devices): Likewise.
15208 (grub_usb_device_attach): Likewise.
15209 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
15210 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
15211
3222efaf
VS
152122010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15213
15214 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
15215 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
15216 delta determination style. Works with most NetBSD partitions too.
15217
139b714a
VS
152182010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15219
15220 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
15221 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
15222
986aad56
VS
152232010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15224
15225 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
15226
99be513c
AB
152272010-07-14 Anton Blanchard <anton@samba.org>
15228
15229 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
15230 ET_DYN files.
15231
18075f62
GS
152322010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15233
15234 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
15235
8d9a5b15
GS
152362010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15237
15238 * kern/partition.c (grub_partition_check_containment): New function to
15239 check that a partition is physically contained in a parent. Since
15240 offsets are relative (and non-negative), this reduces to checking that
15241 the partition ends before its parent.
15242 (grub_partition_map_probe): Discard out-of-range sub-partitions.
15243 (grub_partition_iterate): Likewise.
15244 * include/grub/partition.h (grub_partition_map): Slightly more detailed
15245 comments.
15246 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
15247 partitions that start before their parent, and add debug printfs.
15248
19563c25
CW
152492010-07-13 Colin Watson <cjwatson@ubuntu.com>
15250
15251 * Makefile.in (.SUFFIX): Spell correctly, as ...
15252 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
15253 bare module name without `.mod', e.g. `test') tried to invoke a
15254 Modula-2 compiler.
15255
1a1f1e67
CW
152562010-07-13 Colin Watson <cjwatson@ubuntu.com>
15257
15258 * README: Point to the Info manual.
15259
811b0dca
JS
152602010-07-13 Jiro SEKIBA <jir@unicus.jp>
15261
15262 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
15263 2nd superblock position from partition size.
15264
e4f4eafc
CW
152652010-07-10 Colin Watson <cjwatson@ubuntu.com>
15266
15267 * Makefile.in (MAINTAINER_CLEANFILES): Remove
15268 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
15269 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
15270 outputs.
15271
4274c30f
VS
152722010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15273
15274 Restructure SCSI .id handling.
15275 Reported and tested by: Aleš Nesrsta.
15276
15277 * disk/ata.c (grub_atapi_close): Removed. All users updated.
15278 (grub_atapi_dev): Changed .name to "ata". New field .id.
15279 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
15280 (grub_usbms_dev): New field .id.
15281 * disk/scsi.c (grub_scsi_iterate): Generate name.
15282 (grub_scsi_open): Parse name.
15283 * include/grub/scsi.h (grub_make_scsi_id): New function.
15284 (grub_scsi_dev): Change iterate and open to number instead of naming
15285 busses. All users updated.
15286 (grub_scsi): Remove name. Add .bus.
15287
5bc24388
VS
152882010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15289
15290 * commands/help.c (grub_cmd_help): Fix a typo.
15291
249975ba
VS
152922010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15293
15294 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
15295 Reported and tested by: Colin Watson.
15296
3eaac1a1
VS
152972010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15298
15299 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
15300 in this context.
15301
becce1b1
VS
153022010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15303
15304 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
15305
f7bf0918
CW
153062010-07-07 Colin Watson <cjwatson@ubuntu.com>
15307
15308 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
15309 indentation.
15310
0b0f9620
CW
153112010-07-06 Colin Watson <cjwatson@ubuntu.com>
15312
15313 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
15314 and disk/raid6_recover.c.
15315 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15316 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15317
1e545469
CW
153182010-07-06 Colin Watson <cjwatson@ubuntu.com>
15319
15320 * term/gfxterm.c (repaint_schedulded): Rename to ...
15321 (repaint_scheduled): ... this. Update all callers.
15322 (repaint_was_schedulded): Rename to ...
15323 (repaint_was_scheduled): ... this. Update all callers.
15324
5357687a
CW
153252010-07-06 Colin Watson <cjwatson@ubuntu.com>
15326
15327 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
15328 which we expect to be handled by upper layers.
15329
29d7e783
BC
153302010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
15331
15332 * bus/usb/usbhub.c: #include time.h header.
15333
37582066
CW
153342010-07-06 Colin Watson <cjwatson@ubuntu.com>
15335
15336 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
15337 entry_name also for entries without stat blocks (e.g. ".."); fixes
15338 corruption of the first entry in a directory.
15339
c8c06953
CW
153402010-07-06 Colin Watson <cjwatson@ubuntu.com>
15341
15342 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
15343 after setting gfxterm as the active terminal. GRUB_BACKGROUND
15344 doesn't work otherwise.
15345
e75056f1
CW
153462010-07-05 Colin Watson <cjwatson@ubuntu.com>
15347
15348 * docs/grub.texi (Features): Update list of supported file systems.
15349 (GNU/Linux): Update for GRUB 2.
15350 (Serial terminal): Remove mention of --disable-serial, which was a
15351 GRUB Legacy configure option. Update instructions to use
15352 `terminal_input' and `terminal_output' rather than `terminal'.
15353 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
15354 configuration' and `Installing GRUB using grub-install'.
15355 (Menu entry editor): Update for GRUB 2.
15356 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
15357 Document new -a, -u, and -v options.
15358 (initrd): New section.
15359 (initrd16): New section.
15360 (linux): New section.
15361 (linux16): New section.
15362 (search): The `var' argument to `--set' is optional.
15363 (GRUB only offers a rescue shell): Go into a little more detail on
15364 drive ordering.
15365
5cf69151
CW
153662010-07-05 Colin Watson <cjwatson@ubuntu.com>
15367
15368 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
15369
e3f90044
CW
153702010-07-05 Colin Watson <cjwatson@ubuntu.com>
15371
15372 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
15373 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
15374
38d8f4f3
CW
153752010-07-05 Colin Watson <cjwatson@ubuntu.com>
15376
15377 * util/i386/pc/grub-setup.c (setup): Rename prefix to
15378 install_prefix, in line with install_dos_part and install_bsd_part.
15379 Add new prefix variable, which is copied to install_prefix after
15380 comparing core.img in memory with the one read from disk in the
15381 no-embedding case, and use that rather than overwriting
15382 install_prefix immediately when installing to a partition.
15383 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
15384 Bicakci.
15385
57ebd41e
GS
153862010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15387
15388 * configure.ac: Avoid == in test command, it's not portable.
15389 * util/grub.d/30_os-prober.in: Likewise.
15390
cb7f64b2
CW
153912010-07-04 Colin Watson <cjwatson@ubuntu.com>
15392
15393 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
15394
6b654bb0
GS
153952010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15396
15397 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
15398 multiple (top-level) partmaps.
15399
72a2026d
VS
154002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15401
15402 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 15403 Reported by: Tino Keitel.
72a2026d 15404
df3eb88f
VS
154052010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15406
15407 Bidi and diacritics support.
15408
15409 * Makefile.in (widthspec.bin): New target.
15410 (widthspec.h): Likewise.
15411 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
15412 * autogen.sh: Generate unidata.c.
15413 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
15414 * commands/ls.c (grub_ls_list_devices): Likewise.
15415 (grub_ls_list_files): Likewise.
15416 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
15417 (grub_mini_cmd_lsmod): Likewise.
15418 * commands/read.c: Likewise.
15419 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
15420 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
15421 * lib/arg.c (grub_arg_show_help): Likewise.
15422 * lib/crypto.c (grub_password_get): Likewise.
15423 * normal/auth.c (grub_username_get): Likewise.
15424 * normal/misc.c (grub_normal_print_device_info): Likewise.
15425 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
15426 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
15427 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
15428 (normal/charset.c_DEPENDENCIES): New variable.
15429 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
15430 (pkglib_MODULES): Remove charset.mod.
15431 (charset_mod_SOURCES): Removed.
15432 (charset_mod_CFLAGS): Likewise.
15433 (charset_mod_LDFLAGS): Likewise.
15434 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
15435 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
15436 and term/tparm.c.
15437 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15438 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15439 (kernel_img_HEADERS): Add terminfo.h.
15440 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
15441 Fill ->font. Reverse ascii bitmaps.
15442 (grub_font_get_xheight): New function.
15443 * font/font.c (grub_font_get_string_width): Moved from here ...
15444 * gfxmenu/font.c (grub_font_get_string_width): ... here.
15445 * font/font.c (grub_font_draw_string): Moved from here ...
15446 * gfxmenu/font.c (grub_font_draw_string): ... here.
15447 * font/font.c (grub_font_dup_glyph): New function.
15448 (grub_font_blit_glyph): Likewise.
15449 (grub_font_blit_glyph_mirror): Likewise.
15450 (blit_comb): Likewise.
15451 (grub_font_construct_dry_run): Likewise.
15452 (grub_font_get_constructed_device_width): Likewise.
15453 (grub_font_construct_glyph): Likewise.
15454 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
15455 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
15456 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
15457 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
15458 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
15459 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
15460 (grub_font_get_xheight): New proto.
15461 (grub_font_get_constructed_device_width): Likewise.
15462 (grub_font_construct_glyph): Likewise.
15463 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
15464 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
15465 * include/grub/font.h (grub_font_draw_string): Moved from here ...
15466 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
15467 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
15468 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
15469 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
15470 (grub_console_getcharwidth): Likewise.
15471 * include/grub/misc.h (grub_xputs): New proto.
15472 (grub_puts): Inlined.
15473 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
15474 (grub_normal_get_line_counter): Removed.
15475 (grub_install_newline_hook): Likewise.
15476 (grub_normal_get_char_counter): New proto.
15477 (grub_normal_reset_more): Likewise.
15478 (grub_xputs_normal): Likewise.
15479 * include/grub/powerpc/ieee1275/console.h: Removed.
15480 * include/grub/sparc64/ieee1275/console.h: Likewise.
15481 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
15482 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
15483 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
15484 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
15485 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
15486 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
15487 (grub_term_input): Pass reference to self. All users updated.
15488 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
15489 Pass reference to self. New fields normal_color, highlight_color and
15490 data. All users updated.
15491 (grub_putchar): Removed.
15492 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
15493 (grub_unicode_estimate_width): New function.
15494 (grub_term_getcharwidth): Add defaults.
15495 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
15496 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
15497 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
15498 (grub_cls): Remove EXPORT_FUNC.
15499 (grub_setcolorstate): Inline.
15500 (grub_newline_hook): Removed.
15501 * include/grub/terminfo.h: Rewritten. All users updated.
15502 * include/grub/unicode.h: New file.
15503 * include/grub/video.h (grub_video_signed_rect): New type.
15504 * kern/emu/console.c (grub_console_highlight_color): Removed.
15505 (grub_console_normal_color): Likewise.
15506 (grub_console_standard_color): Made static.
15507 (grub_ncurses_putchar): Remove mapping.
15508 (grub_ncurses_getcharwidth): Removed.
15509 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15510 (grub_ncurses_setcolor): Removed.
15511 (grub_ncurses_getcolor): Likewise.
15512 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
15513 (grub_console_putchar): ... this.
15514 (grub_console_putchar): Handle argument difference.
15515 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
15516 console_init_early and console_init_lately.
15517 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
15518 * kern/misc.c (grub_puts): Removed.
15519 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
15520 (grub_vsnprintf_real): Remove str = NULL support.
15521 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
15522 * normal/charset.c (grub_utf8_to_ucs4): ... here.
15523 * kern/term.c (grub_putcode): Renamed to ...
15524 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
15525 (grub_putchar): Removed.
15526 (grub_xputs_dumb): New function.
15527 (grub_xputs): New variable.
15528 * lib/charset.c: Move from here ...
15529 * normal/charset.c: ... to here.
15530 (grub_ucs4_to_utf8): New function.
15531 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
15532 (join_types): New variable.
15533 (unpack_join): New function.
15534 (bidi_types): New variable.
15535 (unpack_bidi): New function.
15536 (get_bidi_type): Likewise.
15537 (get_join_type): Likewise.
15538 (is_mirrored): Likewise.
15539 (grub_unicode_get_comb_type): Likewise.
15540 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
15541 (is_type_after): Likewise.
15542 (grub_unicode_aglomerate_comb): Likewise.
15543 (bidi_line_wrap): Likewise.
15544 (grub_bidi_line_logical_to_visual): Likewise.
15545 (grub_bidi_logical_to_visual): Likewise.
15546 (grub_unicode_mirror_code): Likewise.
15547 (grub_unicode_shape_code): Likewise.
15548 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
15549 Don't use grub_putchar.
15550 * normal/main.c (grub_normal_init_page): Use grub_putcode.
15551 (grub_normal_reader_init): Likewise.
15552 (grub_xputs_saved): New variable.
15553 (GRUB_MOD_INIT): Set grub_xputs.
15554 (GRUB_MOD_FINI): Restore grub_xputs.
15555 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
15556 (menu_init): Avoid printing gfxmenu error.
15557 (show_menu): Use grub_normal_get_char_counter.
15558 * normal/menu_entry.c (update_screen): Fix out-of-array.
15559 (complete): Avoid NULL dereferencing.
15560 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
15561 * normal/menu_text.c (print_spaces): Removed.
15562 (grub_print_ucs4): Likewise.
15563 (grub_print_message_indented): Use grub_print_ucs4.
15564 (print_message): Use grub_putcode.
15565 (print_entry): Hanlde diacritics.
15566 * normal/term.c (term_state): New type.
15567 (grub_more_lines): Removed.
15568 (term_states): New variable.
15569 (grub_normal_line_counter): Renamed to ..
15570 (grub_normal_char_counter): ...this. All users updated.
15571 (grub_normal_get_line_counter): Renamed to ...
15572 (grub_normal_get_char_counter): ... this.
15573 (grub_normal_reset_more): New function.
15574 (process_newline): Removed.
15575 (print_more): New function.
15576 (grub_install_newline_hook): Removed.
15577 (map_code): New function.
15578 (grub_puts_terminal): Use grub_print_ucs4.
15579 (putglyph): New function.
15580 (putcode_real): Likewise.
15581 (grub_putcode): Use putcode_real.
15582 (get_maxwidth): New function.
15583 (get_startwidth): Likewise.
15584 (print_ucs4_terminal): Likewise.
15585 (find_term_state): Likewise.
15586 (put_glyphs_terminal): Likewise.
15587 (print_backlog): Likewise.
15588 (print_ucs4_real): Likewise.
15589 (grub_print_ucs4): Likewise.
15590 (grub_xputs_normal): Likewise.
15591 * term/efi/console.c (grub_console_putchar): Output diacritics.
15592 (grub_console_getcharwidth): Removed.
15593 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15594 * term/gfxterm.c (clear_char): Free chars.
15595 (scroll_up): Avoid leaking memory.
15596 (grub_gfxterm_putchar): Support diacritics.
15597 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15598 * term/i386/pc/console.c (grub_console_term_output): Declare as
15599 GRUB_TERM_CODE_TYPE_VGA.
15600 * term/i386/pc/vga.c (grub_vga_term): Declare as
15601 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
15602 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
15603 GRUB_TERM_CODE_TYPE_VGA.
15604 * term/i386/vga_common.c (map_char): Removed.
15605 (grub_console_putchar): Likewise.
15606 (grub_console_getcharwidth): Likewise.
15607 * term/ieee1275/ofconsole.c: Simplify using terminfo.
15608 (colors): Reordered to match terminfo.
15609 (grub_ofconsole_normal_color): Removed.
15610 (grub_ofconsole_writeesc): Likewise.
15611 (grub_ofconsole_highlight_color): Likewise.
15612 (grub_ofconsole_getcharwidth): Likewise.
15613 (grub_ofconsole_setcolorstate): Likewise.
15614 (grub_ofconsole_setcolor): Likewise.
15615 (grub_ofconsole_getcolor): Likewise.
15616 (grub_ofconsole_readkey): Renamed to ...
15617 (readkey): ... this. Remove escape sequence handling. Return -1 on no
15618 key.
15619 (grub_ofconsole_checkkey): Removed.
15620 (grub_ofconsole_getkey): Likewise.
15621 (grub_ofconsole_getxy): Likewise.
15622 (grub_ofconsole_gotoxy): Likewise.
15623 (grub_ofconsole_cls): Likewise.
15624 (grub_ofconsole_refresh): Likewise.
15625 (grub_ofconsole_terminfo_input): New struct.
15626 (grub_ofconsole_terminfo_output): Likewise.
15627 (grub_ofconsole_term_input): Use terminfo.
15628 (grub_ofconsole_term_output): Likewise.
15629 (grub_console_init): Split into ...
15630 (grub_console_init_early): ...this and ...
15631 (grub_console_init_lately): ...this. Use terminfo.
15632 (grub_ofconsole_putchar): Renamed to ...
15633 (put): ... this. Remove mapping.
15634 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15635 * term/serial.c: Simplify using terminfo.
15636 (xpos): Removed.
15637 (ypos): Likewise.
15638 (keep_track): Likewise.
15639 (registered): Likewise.
15640 (input_buf): Likewise.
15641 (npending): Likewise.
15642 (serial_translate_key_sequence): Likewise.
15643 (fill_input_buf): Likewise.
15644 (grub_serial_checkkey): Likewise.
15645 (grub_serial_getkey): Likewise.
15646 (grub_serial_getxy): Likewise.
15647 (grub_serial_gotoxy): Likewise.
15648 (grub_serial_putchar): Likewise.
15649 (grub_serial_cls): Likewise.
15650 (grub_serial_setcolorstate): Likewise.
15651 (grub_serial_setcursor): Likewise.
15652 (serial_hw_init): Use serial_hw_fetch.
15653 (grub_serial_terminfo_input): New variable.
15654 (grub_serial_terminfo_output): Likewise.
15655 (grub_serial_term_input): Use terminfo.
15656 (grub_serial_term_output): Likewise.
15657 * term/terminfo.c (putstr): Use put.
15658 (grub_terminfo_all_free): New function
15659 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
15660 (grub_terminfo_output_register): New function.
15661 (grub_terminfo_output_unregister): Likewise.
15662 (grub_terminfo_getxy): Likewise.
15663 (grub_terminfo_readkey): Likewise.
15664 (grub_terminfo_checkkey): Likewise.
15665 (grub_terminfo_getkey): Likewise.
15666 (grub_terminfo_input_init): Likewise.
15667 (print_terminfo): Likewise.
15668 (grub_cmd_terminfo): Handle encoding.
15669 (grub_terminfo_gotoxy): Track position.
15670 (grub_terminfo_cls): Likewise.
15671 (grub_terminfo_putchar): Likewise.
15672 (grub_terminfo_setcolorstate): Handle colors
15673 (grub_terminfo_cursor_on): This ...
15674 (grub_terminfo_cursor_off): ... and this merged into ...
15675 (grub_terminfo_setcursor): ... this.
15676 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
15677 * unicode/ArabicShaping.txt: New file (imported from Unicode).
15678 * unicode/BidiMirroring.txt: Likewise.
15679 * unicode/UnicodeData.txt: Likewise.
15680 * unicode/COPYING: Likewise.
15681 * util/grub-editenv.c (grub_putchar): Removed.
15682 (grub_xputs_real): New function.
15683 (grub_xputs): New variable.
15684 * util/grub-fstest.c (grub_putchar): Removed.
15685 (grub_xputs_real): New function.
15686 (grub_xputs): New variable.
15687 * util/grub-mkdevicemap.c (grub_putchar): Removed.
15688 (grub_xputs_real): New function.
15689 (grub_xputs): New variable.
15690 * util/grub-probe.c (grub_putchar): Removed.
15691 (grub_xputs_real): New function.
15692 (grub_xputs): New variable.
15693 * util/grub-script-check.c (grub_putchar): Removed.
15694 (grub_xputs_real): New function.
15695 (grub_xputs): New variable.
15696 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
15697 (grub_xputs_real): New function.
15698 (grub_xputs): New variable.
15699 * util/import_unicode.py: New file.
15700 * util/grub-mkfont.c (ft_errmsgs): New array.
15701 (grub_glyph_info): Make bitmap a pointer.
15702 (file_formats): New type WIDTH_SPEC.
15703 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
15704 (options): Add width-spec.
15705 (help): Likewise.
15706 (add_char): Renamed to ...
15707 (add_glyph): ... this.
15708 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
15709 (glyph_replace): New type.
15710 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
15711 (add_char): New function.
15712 (add_subst): Likewise.
15713 (process_cursive): Likewise.
15714 (add_font): Handle GSUB.
15715 (write_font_width_spec): New function.
15716 (main): Sort glyphs.
15717 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
15718 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
15719 * kern/term.c (grub_cls): Moved from here...
15720 * normal/term.c (grub_cls): ... here.
15721
50f0bcda
CW
157222010-07-02 Colin Watson <cjwatson@ubuntu.com>
15723
15724 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
15725 suitable for using within the format argument of printf when
15726 converting grub_size_t.
15727 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
15728 "x" to convert grub_size_t arguments.
15729
40372103
VS
157302010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15731
15732 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
15733 too long captions.
15734 (list_get_minimal_size): Take selection box into account.
15735
942a10c7
VS
157362010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15737
15738 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
15739 NULL font.
15740
2bdb2892
CW
157412010-07-02 Colin Watson <cjwatson@ubuntu.com>
15742
15743 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
15744 devices when iterating over /dev/disk/by-id; they will be handled
15745 later if appropriate, which they aren't always (e.g. LVM).
15746
e03ed6c1
CW
157472010-07-02 Colin Watson <cjwatson@ubuntu.com>
15748
15749 * include/grub/misc.h (grub_reboot): Declare as noreturn.
15750 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
15751 fails.
15752 (grub_halt): Likewise.
15753 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
15754 reset-all fails.
15755 (grub_halt): Don't return, even if all of shut-down, power-off, and
15756 poweroff fail.
15757
47695765
CW
157582010-07-02 Colin Watson <cjwatson@ubuntu.com>
15759
15760 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
15761 arguments, not three.
15762
507736c8
CW
157632010-07-02 Colin Watson <cjwatson@ubuntu.com>
15764
15765 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
15766 * util/grub.d/10_linux.in: Use it to check for LVM, so that
15767 LVM-on-RAID is handled correctly.
15768
e3c8cd37
CW
157692010-07-02 Colin Watson <cjwatson@ubuntu.com>
15770
15771 * docs/grub.texi (Changes from GRUB Legacy): New section.
15772 (Future): Fix typo.
15773
8d4a2fec
CW
157742010-07-02 Colin Watson <cjwatson@ubuntu.com>
15775
15776 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
15777 grub.d/README accidentally ends up executable for one reason or
15778 another. Ignore it.
15779
1c4827be
VS
157802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15781
15782 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
15783 (gpt_partition_map_iterate): Support non-512B sectors.
15784
d9a0c941
VS
157852010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 * kern/efi/init.c (grub_efi_init): Disable watchdog.
15788 Tested by: Seth Goldberg.
15789
48f27e87
VS
157902010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15791
15792 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
15793 Properly align mbi.
15794 Reported by: Seth Goldberg.
15795
b0c4f956
VS
157962010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15797
15798 * util/grub-mkrescue.in: Avoid module duplication.
15799
105a2e8c
SF
158002010-07-01 Sean Finney <seanius@seanius.net>
15801
15802 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
15803
5944958c
SF
158042010-07-01 Sean Finney <seanius@seanius.net>
15805
15806 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
15807
158082010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15809
15810 * disk/lvm.c (grub_lvm_checkvalue): New function.
15811 (grub_lvm_check_flag): Likewise.
15812
b79889ba
RM
158132010-07-01 Robert Millan <rmh@gnu.org>
15814
15815 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
15816 Support 'p' as partition separator on kernel of FreeBSD (used
15817 with GPT labels).
15818 (grub_util_biosdisk_get_grub_dev): Likewise.
15819
ec1d04f1
VS
158202010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15821
15822 Yeeloong firmware port.
15823
15824 * boot/mips/yeeloong/fwstart.S: New file.
15825 * bus/cs5536.c (gpiodump): New const.
15826 (set_io_space): New function.
15827 (set_iod): Likewise.
15828 (set_p2d): Likewise.
15829 (grub_cs5536_init_geode): Likewise.
15830 * commands/mips/yeeloong/lsspd.c: New file.
15831 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
15832 (serial_mod_SOURCES): New variable.
15833 (serial_mod_CFLAGS): Likewise.
15834 (serial_mod_LDFLAGS): Likewise.
15835 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
15836 term/terminfo.c and term/tparm.c.
15837 (pkglib_IMAGES): Add fwstart.img.
15838 (fwstart_img_SOURCES): New variable.
15839 (fwstart_img_CFLAGS): Likewise.
15840 (fwstart_img_ASFLAGS): Likewise.
15841 (fwstart_img_LDFLAGS): Likewise.
15842 (fwstart_img_FORMAT): Likewise.
15843 (pkglib_MODULES): Add lsspd.mod.
15844 (lsspd_mod_SOURCES): New variable.
15845 (lsspd_mod_CFLAGS): Likewise.
15846 (lsspd_mod_LDFLAGS): Likewise.
15847 (pkglib_MODULES): Add halt.mod.
15848 (halt_mod_SOURCES): New variable.
15849 (halt_mod_CFLAGS): Likewise.
15850 (halt_mod_LDFLAGS): Likewise.
15851 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
15852 (serial_mod_SOURCES): Removed.
15853 (serial_mod_CFLAGS): Likewise.
15854 (serial_mod_LDFLAGS): Likewise.
15855 * disk/ata.c (check_device): New function.
15856 (grub_ata_device_initialize): Use check_device.
15857 (grub_ata_iterate): Recheck devices.
15858 (grub_ata_open): Likewise.
15859 (grub_atapi_iterate): Likewise.
15860 (grub_atapi_open): Likewise.
15861 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
15862 (GRUB_ATA_CH1_PORT1): Likewise.
15863 (GRUB_ATA_CH0_PORT2): Likewise.
15864 (GRUB_ATA_CH1_PORT2): Likewise.
15865 * include/grub/mips/loongson.h: New file.
15866 * include/grub/mips/yeeloong/ec.h: Likewise.
15867 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
15868 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
15869 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
15870 * include/grub/misc.h (grub_halt): Declare as noreturn.
15871 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
15872 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
15873 (UART_ENABLE_FIFO_TRIGGER1): New definition.
15874 (UART_ENABLE_DTRRTS): Likewise.
15875 (UART_ENABLE_MODEM): Removed.
15876 (UART_ENABLE_OUT2): New const.
15877 * include/grub/term.h (grub_term_register_input_active): New function.
15878 (grub_term_register_output_active): Likewise.
15879 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
15880 argument.
15881 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
15882 (init_pci): New function.
15883 (grub_machine_init): Execute platform init when firmware. Init serial.
15884 (grub_halt): Implement.
15885 (grub_exit): Likewise.
15886 (grub_reboot): Likewise.
15887 * term/serial.c (serial_hw_init): Update macros.
15888 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
15889 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
15890 (image_targets): New target mipsel-yeeloong-flash.
15891 (generate_image): Support IMAGE_YEELOONG_FLASH.
15892 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
15893 (grub_video_sm712_setup): Init card.
15894 (grub_video_sm712_set_palette): Removed.
15895 * video/sm712_init.c: New file.
15896
ff4a70d2
CW
158972010-06-30 Colin Watson <cjwatson@ubuntu.com>
15898
15899 * Makefile.in (install-local): Temporarily prepend $(builddir) to
15900 PATH when running help2man and then run it on the unadorned
15901 executable names, rather than passing $(builddir)/* paths to
15902 help2man. This avoids the build directory ending up in generated
15903 manual pages.
15904
1246efeb
CW
159052010-06-29 Colin Watson <cjwatson@ubuntu.com>
15906
15907 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
15908 to avoid accidents when debugging with 'sh -x'.
15909 * util/grub-mkrescue.in: Likewise.
15910 * util/grub.d/00_header.in: Likewise.
15911 * util/grub.d/10_hurd.in: Likewise.
15912 * util/grub.d/10_kfreebsd.in: Likewise.
15913 * util/grub.d/10_linux.in: Likewise.
15914 * util/grub.d/10_netbsd.in: Likewise.
15915 * util/grub.d/10_windows.in: Likewise.
15916 * util/grub.d/20_linux_xen.in: Likewise.
15917 * util/grub.d/30_os-prober.in: Likewise.
15918 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15919
1ba9b889
CW
159202010-06-29 Colin Watson <cjwatson@ubuntu.com>
15921
15922 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
15923 last character in the buffer.
15924 Reported by: Vladimir Serbinenko.
15925
dccaf99d
RM
159262010-06-29 Robert Millan <rmh@gnu.org>
15927
15928 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
15929 (Command-line and menu entry commands): Document `badram' command.
15930
d500ed12
RM
159312010-06-28 Robert Millan <rmh@gnu.org>
15932
15933 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
15934 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
15935 command using ${GRUB_BADRAM} as parameter.
15936
20bc84a6
CW
159372010-06-28 Colin Watson <cjwatson@ubuntu.com>
15938
15939 * docs/grub.texi (Device map): New section.
15940 (Themes): New section (stub).
15941 * Makefile.in (docs/grub.info): The info documentation now builds
15942 without errors. Make sure it stays that way.
15943
4045dee1
VS
159442010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
15945
15946 Use normal parser for menu entries.
15947 Reported by: Thomas Frauendorfer
15948
15949 * include/grub/parser.h (grub_parser_execute): Don't export.
15950 * normal/menu.c (grub_menu_execute_entry_real): New function.
15951 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
15952
bca58c7b
CW
159532010-06-28 Colin Watson <cjwatson@ubuntu.com>
15954
15955 * docs/grub.texi (Embedded configuration): New section (replacing
15956 old "Preset Menu" stub).
15957 (Images): New section.
15958 (configfile): Note that any menu entries defined in `file' are shown
15959 immediately.
15960
dec53e63
JT
159612010-06-28 Josh Triplett <josh@joshtriplett.org>
15962
15963 * mmap/i386/pc/mmap_helper.S: Set CF on return.
15964
c06e40f7
CW
159652010-06-28 Colin Watson <cjwatson@ubuntu.com>
15966
15967 * util/grub-install.in: Add --debug-image= option.
15968
cb88052b
CW
159692010-06-28 Colin Watson <cjwatson@ubuntu.com>
15970
15971 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
15972 possible on Linux.
15973
15974 * util/deviceiter.c (check_device): Rename to ...
15975 (check_device_readable_unique): ... this. Update all callers.
15976 Maintain and check a list of which devices (by canonicalized name)
15977 have already been seen.
15978 (clear_seen_devices): New function.
15979 (compare_file_names) [__linux__]: New function.
15980 (grub_util_iterate_devices): Clear the list of seen devices on exit
15981 and (just in case) on entry.
15982 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
15983 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
15984 seen-devices list, superseded by general code in check_device.
15985
bbe34652
CW
159862010-06-28 Colin Watson <cjwatson@ubuntu.com>
15987
15988 * commands/cat.c (options): New variable.
15989 (grub_cmd_cat): Parse options. If the --dos option is given, print
15990 DOS-style "\r\n" line endings as simple newlines (Debian bug
15991 #586358).
15992 (GRUB_MOD_INIT): Use extcmd.
15993 (GRUB_MOD_FINI): Likewise.
15994 * docs/grub.texi (cat): Document --dos.
15995
412e09f3
VS
159962010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
15997
15998 XEN with Linux grub-mkconfig support.
15999
16000 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16001 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16002 GRUB_CMDLINE_XEN_DEFAULT.
16003 * util/grub.d/20_linux_xen.in: New file.
16004
53f3ef38 160052010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
16006
16007 Initialise VGA video on qemu ourselves.
16008
16009 * boot/i386/qemu/boot.S: Don't call 0xc000.
16010 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16011 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16012 (kernel_img_HEADERS): Add pci.h.
16013 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16014 * configure.ac: Force unifont on qemu and yeeloong.
16015 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16016 (grub_vga_palette_write): Use correct register.
16017 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16018 Call grub_qemu_init_cirrus.
16019 * kern/i386/qemu/init.c: New file.
16020 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16021
16022 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16023
c75be4fb
PR
160242010-06-26 Pavel Roskin <proski@gnu.org>
16025
16026 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16027 13.
16028
d8034603
CW
160292010-06-26 Colin Watson <cjwatson@ubuntu.com>
16030
16031 * docs/grub.texi (Simple configuration): Explain that
16032 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16033 set to `true' to disable their respective recovery entries, not
16034 merely set.
16035
3fa06487
CW
160362010-06-26 Colin Watson <cjwatson@ubuntu.com>
16037
16038 Make the `source' command slightly faster.
16039
16040 * normal/main.c (grub_normal_execute): Don't re-read list files when
16041 nested.
16042
e9b29642
CW
160432010-06-23 Colin Watson <cjwatson@ubuntu.com>
16044
16045 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16046 field position and mask size to red fields from mode_info, not
16047 green.
16048 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16049 Remove redundant tag->common.framebuffer_type assignment.
16050 Reported by: Seth Goldberg.
16051
e726542f
CW
160522010-06-23 Colin Watson <cjwatson@ubuntu.com>
16053
16054 Sync up other versions of the Linux loader with Robert Millan's
16055 change of 2010-01-09, "Make loader output a bit more user-friendly".
16056
16057 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16058 grub_dprintf().
16059 (grub_cmd_linux): Likewise.
16060 (grub_cmd_initrd): Likewise.
16061 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16062 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16063
d6e98a17
CW
160642010-06-21 Colin Watson <cjwatson@ubuntu.com>
16065
16066 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
16067 larger than MEMORY_MAP_SIZE.
16068
14d3f08e
BC
160692010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
16070
16071 Fix parallel build.
16072
16073 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
16074 dependency.
16075 * script/parser.y: #include grub_script.tab.h header.
16076
4f9613a3
VS
160772010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16078
16079 Support >3GiB and <16MiB RAM in i386-qemu.
16080
16081 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
16082 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
16083 (grub_lower_mem): Removed.
16084 (grub_upper_mem): Likewise.
16085 (mem_size): Made static.
16086 (above_4g): New variable.
16087 (grub_machine_mmap_init): Detect small mem_size and above_4g.
16088 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
16089 support.
16090
05e51879
VS
160912010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16092
16093 Cirrus 5446 and Bochs video cards support.
16094
16095 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
16096 video_bochs.mod
16097 (video_cirrus_mod_SOURCES): New variable.
16098 (video_cirrus_mod_CFLAGS): Likewise.
16099 (video_cirrus_mod_LDFLAGS): Likewise.
16100 (video_bochs_mod_SOURCES): Likewise.
16101 (video_bochs_mod_CFLAGS): Likewise.
16102 (video_bochs_mod_LDFLAGS): Likewise.
16103 * include/grub/vga.h: New file.
16104 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
16105 (grub_video_fb_set_page_t): New type.
16106 (grub_video_fb_setup): New prototype.
16107 (grub_video_fb_swap_buffers): Likewise.
16108 (grub_video_fb_get_info_and_fini): Likewise.
16109 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
16110 (CRTC_DATA_PORT): Likewise.
16111 (CRTC_CURSOR): Likewise.
16112 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16113 (CRTC_CURSOR_ADDR_LOW): Likewise.
16114 (CRTC_CURSOR_DISABLE): Likewise.
16115 (update_cursor): Use grub_vga_cr_write.
16116 (grub_vga_text_setcursor): Likewise.
16117 * video/bochs.c: New file.
16118 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
16119 (palette): Likewise.
16120 (palette_size): Likewise.
16121 (framebuffer): New variable.
16122 (grub_video_fb_init): Use 'framebuffer'.
16123 (grub_video_fb_fini): Likewise.
16124 (grub_video_fb_get_info): Likewise.
16125 (grub_video_fb_get_palette): Likewise.
16126 (grub_video_fb_set_palette): Likewise.
16127 (grub_video_fb_set_viewport): Likewise.
16128 (grub_video_fb_get_viewport): Likewise.
16129 (grub_video_fb_map_color): Likewise.
16130 (grub_video_fb_map_rgb): Likewise.
16131 (grub_video_fb_map_rgba): Likewise.
16132 (grub_video_fb_unmap_color): Likewise.
16133 (grub_video_fb_unmap_color_int): Likewise.
16134 (grub_video_fb_fill_rect): Likewise.
16135 (grub_video_fb_blit_bitmap): Likewise.
16136 (grub_video_fb_blit_render_target): Likewise.
16137 (grub_video_fb_scroll): Likewise.
16138 (grub_video_fb_create_render_target): Likewise.
16139 (grub_video_fb_doublebuf_blit_init): Likewise.
16140 (grub_video_fb_set_active_render_target): Handle doublebuffering.
16141 (doublebuf_pageflipping_update_screen): New function.
16142 (doublebuf_pageflipping_init): Likewise.
16143 (grub_video_fb_setup): Likewise.
16144 (grub_video_fb_swap_buffers): Likewise.
16145 (grub_video_fb_get_info_and_fini): Likewise.
16146 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
16147 All users updated.
16148 (doublebuf_pageflipping_commit): Restructured into ...
16149 (doublebuf_pageflipping_set_page): ... this.
16150 (doublebuf_pageflipping_update_screen): Removed.
16151 (doublebuf_pageflipping_init): Likewise.
16152 (double_buffering_init): Likewise.
16153 (grub_video_vbe_setup): Use grub_video_fb_setup.
16154 (grub_video_vbe_swap_buffers): Removed.
16155 (grub_video_vbe_set_active_render_target): Likewise.
16156 (grub_video_vbe_get_active_render_target): Likewise.
16157 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
16158 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
16159 grub_video_fb_set_active_render_target and
16160 grub_video_fb_get_active_render_target.
16161 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
16162 (SEQUENCER_DATA_PORT): Likewise.
16163 (MAP_MASK_REGISTER): Likewise.
16164 (CRTC_ADDR_PORT): Likewise.
16165 (CRTC_DATA_PORT): Likewise.
16166 (START_ADDR_HIGH_REGISTER): Likewise.
16167 (START_ADDR_LOW_REGISTER): Likewise.
16168 (GRAPHICS_ADDR_PORT): Likewise.
16169 (GRAPHICS_DATA_PORT): Likewise.
16170 (READ_MAP_REGISTER): Likewise.
16171 (INPUT_STATUS1_REGISTER): Likewise.
16172 (INPUT_STATUS1_VERTR_BIT): Likewise.
16173 (get_map_mask): Use grub_vga_sr_read.
16174 (set_map_mask): Use grub_vga_sr_write.
16175 (set_read_map): Use grub_vga_gr_write.
16176 (set_start_address): Use grub_vga_cr_write.
16177 * video/sm712.c (framebuffer): Remove leftover fields.
16178
4321c64a
CW
161792010-06-20 Colin Watson <cjwatson@ubuntu.com>
16180
16181 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
16182 setting GRUB_VIDEO_BACKEND. Make it available as a user override
16183 instead. Replace the gfxterm backend check with a check that
16184 ${GRUB_PREFIX}/video.lst is non-empty.
16185 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
16186 again.
16187 (load_video): New generated function. Call it before loading
16188 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
16189 * util/grub.d/10_linux.in (linux_entry): Call load_video.
16190 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
16191 * docs/grub.texi (Simple configuration): Document
16192 GRUB_VIDEO_BACKEND.
16193
161942010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16195
16196 Use video functions in linux and xnu loaders.
16197
16198 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
16199 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
16200 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
16201 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
16202 loader/i386/pc/linux.c.
16203 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
16204 (find_line_len): Removed.
16205 (find_framebuf): Likewise.
16206 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
16207 * loader/i386/efi/xnu.c: Removed.
16208 * loader/i386/pc/xnu.c: Moved from here...
16209 * loader/i386/xnu.c: ...here.
16210
16211 Enable priorities in video drivers.
16212
16213 * include/grub/video.h (grub_video_adapter_prio_t): New type.
16214 (grub_video_adapter): New field prio.
16215 (grub_video_register): Respect prio when inserting.
16216 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
16217 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
16218 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
16219 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
16220 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
16221 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
16222 * video/sm712.c (grub_video_sm712_adapter): Likewise.
16223
16224 Fix SDL driver ID.
16225
16226 * include/grub/video.h (grub_video_driver_id_t): New value
16227 GRUB_VIDEO_DRIVER_SDL.
16228 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
16229
7d24e434
CW
162302010-06-17 Colin Watson <cjwatson@ubuntu.com>
16231
16232 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
16233 argument to printf.
16234 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16235
c88a83f6
CW
162362010-06-17 Colin Watson <cjwatson@ubuntu.com>
16237
16238 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
16239 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16240
094dfb69
CW
162412010-06-17 Colin Watson <cjwatson@ubuntu.com>
16242
16243 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
16244 directly, and recommend grub-install instead.
16245 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16246
2164da6b
CW
162472010-06-17 Colin Watson <cjwatson@ubuntu.com>
16248
16249 Fix i386-pc prefix handling with nested partitions (Debian bug
16250 #585068). Note that the case where the core image is booted using
16251 multiboot and relocated from its original location still requires
16252 more work.
16253
16254 * kern/i386/pc/init.c (make_install_device): If the prefix starts
16255 with "(,", fill the boot drive in between those two characters, but
16256 expect that a full partition specification including partition map
16257 names will follow.
16258 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
16259 specified, write a prefix without the drive name but including a
16260 full partition specification.
16261
044e2e60
CW
162622010-06-16 Colin Watson <cjwatson@ubuntu.com>
16263
16264 * util/grub-mkconfig.in: Ignore non-option arguments, for
16265 compatibility with older versions (before 2010-06-12) which did the
16266 same. In particular, this makes it easier to ship an update-grub
16267 wrapper which is compatible with that used with GRUB Legacy (Debian
16268 bug #586056).
16269
5591324f
GS
162702010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16271
16272 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
16273 for manual page generation.
16274
662e24d5
GS
162752010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16276
16277 * po/POTFILES: Remove leftover commands/handler.c.
16278
8d70754e
CW
162792010-06-14 Colin Watson <cjwatson@ubuntu.com>
16280
16281 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
16282 left this script non-functional.
16283
41160e2e
CW
162842010-06-14 Colin Watson <cjwatson@ubuntu.com>
16285
16286 * docs/man/grub-emu.h2m: New file.
16287
b5309cc1
CW
162882010-06-13 Colin Watson <cjwatson@ubuntu.com>
16289
16290 * docs/grub.texi (Commands): Document reduced command set in rescue
16291 mode.
16292 (cpuid): New section.
16293
fcb2d090
GS
162942010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
16295
16296 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
16297 new partition naming style.
16298 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
16299
96e5c556
BC
163002010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
16301
16302 Add "-o grub.iso" like cmdline options support.
16303
16304 * util/grub-install.in: Improve cmdline option parsing.
16305 * util/grub-mkconfig.in: Likewise.
16306 * util/grub-mkrescue.in: Likewise.
16307 * util/grub-reboot.in: Likewise.
16308 * util/grub-set-default.in: Likewise.
16309 * util/i386/efi/grub-install.in: Likewise.
16310 * util/ieee1275/grub-install.in: Likewise.
16311 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16312
c16be99b
CW
163132010-06-12 Colin Watson <cjwatson@ubuntu.com>
16314
16315 * .bzrignore: Ignore 41_custom.
16316
ce08a9fb
TS
163172010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16318
16319 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
16320
7beac90c
CW
163212010-06-12 Colin Watson <cjwatson@ubuntu.com>
16322
16323 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
16324 prototype declarations.
16325
16326 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
16327 generating fs, partmap, and video lists.
16328 * include/grub/fs.h (grub_fs_register): Omit prototype if
16329 GRUB_LST_GENERATOR is defined.
16330 * include/grub/partition.h (grub_partition_map_register): Likewise.
16331 * include/grub/video.h (grub_video_register): Likewise.
16332
1c8f0f8d
JM
163332010-06-12 Javier Martín <lordhabbit@gmail.com>
16334
16335 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
16336
a6085973
TS
163372010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16338
16339 * util/grub-mkrescue.in: Support --xorriso argument.
16340
25c56d29
VS
163412010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16342
16343 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
16344 Suggested by: Thomas Schmitt.
16345
e03e4b24
VS
163462010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16347
16348 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
16349 Suggested by: Thomas Schmitt.
16350
57711df6
VS
163512010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16352
16353 custom.cfg support.
16354
16355 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
16356 * util/grub.d/41_custom.in: New file.
16357
ee62c427
CW
163582010-06-12 Colin Watson <cjwatson@ubuntu.com>
16359
16360 * util/grub-mkrescue.in (make_image): Remove sh module, which has
16361 been merged back into normal.
16362
283af07a
CW
163632010-06-11 Colin Watson <cjwatson@ubuntu.com>
16364
16365 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
16366 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
16367
56a0d956
CW
163682010-06-11 Colin Watson <cjwatson@ubuntu.com>
16369
16370 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
16371 when generating manual pages.
16372 * docs/man/grub-bin2h.h2m: New file.
16373 * docs/man/grub-editenv.h2m: New file.
16374 * docs/man/grub-fstest.h2m: New file.
16375 * docs/man/grub-install.h2m: New file.
16376 * docs/man/grub-macho2img.h2m: New file.
16377 * docs/man/grub-mkconfig.h2m: New file.
16378 * docs/man/grub-mkdevicemap.h2m: New file.
16379 * docs/man/grub-mkfont.h2m: New file.
16380 * docs/man/grub-mkimage.h2m: New file.
16381 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
16382 * docs/man/grub-mkrelpath.h2m: New file.
16383 * docs/man/grub-mkrescue.h2m: New file.
16384 * docs/man/grub-ofpathname.h2m: New file.
16385 * docs/man/grub-pe2elf.h2m: New file.
16386 * docs/man/grub-probe.h2m: New file.
16387 * docs/man/grub-reboot.h2m: New file.
16388 * docs/man/grub-script-check.h2m: New file.
16389 * docs/man/grub-set-default.h2m: New file.
16390 * docs/man/grub-setup.h2m: New file.
16391
3a37e322
VS
163922010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
16393
16394 Use FOR_* macros instead of *_iterate whenever possible.
16395
16396 * commands/handler.c: Removed.
16397 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
16398 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
16399 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16400 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
16401 (grub_probe_SOURCES): Remove kern/parser.c.
16402 (util/grub-script-check.c_DEPENDENCIES): Removed.
16403 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
16404 and grub_script_check_init.c.
16405 (grub_script_check_init.lst): Removed.
16406 (grub_script_check_init.h): Likewise.
16407 (grub_script_check_init.c): Likewise.
16408 (pkglib_MODULES): Remove handler.mod and sh.mod.
16409 (handler_mod_SOURCES): Removed.
16410 (handler_mod_CFLAGS): Likewise.
16411 (handler_mod_LDFLAGS): Likewise.
16412 (normal_mod_SOURCES): Remove normal/handler.c.
16413 Add script/main.c, script/script.c, script/execute.c,
16414 script/function.c, script/lexer.c, grub_script.tab.c
16415 and grub_script.yy.c.
16416 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16417 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16418 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
16419 (grub_setup_SOURCES): Remove kern/parser.c.
16420 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16421 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
16422 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16423 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16424 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16425 (grub_setup_SOURCES): Remove kern/parser.c.
16426 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16427 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
16428 * include/grub/command.h (grub_command_iterate): Removed.
16429 (FOR_COMMANDS): New macro.
16430 * include/grub/dl.h (grub_dl): New member next.
16431 (grub_dl_iterate): Removed.
16432 (grub_dl_head): New variable declaration.
16433 (FOR_DL_MODULES): New macro.
16434 * include/grub/fs.h: Include list.h.
16435 (grub_fs): Make next first element.
16436 (grub_fs_list): New variable declaration.
16437 (grub_fs_register): Make inline.
16438 (grub_fs_unregister): Likewise.
16439 (grub_fs_iterate): Removed.
16440 (FOR_FILESYSTEMS): New macro.
16441 * include/grub/handler.h: Removed.
16442 * include/grub/list.h (grub_list_hook_t): Removed.
16443 (grub_list_test_t): Likewise.
16444 (grub_list_pop): Likewise.
16445 (grub_list_iterate): Likewise.
16446 (grub_list_insert): Likewise.
16447 (FOR_LIST_ELEMENTS): New macro.
16448 * include/grub/parser.h (grub_parser_class): Removed.
16449 (grub_parser_register): Likewise.
16450 (grub_parser_unregister): Likewise.
16451 (grub_parser_get_current): Likewise.
16452 (grub_parser_set_current): Likewise.
16453 (grub_register_rescue_parser): Likewise.
16454 (grub_rescue_parse_line): New function.
16455 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
16456 * include/grub/script_sh.h (grub_script_function_list): New variable
16457 declaration.
16458 (FOR_SCRIPT_FUNCTIONS): New macro.
16459 (grub_script_function_iterate): Removed.
16460 (grub_normal_parse_line): New prototype.
16461 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
16462 (FOR_DISABLED_TERM_INPUTS): Likewise.
16463 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16464 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16465 * include/grub/video.h (grub_video_adapter): Move 'next' to first
16466 element.
16467 (grub_video_register): Inline.
16468 (grub_video_unregister): Likewise.
16469 (grub_video_adapter_list): New variable declaration.
16470 (grub_video_iterate): Removed.
16471 (FOR_VIDEO_ADAPTERS): New macro.
16472 * kern/dl.c (grub_dl_list): Removed. All users updated.
16473 (grub_dl_iterate): Removed.
16474 * kern/fs.c (grub_fs_list): Make global.
16475 (grub_fs_register): Removed.
16476 (grub_fs_unregister): Likewise.
16477 (grub_fs_iterate): Likewise.
16478 * kern/handler.c: Removed.
16479 * kern/list.c (grub_list_pop): Removed.
16480 (grub_list_iterate): Likewise.
16481 (grub_list_insert): Likewise.
16482 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
16483 (grub_prio_list_insert): Don't use grub_list_insert.
16484 * kern/main.c (grub_register_rescue_parser): Don't call
16485 grub_register_rescue_parser.
16486 * kern/parser.c (grub_parser_class): Removed.
16487 (grub_parser_execute): Use grub_rescue_parse_line.
16488 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
16489 (grub_rescue_parser): Removed.
16490 (grub_register_rescue_parser): Likewise.
16491 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
16492 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
16493 (grub_auth_check_authentication): Likewise.
16494 * normal/completion.c (iterate_command): Removed.
16495 (grub_normal_do_completion): Use FOR_COMMANDS.
16496 * normal/handler.c: Removed.
16497 * normal/main.c (read_config_file): Remove parser changing.
16498 (grub_normal_execute): Don't call read_handler_list.
16499 (grub_normal_read_line_real): Statically allocate prompt.
16500 (grub_cmdline_run): Use grub_normal_parse_line.
16501 (GRUB_MOD_FINI): Don't call free_handler_list.
16502 * normal/menu_entry.c (run): Likewise.
16503 * script/function.c (grub_script_function_list): Make global.
16504 (grub_script_function_iterate): Removed.
16505 * script/main.c (grub_normal_parse_line): Make global.
16506 (grub_sh_parser): Removed.
16507 (GRUB_MOD_INIT): Likewise.
16508 (GRUB_MOD_FINI): Likewise.
16509 * tests/lib/functional_test.c (grub_functional_test): Use
16510 FOR_LIST_ELEMENTS.
16511 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
16512 (grub_test_run): Use FOR_LIST_ELEMENTS.
16513 * tests/lib/unit_test.c (main): Likewise.
16514 * util/deviceiter.c (grub_util_iterate_devices): Don't use
16515 grub_list_pop.
16516 * util/grub-fstest.c (grub_term_input_class): Removed.
16517 (grub_term_output_class): Likewise.
16518 * util/grub-probe.c: Likewise.
16519 * util/i386/pc/grub-setup.c: Likewise.
16520 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16521 * util/grub-script-check.c (main): Don't call grub_init_all and
16522 grub_fini_all.
16523 * video/video.c (grub_video_adapter_list): Make global.
16524 (grub_video_register): Removed.
16525 (grub_video_unregister): Likewise.
16526 (grub_video_iterate): Likewise.
16527
6289c3a7
VS
165282010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
16529
16530 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
16531 reported by Henrique Ferreiro.
16532
91460247
RM
165332010-06-09 Robert Millan <rmh@gnu.org>
16534
16535 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
16536 ones, when both are available.
16537
0ea7c4f9
GS
165382010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16539
16540 Make --version uniform and avoid hard-coded program name.
16541
16542 * util/grub-mkimage.c (main): Use `program_name' instead of
16543 hard-coded string.
16544 * util/i386/pc/grub-setup.c (main): Likewise.
16545 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
16546 * util/grub-install.in: Save the basename of $0 in $self, and use the
16547 latter in informational messages. Use the same format for --version
16548 as the binary programs.
16549 * util/grub-mkconfig.in: Likewise.
16550 * util/grub-mkrescue.in: Likewise.
16551 * util/grub-reboot.in: Likewise.
16552 * util/grub-set-default.in: Likewise.
16553 * util/i386/efi/grub-install.in: Likewise.
16554 * util/ieee1275/grub-install.in: Likewise.
16555 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16556
e8a6f3b6
GS
165572010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16558
16559 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
16560 embedding area. Use <= instead of == when checking for non-emptiness.
16561
f4d095d7
GS
165622010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16563
16564 * configure.ac: Add `.' to the directories searched for unifont.
16565
50e532ca
CW
165662010-06-08 Colin Watson <cjwatson@ubuntu.com>
16567
16568 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
16569 grub_script.yy.h.
16570
d39f3dec
CW
165712010-06-08 Colin Watson <cjwatson@ubuntu.com>
16572
16573 * docs/grub.texi (History): Expand to cover GRUB 2.
16574 (Serial terminal): Refer to `terminal_input' and `terminal_output'
16575 commands, not `terminal'.
16576 (serial): Likewise.
16577 (terminal_input): New section.
16578 (terminal_output): New section.
16579 (uppermem): New section (stub).
16580 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
16581
6ef0ddb4
CW
165822010-06-08 Colin Watson <cjwatson@ubuntu.com>
16583
16584 * docs/grub.texi (Security): Menu entries are unrestricted by
16585 default, not restricted to superusers as I had previously thought.
16586 Reword to account for this.
16587
e0f4c438
CW
165882010-06-07 Colin Watson <cjwatson@ubuntu.com>
16589
16590 * kern/emu/misc.c (device_mapper_null_log): New function.
16591 (grub_device_mapper_supported): New function.
16592 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
16593 prototype.
16594 * kern/emu/hostdisk.c (find_partition_start): Check whether
16595 device-mapper is supported before trying to use it.
16596 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
16597
da908200
CW
165982010-06-07 Colin Watson <cjwatson@ubuntu.com>
16599
16600 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
16601 (File name syntax): Likewise.
16602 (help): --all is no longer supported in GRUB 2. Be more precise
16603 about pattern matching.
16604
fb55c3ac
CW
166052010-06-07 Colin Watson <cjwatson@ubuntu.com>
16606
16607 * normal/completion.c (grub_normal_do_completion): When completing
16608 arguments to "set" and the current word contains an equals sign,
16609 skip to after the equals sign before starting completion.
16610
258c2573
CW
166112010-06-07 Colin Watson <cjwatson@ubuntu.com>
16612
16613 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
16614
ee75515e
CW
166152010-06-07 Colin Watson <cjwatson@ubuntu.com>
16616
16617 * docs/grub.texi (Network): New section.
16618 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
16619 `(nd)' as in GRUB Legacy.
16620 (pxe_unload): New section.
16621
a6a700aa
CW
166222010-06-07 Colin Watson <cjwatson@ubuntu.com>
16623
16624 * docs/grub.texi (Troubleshooting): `echo' is not usually available
16625 in the rescue shell, so recommend using `set' instead. Thanks,
16626 Jordan Uggla.
16627
4003dd38
CW
166282010-06-07 Colin Watson <cjwatson@ubuntu.com>
16629
16630 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
16631 (password): New section.
16632 (password_pbkdf2): New section.
16633 (search): New section.
16634 (Security): New section.
16635 (Troubleshooting): New section, currently very incomplete.
16636 (Invoking grub-mkpasswd-pbkdf2): New section.
16637 (Internals): New section, currently very incomplete.
16638
e1cbcc40
CW
166392010-06-07 Colin Watson <cjwatson@ubuntu.com>
16640
16641 * util/grub.d/00_header.in: Add some more quoting (of
16642 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
16643 work again.
16644 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
16645
db8fa1ad
CW
166462010-06-07 Colin Watson <cjwatson@ubuntu.com>
16647
16648 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
16649 to `count', fixing variable shadowing that broke the -c option.
16650
166512010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
16652
16653 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
16654 in case they contain spaces.
16655
f28a9212
CW
166562010-06-04 Colin Watson <cjwatson@ubuntu.com>
16657
16658 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
16659 "part_" to partmap module names, in line with grub-install.
16660 Reported by: Jindřich Makovička (Debian bug #584426).
16661
9cdfe32f
CW
166622010-06-04 Colin Watson <cjwatson@ubuntu.com>
16663
16664 * util/grub-mkimage.c: Make target-related error messages slightly
16665 more helpful; -O talks about "format". Explicitly point to the use
16666 of -O if no target is specified.
16667 Reported by: Didier Raboud (Debian bug #584415).
16668
795b593a
CW
166692010-06-03 Colin Watson <cjwatson@ubuntu.com>
16670
16671 * INSTALL: Document several build requirements for optional features
16672 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
16673
9d9b5833
GS
166742010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16675
16676 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
16677 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
16678 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
16679
0819fec8
CW
166802010-06-02 Colin Watson <cjwatson@ubuntu.com>
16681
16682 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
16683 Thanks to Jordan Uggla for spotting this.
16684
49396b4f
VS
166852010-06-02 Aleš Nesrsta <starous@volny.cz>
16686
16687 Finally make USB usable.
16688
16689 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
16690 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
16691 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
16692 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
16693 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
16694 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
16695 (GRUB_OHCI_FSMPS): Likewise.
16696 (GRUB_OHCI_PERIODIC_START): Likewise.
16697 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
16698 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
16699 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
16700 (GRUB_OHCI_SET_PORT_RESET): Likewise.
16701 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
16702 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
16703 (grub_ohci_transaction): Likewise.
16704 (grub_ohci_transfer): Improve condition detection algorithms.
16705 Handle toggle property. Program the transactions correctly.
16706 Improve error handling. Various important fixups.
16707 (grub_ohci_portstatus): Put register writes in right order.
16708 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
16709 (grub_uhci_transfer): Don't show "failed" message on success.
16710 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
16711 array.
16712 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
16713 determine its size.
16714 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
16715 before initialization is completed. Use IN direction for empty
16716 transfers. Use last_trans and compute toggle.
16717 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
16718 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
16719 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
16720 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
16721 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
16722 (grub_usb_device): Increase toggle to 256.
16723 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
16724 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
16725 GRUB_USBMS_SUBCLASS_SFF8070.
16726 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
16727 (grub_scsi_inquiry): New member page and alloc_length.
16728 (grub_scsi_request_sense): New structure.
16729 (grub_scsi_request_sense_data): Likewise.
16730 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
16731 control.
16732 * disk/scsi.c (grub_scsi_request_sense): New function.
16733 (grub_scsi_test_unit_ready): Likewise.
16734 (grub_scsi_inquiry): Fill new fields.
16735 (grub_scsi_read_capacity): Likewise.
16736 (grub_scsi_read10): Add request sense at the end.
16737 (grub_scsi_read12): Likewise.
16738 (grub_scsi_write10): Likewise.
16739 (grub_scsi_write12): Likewise.
16740 (grub_scsi_open): Add Test Unit Ready.
16741 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
16742 Support additional subclasses. Con't clear halt yet. Activate the
16743 proper config. Calculate LUNs correctly.
16744 (grub_usbms_transfer): Various important fixups.
16745
167462010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16747
16748 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
16749 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
16750 (grub_ohci_fini_hw): New function.
16751 (grub_ohci_restore_hw): Likewise.
16752 (GRUB_MOD_INIT(ohci)): Register preboot hook.
16753 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
16754 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
16755
167562010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16757
16758 Dedicated DMA allocations.
16759
16760 * bus/pci.c (grub_memalign_dma32): New function
16761 (grub_dma_free): Likewise.
16762 (grub_dma_get_virt): Likewise.
16763 (grub_dma_get_phys): Likewise.
16764 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
16765 (grub_ohci_pci_iter): Use dma32_alloc.
16766 (grub_ohci_transfer): Likewise.
16767 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16768 (grub_usb_bulk_readwrite): Likewise.
16769 * include/grub/pci.h: Add declarations.
16770
167712010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16772
16773 CS5536 support.
16774
16775 * bus/cs5536.c: New file.
16776 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
16777 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
16778 (cs5536_mod_SOURCES): New variable.
16779 (cs5536_mod_CFLAGS): Likewise.
16780 (cs5536_mod_LDFLAGS): Likewise.
16781 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
16782 machine/pci.h.
16783 (kernel_img_SOURCES): Add bus/cs5536.c.
16784 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
16785 usb_keyboard.mod.
16786 (usb_mod_SOURCES): New variable.
16787 (usb_mod_CFLAGS): New variable.
16788 (usb_mod_LDFLAGS): New variable.
16789 (usbtest_mod_SOURCES): New variable.
16790 (usbtest_mod_CFLAGS): New variable.
16791 (usbtest_mod_LDFLAGS): New variable.
16792 (ohci_mod_SOURCES): New variable.
16793 (ohci_mod_CFLAGS): New variable.
16794 (ohci_mod_LDFLAGS): New variable.
16795 (usbms_mod_SOURCES): New variable.
16796 (usbms_mod_CFLAGS): New variable.
16797 (usbms_mod_LDFLAGS): New variable.
16798 (usb_keyboard_mod_SOURCES): New variable.
16799 (usb_keyboard_mod_CFLAGS): New variable.
16800 (usb_keyboard_mod_LDFLAGS): New variable.
16801 * include/grub/smbus.h: New file.
16802 * include/grub/cs5536.h: New file.
16803
0b35b2a9
CW
168042010-06-02 Colin Watson <cjwatson@ubuntu.com>
16805
16806 * util/grub.d/00_header.in: Add safety check to make sure that
16807 ${locale_dir} exists before trying to probe it.
16808
ca0afd5b
CW
168092010-06-02 Colin Watson <cjwatson@ubuntu.com>
16810
16811 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
16812 per the GNU Coding Standards; this is now too obscure to be worth
16813 documenting.
16814 (QNX): Likewise.
16815 (chainloader): Remove cross-reference to `SCO UnixWare'.
16816
1c41aa78
CW
168172010-06-02 Colin Watson <cjwatson@ubuntu.com>
16818
16819 * docs/grub.texi (Chain-loading): New section.
16820 (DOS/Windows): New section, borrowed from GRUB Legacy with details
16821 adjusted for GRUB 2.
16822 (SCO UnixWare): Likewise.
16823 (QNX): Likewise.
16824 (chainloader): Add reference to `Block list syntax'.
16825 (drivemap): New section.
16826 (parttool): New section.
16827
bb8ea0f5
CW
168282010-06-02 Colin Watson <cjwatson@ubuntu.com>
16829
16830 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
16831 the grub shell'.
16832 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
16833 (Installing GRUB using grub-install): Remove reference to the grub
16834 shell; mention `grub-mkimage' and `grub-setup' instead.
16835 (Invoking grub-install): Likewise.
16836 (Interface): Add reference to `Menu entry editor'.
16837 (serial): Remove `--device' option.
16838
288dd6ed
CW
168392010-06-02 Colin Watson <cjwatson@ubuntu.com>
16840
16841 * docs/grub.texi (Configuration): New section, documenting
16842 configuration file generation using grub-mkconfig. I've left a slot
16843 for documenting the full shell scripting format but have not yet
16844 started on writing that up.
16845 (Invoking grub-mkconfig): New section.
16846
34c9f0e9
CW
168472010-06-02 Colin Watson <cjwatson@ubuntu.com>
16848
16849 * docs/grub.texi (direntry): Remove grub-terminfo reference.
16850 (GNU GRUB manual): Likewise.
16851 (General commands): Update description of `terminfo' for GRUB 2.
16852
9121567e
CW
168532010-06-02 Colin Watson <cjwatson@ubuntu.com>
16854
16855 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
16856 (GRUB_MOD_INIT): Fix capitalisation.
16857 * docs/grub.texi (Command-line and menu entry commands): Document
16858 gettext and gptsync commands.
16859
ab631611
CW
168602010-06-02 Colin Watson <cjwatson@ubuntu.com>
16861
16862 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
16863 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
16864
bde4a9ac
CW
168652010-06-01 Colin Watson <cjwatson@ubuntu.com>
16866
16867 Add btrfs probing support, currently only in the single-device case.
16868
16869 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
16870 function.
16871 (grub_guess_root_device): Call find_root_device_from_mountinfo
16872 before looking in /dev.
16873
b1d17e10
VS
168742010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16875
16876 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
16877 GRUB_DISK_SIZE_UNKNOWN.
16878 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
16879
dfbfe004
JS
168802010-05-31 Jiro SEKIBA <jir@unicus.jp>
16881
16882 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
16883 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
16884 corrupted or not synced properly.
16885
c2ffc8e9
VS
168862010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16887
16888 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
16889 Reported by: Seth Goldberg.
16890
56293166
VS
168912010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16892
16893 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
16894 addition of dest.
16895 Reported by: Seth Goldberg.
16896
7620e7de
VS
168972010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16898
16899 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
16900 Reported by: Seth Goldberg.
16901
c837af3f
VS
169022010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16903
16904 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
16905 64-bit address as signed on MIPS.
16906
c7c75cf4
CW
169072010-05-28 Colin Watson <cjwatson@ubuntu.com>
16908
16909 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
16910 to the empty string.
16911
fa4b8490
BC
169122010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
16913
16914 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
16915
16916 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
16917 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
16918 * kern/misc.c (__enable_execute_stack): Disable on
16919 GRUB_MACHINE_EMU.
16920
a33075b9
CW
169212010-05-28 Colin Watson <cjwatson@ubuntu.com>
16922
16923 Make grub-probe work with symbolic links under /dev/mapper as well
16924 as with real block devices. The Linux world seems to be (at best)
16925 in transition here, and GRUB shouldn't get caught in the middle.
16926
16927 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
16928 /dev/mapper.
16929
d8708134
CW
169302010-05-27 Colin Watson <cjwatson@ubuntu.com>
16931
16932 * util/grub-script-check.c (main): Ensure defined behaviour on empty
16933 input files (in which case exit zero).
16934
db2102a0
CW
169352010-05-27 Colin Watson <cjwatson@ubuntu.com>
16936
16937 * kern/emu/misc.c (canonicalize_file_name): realpath can still
16938 return NULL for various reasons even if it has a maximum-length
16939 buffer: for example, there might be a symlink loop, or the path
16940 might exceed PATH_MAX. If this happens, return NULL.
16941
5fdba519
RM
169422010-05-27 Robert Millan <rmh@gnu.org>
16943
16944 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
16945 partmap module to handle cross-partmap setups.
16946 Reported by Orestes Mas. Gràcies!
16947
d1d368e4
CW
169482010-05-27 Colin Watson <cjwatson@ubuntu.com>
16949
16950 * util/grub-mkrescue.in: Initialise override_dir rather than
16951 assuming that it's unset or empty in the environment.
16952
95ac3c73
GS
169532010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
16954
16955 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
16956 variable index into p_index to suppress a warning with -Wshadow.
16957
7d8c0213
BC
169582010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
16959
16960 * INSTALL: Added flex >= 2.5.35 requirement.
16961
db4d5813
VS
169622010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16963
16964 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
16965
f24f4300
VS
169662010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16967
16968 cmostest support.
16969
16970 * commands/i386/cmostest.c: New file.
16971 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
16972 (cmostest_mod_SOURCES): New variable.
16973 (cmostest_mod_CFLAGS): Likewise.
16974 (cmostest_mod_LDFLAGS): Likewise.
16975 * conf/i386-pc.rmk: Likewise.
16976 * docs/grub.texi (Vendor power-on keys): New section.
16977 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
16978 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
16979 and GRUB_BUTTON_CMOS_ADDRESS.
16980 * util/grub.d/00_header.in: Handle powering-on by separate button.
16981
ad603f61
VS
169822010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16983
16984 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
16985 Removed drawing_scrollbar argument. All users updated
16986 Fixes #29792.
16987 Reported by Jo Shields
16988
3ecb080a
VS
169892010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16990
16991 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
16992 buffer since gfxterm handles double repaint.
16993
5f2316c1
VS
169942010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16995
16996 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
16997 * term/gfxterm.c (real_scroll): Likewise.
16998
9a25f885
VS
169992010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17000
17001 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17002 before calling BIOS.
17003
39fbb79a
VS
170042010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17005
17006 * include/grub/i18n.h: Always enable grub_gettext.
17007
228cfa97
VS
170082010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17009
17010 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17011 partition naming style.
17012
21717c8f
CW
170132010-05-21 Colin Watson <cjwatson@ubuntu.com>
17014
17015 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17016 not the first option.
17017
c0f48e65
CW
170182010-05-20 Colin Watson <cjwatson@ubuntu.com>
17019
17020 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17021
96779aec
CW
170222010-05-20 Colin Watson <cjwatson@ubuntu.com>
17023
17024 * util/misc.c: Move inclusion of <limits.h> to ...
17025 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17026
fa9d256e
GS
170272010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17028
17029 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17030 Fix merge error in NetBSD code.
17031 (find_partition_start) [__NetBSD__]: Likewise.
17032
123b7a85
BC
170332010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17034
17035 Fix grub-mkrescue usage unit testing.
17036
17037 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17038
74276c0d
CF
170392010-05-18 Christian Franke <franke@computer.org>
17040
17041 * util/grub.d/10_windows.in: Use path names instead of
17042 drive letters to prevent warning from Cygwin 1.7.
17043 Add drivemap command to menuentry if needed.
17044
c4f7b523
ST
170452010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17046
17047 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17048 gnumach and gnumach.gz.
17049
95b97950
VS
170502010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17051
17052 * include/grub/i18n.h (gettext): Inline instead of using #define.
17053 (grub_gettext): Likewise.
17054 (_): Likewise.
17055
01b8d2d7
VS
170562010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17059 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17060 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17061 (main): Add a slash after pkglibdirroot.
17062
654e1d1e
VS
170632010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17064
17065 * util/grub-install.in: Add missing "in" keyword.
17066
26966aeb
VS
170672010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17068
17069 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
17070 Reported by: Seth Goldberg.
17071
75006747
VS
170722010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17073
17074 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
17075
74cbf5bd
CW
170762010-05-18 Colin Watson <cjwatson@ubuntu.com>
17077
17078 * configure.ac: Check for Linux device-mapper support.
17079
17080 * util/hostdisk.c (device_is_mapped): New function.
17081 (find_partition_start): New function, partly broken out from
17082 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
17083 device-mapper support added.
17084 (linux_find_partition): Use find_partition_start.
17085 (convert_system_partition_to_system_disk): Add `st' argument.
17086 Support Linux /dev/mapper/* devices if device-mapper support is
17087 available; only DM-RAID devices are understood at present.
17088 (find_system_device): Add `st' argument. Pass it to
17089 convert_system_partition_to_system_disk.
17090 (grub_util_biosdisk_get_grub_dev): Pass stat result to
17091 find_system_device and convert_system_partition_to_system_disk. Use
17092 find_partition_start.
17093
17094 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
17095 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
17096 * util/deviceiter.c [__linux__]: Define MINOR.
17097 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
17098 * util/mkdevicemap.c (grub_putchar): New function.
17099 (grub_getkey): New function.
17100 (grub_refresh): New function.
17101 (main): Set debug=all if -v -v is used.
17102
355b51e9
CW
171032010-05-18 Colin Watson <cjwatson@ubuntu.com>
17104
17105 Fix build with non-GNU libcs.
17106
17107 * util/misc.c (canonicalize_file_name): Move to ...
17108 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
17109 grub_make_system_path_relative_to_its_root.
17110
7fb5c25f
CW
171112010-05-18 Colin Watson <cjwatson@ubuntu.com>
17112
17113 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
17114 we handle finding grub-mkimage. Default to finding grub-mkimage in
17115 ${bindir} with program_transform_name applied, and provide a
17116 --grub-mkimage option to override this.
17117
1d3293d6
VS
171182010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17119
17120 Remove grub-mkisofs.
17121
17122 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
17123 (grub_mkisofs_SOURCES): Removed.
17124 (grub_mkisofs_CFLAGS): Removed.
17125 * util/mkisofs/defaults.h: Removed.
17126 * util/mkisofs/eltorito.c: Likewise.
17127 * util/mkisofs/exclude.h: Likewise.
17128 * util/mkisofs/hash.c: Likewise.
17129 * util/mkisofs/include/: Likewise.
17130 * util/mkisofs/include/fctldefs.h: Likewise.
17131 * util/mkisofs/include/mconfig.h: Likewise.
17132 * util/mkisofs/include/prototyp.h: Likewise.
17133 * util/mkisofs/include/statdefs.h: Likewise.
17134 * util/mkisofs/iso9660.h: Likewise.
17135 * util/mkisofs/joliet.c: Likewise.
17136 * util/mkisofs/match.c: Likewise.
17137 * util/mkisofs/match.h: Likewise.
17138 * util/mkisofs/mkisofs.c: Likewise.
17139 * util/mkisofs/mkisofs.h: Likewise.
17140 * util/mkisofs/msdos_partition.h: Likewise.
17141 * util/mkisofs/multi.c: Likewise.
17142 * util/mkisofs/name.c: Likewise.
17143 * util/mkisofs/rock.c: Likewise.
17144 * util/mkisofs/tree.c: Likewise.
17145 * util/mkisofs/write.c: Likewise.
17146
5dde9afe
VS
171472010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17148
17149 Unify grub-mkimage accross platforms.
17150
17151 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
17152 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
17153 (grub_mkelfimage_SOURCES): Removed.
17154 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
17155 (util/grub-mkimage.c_DEPENDENCIES): .. this.
17156 (bin_UTILITIES): Add grub-mkimage.
17157 (grub_mkimage_SOURCES): New variable.
17158 (kernel_img_HEADERS): Remove machine/kernel.h.
17159 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
17160 (pkglib_PROGRAMS): Add kernel.img.
17161 (kernel_img_HEADERS): Add machine/kernel.h.
17162 (kernel_img_FORMAT): Removed.
17163 (bin_UTILITIES): Remove grub-mkimage.
17164 (grub_mkimage_SOURCES): Removed.
17165 (grub_mkimage_CFLAGS): Likewise.
17166 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17167 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
17168 (pkglib_PROGRAMS): Add kernel.img.
17169 (bin_UTILITIES): Remove grub-mkimage.
17170 (grub_mkimage_SOURCES): Removed.
17171 (grub_mkimage_CFLAGS): Likewise.
17172 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17173 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
17174 (pkglib_PROGRAMS): Add kernel.img.
17175 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
17176 (pkglib_PROGRAMS): Add kernel.img.
17177 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
17178 (grub_mkimage_SOURCES): Removed.
17179 (grub_mkimage_CFLAGS): Likewise.
17180 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17181 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
17182 (pkglib_PROGRAMS): Add kernel.img.
17183 (bin_UTILITIES): Remove grub-mkimage.
17184 (grub_mkimage_SOURCES): Removed.
17185 (grub_mkimage_CFLAGS): Likewise.
17186 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17187 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
17188 (grub_mkimage_SOURCES): Removed.
17189 (grub_mkimage_CFLAGS): Likewise.
17190 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17191 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
17192 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
17193 (grub_pe32_optional_header): ... this.
17194 (grub_pe64_optional_header): ... and this. All users updated.
17195 (GRUB_PE32_PE32_MAGIC): Split into ..
17196 (GRUB_PE32_PE32_MAGIC): .. this.
17197 (GRUB_PE32_PE64_MAGIC): .. and this.
17198 (GRUB_PE32_SIGNATURE_SIZE): New definition.
17199 * include/grub/elf.h (PT_GNU_STACK): New definition.
17200 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
17201 * include/grub/i386/efi/kernel.h: Likewise.
17202 * include/grub/i386/kernel.h: Likewise.
17203 * include/grub/i386/pc/kernel.h: Likewise.
17204 * include/grub/i386/qemu/boot.h: Likewise.
17205 * include/grub/mips/kernel.h: Likewise.
17206 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17207 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17208 * include/grub/powerpc/kernel.h: Likewise.
17209 * include/grub/sparc64/ieee1275/boot.h: Likewise.
17210 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17211 * include/grub/sparc64/kernel.h: Likewise.
17212 * include/grub/x86_64/efi/kernel.h: Likewise.
17213 * include/grub/x86_64/kernel.h: Likewise.
17214 * include/grub/offsets.h: New file.
17215 * include/grub/kernel.h (grub_module_info): Split into ...
17216 (grub_module_info32): ... this.
17217 (grub_module_info64): ... and this.
17218 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
17219 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
17220 (grub_boot_blocklist): Moved from here ...
17221 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
17222 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
17223 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
17224 * include/grub/types.h (grub_target_to_host16): Removed.
17225 (grub_target_to_host32): Likewise.
17226 (grub_target_to_host64): Likewise.
17227 (grub_host_to_target16): Likewise.
17228 (grub_host_to_target32): Likewise.
17229 (grub_host_to_target64): Likewise.
17230 (grub_host_to_target_addr): Likewise.
17231
17232 Support grub-mkrescue for efi, coreboot and qemu.
17233
17234 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
17235 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
17236 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
17237 * util/grub-mkrawimage.c: Moved from here ...
17238 * util/grub-mkimage.c: ... here. All users updated.
17239 (ALIGN_ADDR): Use image_target.
17240 (TARGET_NO_FIELD): New const.
17241 (image_target_desc): New type.
17242 (image_targets): New array.
17243 (grub_target_to_host64): Use image_target.
17244 (grub_target_to_host32): Likewise.
17245 (grub_target_to_host16): Likewise.
17246 (grub_host_to_target64): Likewise.
17247 (grub_host_to_target32): Likewise.
17248 (grub_host_to_target16): Likewise.
17249 (grub_host_to_target_addr): Likewise.
17250 (generate_image): Handle multiimage.
17251 (main): Require -O parameter. All users updated.
17252 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
17253 util/efi/grub-mkimage.c
17254 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
17255 New option --rom-directory.
17256 Use xorriso.
17257 * util/i386/efi/grub-mkimage.c: Removed.
17258 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
17259 (grub_target_to_host32): Likewise.
17260 (grub_target_to_host64): Likewise.
17261 (grub_host_to_target16): Likewise.
17262 (grub_host_to_target32): Likewise.
17263 (grub_host_to_target64): Likewise.
17264 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
17265 (grub_target_to_host32): Likewise.
17266 (grub_target_to_host64): Likewise.
17267 (grub_host_to_target16): Likewise.
17268 (grub_host_to_target32): Likewise.
17269 (grub_host_to_target64): Likewise.
17270
f4fc97d0
BC
172712010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
17272
17273 Source tree is reorganized for emu build.
17274
17275 * include/grub/util/console.h: Move from here...
17276 * include/grub/emu/console.h: ...to here.
17277 * include/grub/util/getroot.h: Move from here...
17278 * include/grub/emu/getroot.h: ...to here.
17279 * include/grub/util/hostdisk.h: Move from here...
17280 * include/grub/emu/hostdisk.h: ...to here.
17281 * util/console.c: Move from here...
17282 * kern/emu/console.c: ...to here.
17283 * util/getroot.c: Move from here...
17284 * kern/emu/getroot.c: ...to here.
17285 * util/grub-emu.c: Move from here...
17286 * kern/emu/main.c: ...to here.
17287 * util/hostdisk.c: Move from here...
17288 * kern/emu/hostdisk.c: ...to here.
17289 * util/hostfs.c: Move from here...
17290 * kern/emu/hostfs.c: ...to here.
17291 * util/mm.c: Move from here...
17292 * kern/emu/mm.c: ...to here.
17293 * util/pci.c: Move from here...
17294 * bus/emu/pci.c: ...to here.
17295 * util/sdl.c: Move from here...
17296 * video/emu/sdl.c: ...to here.
17297 * util/time.c: Move from here...
17298 * kern/emu/time.c: ...to here.
17299 * util/usb.c: Move from here...
17300 * bus/usb/emu/usb.c: ...to here.
17301
17302 * include/grub/emu/misc.h: New header for grub-emu functions.
17303 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
17304
17305 * conf/any-emu.rmk: Rule updates for above renames.
17306 * conf/common.rmk: Likewise.
17307 * conf/i386-pc.rmk: Likewise.
17308 * conf/i386-qemu.rmk: Likewise.
17309 * conf/mips.rmk: Likewise.
17310 * conf/sparc64-ieee1275.rmk: Likewise.
17311 * conf/x86-efi.rmk: Likewise.
17312
17313 * disk/lvm.h: #include updates for above renames.
17314 * util/grub-mkrelpath.c: Likewise.
17315 * util/grub-probe.c: Likewise.
17316 * util/i386/pc/grub-setup.c: Likewise.
17317 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17318 * kern/emu/console.c: Likewise.
17319 * kern/emu/getroot.c: Likewise.
17320 * kern/emu/hostdisk.c: Likewise.
17321 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
17322
17323 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
17324 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
17325 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
17326 * util/misc.c: Remove grub-emu functions.
17327
cced9145
VS
173282010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17329
17330 Fix gfxmenu crash.
17331 Reported by: Thorsten Grützmacher.
17332
17333 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
17334 timeout hook.
17335 (circprog_set_property): Register and unregister timeout hook.
17336 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
17337 (label_destroy): Free template. and unregister hook.
17338 (label_set_state): New function.
17339 (label_set_property): Handle templates and hooks.
17340 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
17341 timeout hook.
17342 (progress_bar_set_property): Register and unregister timeout hook.
17343 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
17344 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
17345 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
17346 (update_timeout_visit): Removed.
17347 (update_timeouts): New function.
17348 (redraw_timeouts): Likewise.
17349 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
17350 (grub_gfxmenu_clear_timeout): Likewise.
17351 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
17352 (grub_gfxmenu_timeout_notify): Likewise.
17353 (grub_gfxmenu_timeout_notifications): New external variable.
17354 (grub_gfxmenu_timeout_register): New function.
17355 (grub_gfxmenu_timeout_unregister): Likewise.
17356
c6e5caab
VS
173572010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17358
17359 Transform (broken) vga terminal into (working) vga video driver.
17360
17361 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
17362 video/i386/pc/vga.c.
17363 * include/grub/video.h (grub_video_driver_id):
17364 Add GRUB_VIDEO_DRIVER_VGA.
17365 * term/i386/pc/vga.c: Renamed to ...
17366 * video/i386/pc/vga.c: ...this
17367 (DEBUG_VGA): Removed.
17368 (CHAR_WIDTH): Likewise.
17369 (CHAR_HEIGHT): Likewise.
17370 (TEXT_WIDTH): Likewise.
17371 (TEXT_HEIGHT): Likewise.
17372 (DEFAULT_FG_COLOR): Likewise.
17373 (DEFAULT_BG_COLOR): Likewise.
17374 (colored_char): Likewise.
17375 (xpos): Likewise.
17376 (ypos): Likewise.
17377 (cursor_state): Likewise.
17378 (fg_color): Likewise.
17379 (bg_color): Likewise.
17380 (text_buf): Likewise.
17381 (page): Likewise.
17382 (font): Likewise.
17383 (framebuffer): New variable.
17384 (set_read_map): Disabled.
17385 (setup): New variable.
17386 (is_target): Likewise.
17387 (grub_vga_mod_init): Likewise.
17388 (grub_vga_mod_fini): Likewise.
17389 (check_vga_mem): Likewise.
17390 (write_char): Likewise.
17391 (write_cursor): Likewise.
17392 (scroll_up): Likewise.
17393 (grub_vga_putchar): Likewise.
17394 (grub_vga_getcharwidth): Likewise.
17395 (grub_vga_getwh): Likewise.
17396 (grub_vga_getxy): Likewise.
17397 (grub_vga_gotoxy): Likewise.
17398 (grub_vga_cls): Likewise.
17399 (grub_vga_setcolorstate): Likewise.
17400 (grub_vga_setcursor): Likewise.
17401 (grub_video_vga_init): New function.
17402 (grub_video_vga_setup): Likewise.
17403 (grub_video_vga_fini): Likewise.
17404 (update_target): Likewise.
17405 (grub_video_vga_blit_bitmap): Likewise.
17406 (grub_video_vga_blit_render_target): Likewise.
17407 (grub_video_vga_set_active_render_target): Likewise.
17408 (grub_video_vga_get_active_render_target): Likewise.
17409 (grub_video_vga_swap_buffers): Likewise.
17410 (grub_video_vga_set_palette): Likewise.
17411 (grub_video_vga_get_info_and_fini): Likewise.
17412 (grub_vga_term): Removed.
17413 (grub_video_vga_adapter): New variable.
17414 (GRUB_MOD_INIT): Register a video driver instead of terminal.
17415 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
17416
2bf61a98
VS
174172010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17418
17419 * video/readers/jpeg.c: Indented.
17420
09ddcd11
VS
174212010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17422
17423 Various jpeg cleanups.
17424
17425 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
17426 (grub_jpeg_decode_quan_table): Use sizeof.
17427 (grub_jpeg_decode_du): Use ARRAY_SIZE.
17428
e5507505
PH
174292010-05-05 Peter Hurley <No e-mail available> (tiny change)
17430
17431 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
17432 tables. Ignore non-last ac bit.
17433 (grub_jpeg_decode_quan_table): Likewise.
17434
7e720a9b
VS
174352010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17436
17437 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
17438 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
17439 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17440 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
17441 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
17442 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
17443
a7fc080b
VS
174442010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17445
17446 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
17447 error.
17448
2bf6012d
VS
174492010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17450
17451 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
17452
265d68cd
VS
174532010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17454
17455 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
17456 condition.
17457
174582010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
17459
17460 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
17461 part.
17462
265d68cd 174632010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
17464
17465 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
17466 pointers.
17467
265d68cd 174682010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
17469
17470 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
17471
d1b61374
CF
174722010-05-01 Christian Franke <franke@computer.org>
17473
17474 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
17475 Remove broken Cygwin path conversion.
17476 * util/misc.c: [__CYGWIN__] Add include and define.
17477 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
17478 for Cygwin 1.7.
17479 (make_system_path_relative_to_its_root): Simplify loop, replace early
17480 return by break.
17481 [__CYGWIN__] Add conversion to win32 path.
17482 Include "/" case in trailing slash removal.
17483
3558c6e9
VS
174842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17485
17486 * kern/main.c (grub_load_config): Fix copy-pasted comment.
17487 Reported by: Seth Goldberg
17488
f5f3ff93
VS
174892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17490
17491 * commands/help.c (grub_cmd_help): Fix a typo.
17492 Reported by: Seth Goldberg
17493
d8b5cd40
VS
174942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17495
17496 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
17497 name and add N_.
17498 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
17499 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
17500 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
17501 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
17502 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
17503 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
17504 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17505 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17506 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17507 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17508 * normal/context.c (GRUB_MOD_INIT): Likewise.
17509 * normal/main.c (GRUB_MOD_INIT): Likewise.
17510 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17511 * term/serial.c (GRUB_MOD_INIT): Likewise.
17512 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17513
88c14915
VS
175142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17515
17516 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
17517 extra == 0.
17518
165134bc
VS
175192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17520
17521 * commands/iorw.c: New file.
17522 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
17523 (iorw_mod_SOURCES): New variable.
17524 (iorw_mod_CFLAGS): Likewise.
17525 (iorw_mod_LDFLAGS): Likewise.
17526
c5ac9b32
VS
175272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17528
17529 Hotkey support
17530
17531 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
17532 * normal/main.c (hotkey_aliases): New variable.
17533 (grub_normal_add_menu_entry): Parse "--hotkey".
17534 * normal/menu_text.c (run_menu): Handle hotkeys.
17535
ce60689c
VS
175362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17537
17538 * kern/i386/coreboot/init.c (grub_machine_init): Call
17539 grub_machine_mmap_init on qemu.
17540
0359d006
VS
175412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17542
17543 * boot/i386/qemu/boot.S: Add a missing .code16.
17544
7819a456
VS
175452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17546
17547 Use LBIO on coreboot.
17548
17549 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
17550 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
17551 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
17552 New declaration.
17553 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
17554 grub_machine_mmap_init on coreboot.
17555 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
17556 GRUB_LINUXBIOS_MEMBER_LINK.
17557 (grub_machine_mmap_iterate): Fix declaration.
17558 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
17559
7210dca9
VS
175602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17561
17562 Split coreboot and multiboot ports.
17563
17564 * conf/i386-multiboot.rmk: New file.
17565 * configure.ac: Add multiboot port.
17566 * include/grub/i386/multiboot/boot.h: New file.
17567 * include/grub/i386/multiboot/console.h: Likewise.
17568 * include/grub/i386/multiboot/init.h: Likewise.
17569 * include/grub/i386/multiboot/kernel.h: Likewise.
17570 * include/grub/i386/multiboot/loader.h: Likewise.
17571 * include/grub/i386/multiboot/memory.h: Likewise.
17572 * include/grub/i386/multiboot/serial.h: Likewise.
17573 * include/grub/i386/multiboot/time.h: Likewise.
17574 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
17575 * loader/multiboot.c: Likewise.
17576 * loader/multiboot_mbi2.c: Likewise.
17577 * util/grub-mkrescue.in: Generate multiboot rescue.
17578
6f8aaf68
VS
175792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17580
3080f7a7
VS
17581 * kern/parser.c (grub_parser_execute): Cope with read-only config.
17582
175832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17584
17585 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
17586
17587 * commands/terminal.c (abstract_terminal): New struct.
17588 (handle_command): New function. Based on grub_cmd_terminal_input.
17589 (grub_cmd_terminal_input): Use handle_command.
17590 (grub_cmd_terminal_output): Use handle_command.
17591
a8ebb841
BC
175922010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
17593
17594 Fix comment handling.
17595
17596 * tests/grub_script_comments.in: New testcase.
17597 * conf/tests.rmk: Rules for new testcase.
17598 * script/yylex.l: Updated flex rules.
17599
bb06ba08
ST
176002010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
17601
17602 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
17603 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
17604 if argc is 1.
bb06ba08 17605
cc9d2425
VS
176062010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17607
17608 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
17609 autogen issues.
17610
460d8402
CF
176112010-04-26 Christian Franke <franke@computer.org>
17612
17613 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
17614 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
17615 (grub_get_prefix): Remove function.
17616 * util/grub-emu.c (main): Replace grub_get_prefix () call by
17617 make_system_path_relative_to_its_root ().
17618 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17619
553c01f9
CF
176202010-04-24 Christian Franke <franke@computer.org>
17621
17622 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
17623 (kernel_img_LDFLAGS): Remove -static-libgcc.
17624
2aec1692
CF
176252010-04-24 Christian Franke <franke@computer.org>
17626
17627 * configure.ac: Do not CHECK_BSS_START_SYMBOL
17628 and CHECK_END_SYMBOL if grub-emu is built.
17629 Unset TARGET_OBJ2ELF if grub-emu is built
17630 without module support.
17631
f67dc308
JS
176322010-04-24 Jiro SEKIBA <jir@unicus.jp>
17633
17634 Nilfs2 support.
17635
17636 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
17637 (grub_fstest_SOURCES): Likewise.
17638 (pkglib_MODULES): Add nilfs2.mod.
17639 (nilfs2_mod_SOURCES): New variable.
17640 (nilfs2_mod_CFLAGS): Likewise.
17641 (nilfs2_mod_LDFLAGS): Likewise.
17642 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17643 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17644 * fs/nilfs2.c: New file.
17645
4ba8d354
VS
176462010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
17647
17648 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
17649 is not supported.
17650
0d2c20c6
GS
176512010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
17652
17653 Add grub-mkconfig support for NetBSD.
17654
17655 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
17656 * util/grub-mkconfig.in: export new NetBSD specific variables.
17657 * po/POTFILES-shell: added 10_netbsd.in.
17658 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
17659
bc4a2d83
BC
176602010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
17661
17662 Fix emu build with grub-emu-pci and grub-emu-modules.
17663
17664 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
17665 functions.
17666 * include/grub/libpciaccess.h: New file.
17667 * conf/any-emu.rmk: Update kernel headers for emu build.
17668
f48c87aa
VS
176692010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17670
17671 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
17672
18959385
VS
176732010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17674
17675 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
17676
0037de3f
VS
176772010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17678
17679 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
17680 Retrieve chosen/bootpath if bootpath isn't hardcoded.
17681 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
17682 util/ieee1275/ofpath.c.
17683 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
17684 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
17685 * include/grub/sparc64/ieee1275/boot.h
17686 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
17687 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
17688 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
17689 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
17690 const char *.
17691 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
17692 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
17693 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
17694 install.
17695
38e55e90
GS
176962010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17697
17698 * util/grub-mkconfig.in: Corrected two == equality tests.
17699 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
17700 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
17701 expect a number appended to it.
17702 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
17703 expects a number appended to it.
17704
a9e6ff28
VS
177052010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17706
17707 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
17708
0b830b8f
VS
177092010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17710
17711 * util/hostdisk.c (make_device_name): Change to new partition naming.
17712
0973daeb
VS
177132010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17714
17715 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
17716
460d8402 177172010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
17718
17719 * Makefile.in: Add missing localedir setting.
17720
0b456309
CW
177212010-04-14 Colin Watson <cjwatson@ubuntu.com>
17722
17723 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
17724 mistake in r2156. Noticed by Anthony Fok.
17725
17726 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
17727 @localedir@.
17728 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17729
08f46d62
BC
177302010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
17731
17732 Fix a spurious, uninitialized variable warning.
17733
17734 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
17735 Initialize variable, shdr.
17736 (grub_freebsd_load_elfmodule): Likewise.
17737 (grub_freebsd_load_elf_meta): Likewise.
17738
8c4a72d4
BC
177392010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
17740
17741 Fix for escaped dollar in double quoted strings.
17742
17743 * script/yylex.l: Updated flex rules.
17744 * conf/tests.rmk: Rule for new testcase.
17745 * tests/grub_script_dollar.in: New testcase.
17746
ce44826e
CPE
177472010-04-13 Carles Pina i Estany <carles@pina.cat>
177482010-04-13 Colin Watson <cjwatson@ubuntu.com>
17749
17750 Enclose all translated strings in grub.cfg in single quotes, and
17751 escape them appropriately (Ubuntu bug #552921).
17752
17753 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
17754 * util/grub.d/10_hurd.in: Use it.
17755 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17756 * util/grub.d/10_linux.in (linux_entry): Likewise.
17757
4b0cd8f8
VS
177582010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17759
17760 Fix cygwin compilation.
17761
17762 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
17763 * include/grub/misc.h (__register_frame_info)
17764 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
17765 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17766 * kern/misc.c (__register_frame_info)
17767 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
17768 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17769
01fcf061
VS
177702010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17771
17772 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
17773
5d04b11e
VS
177742010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17775
17776 Unify libgcc processing.
17777
17778 * Makefile.in (kernel_img_LDFLAGS): New variable.
17779 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
17780 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
17781 overwriting.
17782 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
17783 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
17784 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
17785 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
17786 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
17787 overwriting. Remove -lgcc and -static-libgcc
17788 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
17789 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17790 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17791 (kernel_img_LDFLAGS): Append instead of overwriting.
17792 Remove -lgcc and -static-libgcc
17793 * conf/sparc64-ieee1275.rmk: Likewise.
17794 * include/grub/powerpc/libgcc.h: Move to ...
17795 * include/grub/libgcc.h: .. this.
17796 * include/grub/libgcc.h: Don't export most of the function on x86.
17797 (__bswapsi2): New export.
17798 (__bswapdi2): Likewise.
17799 * include/grub/mips/libgcc.h: Removed.
17800 * include/grub/sparc64/libgcc.h: Likewise.
17801
b7f3ac29
VS
178022010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17803
17804 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
17805 disk_info_msg (conflicts with gettexting into languages with cases).
17806
2c7031b1
GS
178072010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
17808
17809 Add grub-probe support for NetBSD.
17810
17811 * util/getroot.c (find_root_device): Convert block device to
17812 character device on NetBSD.
17813 * util/probe.c (probe): Require character device on NetBSD.
17814 * util/hostdisk.c: NetBSD specific headers.
17815 (configure_device_driver): new function to tune device driver
17816 parameters (currently only for NetBSD floppy driver).
17817 (grub_util_biosdisk_open): NetBSD specific code (get disk size
17818 via disklabel ioctl).
17819 (open_device): call configure_device_driver on NetBSD.
17820 (convert_system_partition_to_system_disk): NetBSD specific code.
17821 (device_is_wholedisk): Likewise.
17822 (grub_util_biosdisk_get_grub_dev): Likewise.
17823 (make_device_name): Fixed a typo in bsd_part_str.
17824 * configure.ac: check for opendisk() and getrawpartition() on
17825 NetBSD and set LIBUTIL.
17826 * Makefile.in: add LIBUTIL to LIBS.
17827
f516290c
BC
178282010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17829
17830 Documentation fix.
17831
17832 * util/grub-script-check.c: Better help message.
17833
d8dcc0df
BC
178342010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17835
17836 Fix FreeBSD build.
17837
17838 * configure.ac: Flex version check.
17839 * conf/common.rmk: Add -Wno-error to sh.mod.
17840 * script/yylex.l: Remove all #pragma.
17841
6734334a
VS
178422010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17843
17844 * include/grub/util/misc.h (canonicalise_file_name): Add missing
17845 prototype.
17846 Reported by: Seth Goldberg.
17847
daea6abd
VS
178482010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17849
17850 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
17851 Rename "module" to "module2".
17852 Reported by: Seth Goldberg.
17853
f2fd9d2b
VS
178542010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17855
17856 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
17857 EXPORT_FUNC.
17858 Reported by: Seth Goldberg.
17859
be124579
VS
178602010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17861
17862 * lib/posix_wrap/locale.h: Add missing file.
17863 Reported by: Seth Goldberg.
17864
ef5da797
VS
178652010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17866
17867 grub-emu module load support.
17868
17869 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
17870 NO_DYNAMIC_MODULES switched to this.
17871 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
17872 (CFLAGS): Likewise.
17873 * conf/any-emu.rmk: Generate symlist.
17874 (kernel_img_HEADERS): Add util/datetime.h.
17875 (kernel_img_HEADERS) [sdl]: Add sdl.h.
17876 (kernel_img_HEADERS) [libusb]: Add libusb.h.
17877 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
17878 kern/$(target_cpu)/cache.S.
17879 * configure.ac (grub-emu-modules): New option.
17880 * genmk.rb: Handle multiple source lists.
17881 * include/grub/sdl.h: New file.
17882 * include/grub/libusb.h: Likewise.
17883 * util/grub-emu.c (main): Hanle (host) root.
17884 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
17885 GRUB_ERR_UNKNOWN_DEVICE.
17886 * util/misc.c: Move mm functions to ...
17887 * util/mm.c: ... here. All users updated.
17888
47822096
VS
178892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17890
17891 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
17892 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
17893 missing files.
17894 (maintainer-clean): Remove libgcrypt-grub.
17895
5d7e7445
VS
178962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17897
17898 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
17899
25f4e252
EC
179002010-04-09 EFI Coder <eficoder@hotmail.com>
17901
17902 * normal/menu_text.c (print_message): Clean up the message and show
17903 the Fn information when on EFI
17904 * term/efi/console.c (grub_console_checkkey): Add F4 support.
17905
027de555
VS
179062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17907
17908 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
17909 All users updated.
17910 * normal/crypto.c (read_crypto_list): Likewise.
17911 * normal/dyncmd.c (read_command_list): Likewise.
17912 * normal/term.c (read_terminal_list): Likewise.
17913 * normal/main.c (read_lists): Use explicit prefix.
17914 (read_lists_hook): Use read_lists.
17915 (grub_normal_execute): Likewise.
17916
47779711
VS
179172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17918
17919 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
17920 Reported by: Thomas Schmitt.
17921 Add -no-emul-boot to grub-mkisofs parameters.
17922
1118c32e
VS
179232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17924
17925 * font/font.c: Indented.
17926
7d652447
BC
179272010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
17928
17929 Elif support to GRUB script (by Deepak Vankadaru).
17930
17931 * tests/grub_script_if.in: New testcase.
17932 * conf/tests.rmk: Rule for new testcase.
17933 * script/parser.y: Grammar rules for elif.
17934
34bb22df
BC
179352010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
17936
17937 While and until loops support to GRUB script.
17938
17939 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
17940 (grub_script_create_cmdwhile): New function prototype.
17941 (grub_script_execute_cmdwhile): New function prototype.
17942 * script/execute.c (grub_script_execute_cmdwhile): New function.
17943 * script/parser.y (command): New commands.
17944 (whilecmd): New grammar rule.
17945 (untilcmd): New grammar rule.
17946 * script/script.c (grub_script_create_cmdwhile): New function.
17947 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
17948 function.
17949
17950 * tests/grub_script_while1.in: New testcase.
17951 * conf/tests.rmk: Rule for new testcase.
17952
e215d8e0
VS
179532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
17956 as *.jpg.
17957
d7c43ba1
MV
179582010-04-09 Mario Vazquez <mariovazq@gmail.com>
17959
17960 GRUB_BACKGROUND support.
17961
17962 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
17963 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
17964
d64795c0
VS
179652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17966
17967 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 17968 Idea by: Mario Vazquez
d64795c0
VS
17969
17970 * util/grub.d/00_header.in: Load pf2 and image modules.
17971
f267f83a
VS
179722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17973
17974 grub-mkconfig multiple terminal support.
17975
17976 * util/grub-mkconfig.in: Handle multiple terminals correctly.
17977 * util/grub.d/00_header.in: Likewise.
17978
b7841ceb
VS
179792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17980
17981 * Makefile.in: Specify files explicitly instead of using $< and $@ since
17982 we use cd $(srcdir).
17983
df60998c
CW
179842010-04-08 Colin Watson <cjwatson@ubuntu.com>
17985
17986 * util/grub.d/10_linux.in: Only use the first word of
17987 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
17988 spaces in GRUB_DISTRIBUTOR.
17989 * util/grub.d/10_kfreebsd.in: Likewise.
17990 * util/grub.d/10_hurd.in: Likewise.
17991
fa09c82e
BC
179922010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
17993
14e18ae3 17994 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
17995
17996 * tests/util/grub-shell.in: Remove -serial stdio option.
17997
daf892b3
BC
179982010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17999
18000 POSIX header file wrappers.
18001
18002 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18003 equivalents.
18004 * lib/posix_wrap/ctype.h: Likewise.
18005 * lib/posix_wrap/errno.h: Likewise.
18006 * lib/posix_wrap/langinfo.h: Likewise.
18007 * lib/posix_wrap/limits.h: Likewise.
18008 * lib/posix_wrap/localcharset.h: Likewise.
18009 * lib/posix_wrap/stdint.h: Likewise.
18010 * lib/posix_wrap/stdio.h: Likewise.
18011 * lib/posix_wrap/stdlib.h: Likewise.
18012 * lib/posix_wrap/string.h: Likewise.
18013 * lib/posix_wrap/sys/types.h: Likewise.
18014 * lib/posix_wrap/unistd.h: Likewise.
18015 * lib/posix_wrap/wchar.h: Likewise.
18016 * lib/posix_wrap/wctype.h: Likewise.
18017 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18018 (grub_script.yy.h): Likewise.
18019 * script/yylex.l: Remove POSIX emulation #defines.
18020 * Makefile.in (POSIX_CFLAGS): New variable.
18021 (GNULIB_UTIL_CFLAGS): Likewise.
18022
18023 Regexp support.
18024
18025 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18026 (regexp_mod_SOURCES): New variable.
18027 (regexp_mod_CFLAGS): Likewise.
18028 (regexp_mod_LDFLAGS): Likewise.
18029 * commands/regexp.c: New file.
18030 * gnulib/regcomp.c: New file. Imported from gnulib.
18031 * gnulib/regex.c: Likewise.
18032 * gnulib/regex_internal.c: Likewise.
18033 * gnulib/regex_internal.h: Likewise.
18034 * gnulib/regexec.c: Likewise.
18035 * gnulib/regex.h: Likewise.
18036
974ac4f7
VS
180372010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18038
18039 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18040 unsupported video mode types.
18041
2622c3ff
VS
180422010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18043
18044 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18045
064cb524
VS
180462010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18047
18048 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18049 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18050
a8c3b552
VS
180512010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18052
18053 Remove unused grub_vga_get_font.
18054
18055 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18056 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18057
187bbe3d
GS
180582010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18059
18060 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18061 * include/grub/misc.h: Likewise.
18062
b9396631
GS
180632010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18064
18065 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
18066 for which failure is fatal.
18067
50479feb
GS
180682010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18069
18070 * util/grub-install.in: Use mkdir -p to create grub directory.
18071 * util/i386/efi/grub-install.in: Likewise.
18072 * util/ieee1275/grub-install.in: Likewise.
18073
b1654fdf
GS
180742010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18075
18076 * Makefile.in (LEX): new variable.
18077
bd5a6415
GS
180782010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18079
18080 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
18081 `=' and added double quotes on operands of this equality test.
18082
3db3a82b
VS
180832010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18084
18085 * Makefile.in (uninstall): Remove a leftover debug echo.
18086 Reported by: Grégoire Sutre
18087
38023412
VS
180882010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18089
18090 MIPS multiboot2 support.
18091
18092 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
18093 (multiboot2_mod_SOURCES): New variable.
18094 (multiboot2_mod_CFLAGS): Likewise.
18095 (multiboot2_mod_LDFLAGS): Likewise.
18096 (multiboot2_mod_ASFLAGS): Likewise.
18097 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
18098 definition.
18099 (MULTIBOOT_ENTRY_REGISTER): Likewise.
18100 (MULTIBOOT_MBI_REGISTER): Likewise.
18101 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
18102 (MULTIBOOT_ELF32_MACHINE): Likewise.
18103 (MULTIBOOT_ELF64_MACHINE): Likewise.
18104 * include/grub/mips/multiboot.h: New file.
18105 * include/grub/video.h (grub_video_driver_id): New type
18106 GRUB_VIDEO_DRIVER_SM712.
18107 (grub_video_get_info_and_fini): Export.
18108 (grub_video_get_palette): Likewise.
18109 (grub_video_get_driver_id): Likewise.
18110 * include/multiboot2.h: Resynced with spec.
18111 * loader/i386/multiboot.c: Moved from here ...
18112 * loader/multiboot.c: ... here. All users updated.
18113 (grub_multiboot_boot): Use platform-specific macros.
18114 * loader/i386/multiboot_elfxx.c: Moved from here ...
18115 * loader/multiboot_elfxx.c: ... here. All users updated.
18116 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
18117 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
18118 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
18119
47674667
VS
181202010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18121
18122 Import gnulib argp module.
18123
18124 * gnulib/argp-ba.c: New file.
18125 * gnulib/argp-eexst.c: Likewise.
18126 * gnulib/argp-fmtstream.c: Likewise.
18127 * gnulib/argp-fmtstream.h: Likewise.
18128 * gnulib/argp-fs-xinl.c: Likewise.
18129 * gnulib/argp-help.c: Likewise.
18130 * gnulib/argp-namefrob.h: Likewise.
18131 * gnulib/argp-parse.c: Likewise.
18132 * gnulib/argp-pin.c: Likewise.
18133 * gnulib/argp-pv.c: Likewise.
18134 * gnulib/argp-pvh.c: Likewise.
18135 * gnulib/argp-version-etc.c: Likewise.
18136 * gnulib/argp-version-etc.h: Likewise.
18137 * gnulib/argp-xinl.c: Likewise.
18138 * gnulib/argp.h: Likewise.
18139
495442ed
VS
181402010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18141
18142 * kern/device.c (grub_device_iterate): Clear errors after failed
18143 opening device.
18144
f9fd65df
VS
181452010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18146
18147 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
18148 returned by firmware.
18149
af09641e
VS
181502010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18151
18152 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
18153 compilation on coreboot and qemu
18154
016883a5
VS
181552010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18156
18157 * include/multiboot2.h: Resync with spec.
18158
f97e1f7d
VS
181592010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18160
18161 Multiboot2 tag support
18162
18163 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
18164 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
18165 Remove loader/multiboot_loader.c.
18166 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
18167 (grub_multiboot2_real_boot): Likewise.
18168 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
18169 (grub_get_multiboot_mmap_count): New proto.
18170 (grub_fill_multiboot_mmap): Likewise.
18171 (grub_multiboot_set_video_mode): Likewise.
18172 (grub_multiboot_set_console): Likewise.
18173 (grub_multiboot_load): Likewise.
18174 (grub_multiboot_load_elf): Likewise.
18175 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
18176 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
18177 * include/multiboot.h: Resynced with specification.
18178 * include/multiboot2.h: Resynced with specification.
18179 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
18180 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
18181 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
18182 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
18183 users updated.
18184 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
18185 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
18186 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
18187 Removed.
18188 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
18189 Moved from here...
18190 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
18191 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18192 Moved from here...
18193 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
18194 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
18195 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
18196 All users updated.
18197 * loader/i386/multiboot_mbi2.c: New file.
18198
3506b90b
VS
181992010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18200
18201 Resync with gnulib.
18202
18203 * Makefile.in (GNULIB_CFLAGS): New variable.
18204 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
18205 (grub_script_check_CFLAGS): New variable.
18206 * gnulib/alloca.h: Resync with gnulib.
18207 * gnulib/error.c: Likewise.
18208 * gnulib/error.h: Likewise.
18209 * gnulib/fnmatch.c: Likewise.
18210 * gnulib/fnmatch_loop.c: Likewise.
18211 * gnulib/getdelim.c: Likewise.
18212 * gnulib/getline.c: Likewise.
18213 * gnulib/getopt.c: Likewise.
18214 * gnulib/getopt1.c: Likewise.
18215 * gnulib/getopt_int.h: Likewise.
18216 * gnulib/gettext.h: Likewise.
18217 * gnulib/progname.c: Likewise.
18218 * gnulib/progname.h: Likewise.
18219
394a3120
GS
182202010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
18221
18222 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
18223 which is the case with --disabled-nls.
18224
18225 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
18226 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
18227 * util/misc.c: Likewise.
18228 * util/mkisofs/mkisofs.c: Likewise.
18229 * util/mkisofs/mkisofs.h: Likewise.
18230
969d1c78
VS
182312010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 Simplify Apple CC support.
18234
18235 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
18236 Add 0 byte at the end not to have a symbol with empty target.
18237 * mmap/i386/pc/mmap_helper.S: Likewise.
18238 * genmk.rb: Ignore errors 2030 and 2050.
18239 * kern/i386/pc/startup.S: Use LOCAL when possible.
18240
8d2977bb
BC
182412010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
18242
18243 Testcase and the fix for final semicolon on cmdline.
18244
18245 * tests/grub_script_final_semicolon.in: New testcase.
18246 * conf/tests.rmk: Rules for the new testcase.
18247 * script/parser.y: Grammar fix.
18248
a7bd6915
BC
182492010-03-26 BVK Chaitanya <bvk@localhost>
18250
18251 Blank lines testcase for GRUB script.
18252
18253 * tests/grub_script_blanklines.in: New testcase.
18254 * conf/tests.rmk: Rules for the new testcase.
18255
e4ff6628
VS
182562010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18257
18258 Don't use __FILE__.
18259
18260 * genmk.rb: Add -DGRUB_FILE to all C targets.
18261 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
18262 * include/grub/list.h: Likewise.
18263 * include/grub/misc.h: Likewise.
18264 * include/grub/mm.h: Likewise.
18265 * include/grub/test.h: Likewise.
18266 * kern/mm.c: Likewise.
18267 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18268
6a5cf6b6
VS
182692010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18270
18271 Sunpc partitions support.
18272
18273 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
18274 (grub_fstest_SOURCES): Likewise.
18275 (pkglib_MODULES): Add part_sunpc.mod.
18276 (part_sunpc_mod_SOURCES): New variable.
18277 (part_sunpc_mod_CFLAGS): Likewise.
18278 (part_sunpc_mod_LDFLAGS): Likewise.
18279 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
18280 * partmap/sunpc.c: New file.
18281
746d9045
BC
182822010-03-26 BVK Chaitanya <bvk@localhost>
18283
18284 For loop support to GRUB script.
18285
18286 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
18287 (grub_script_create_cmdfor): New function prototype.
18288 (grub_script_execute_cmdfor): New function prototype.
18289 * script/execute.c (grub_script_execute_cmdfor): New function.
18290 * script/parser.y (command): New for command.
18291 (forcmd): New grammar rule.
18292 * script/script.c (grub_script_create_cmdfor): New function.
18293 * util/grub-script-check.c (grub_script_execute_cmdfor): New
18294 function.
18295 * tests/grub_script_for1.in: New testcase.
18296 * conf/tests.rmk: Rules for new testcase.
18297
18486b18
VS
182982010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18299
18300 Nested partitions
18301
18302 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
18303 'partition' is NULL, grub_partition_get_start already does that.
18304 * commands/loadenv.c (check_blocklists): Likewise.
18305 (write_blocklists): Likewise.
18306 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
18307 (grub_fstest_SOURCES): Likewise.
18308 (pkglib_MODULES): Add part_bsd.mod.
18309 (part_bsd_mod_SOURCES): New variable.
18310 (part_bsd_mod_CFLAGS): Likewise.
18311 (part_bsd_mod_LDFLAGS): Likewise.
18312 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
18313 (grub_emu_SOURCES): Likewise.
18314 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18315 * include/grub/bsdlabel.h: New file.
18316 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
18317 'get_name'.
18318 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
18319 (grub_partition_map_list): New variable.
18320 (grub_partition_map_register): Inline.
18321 (grub_partition_map_unregister): Likewise.
18322 (FOR_PARTITION_MAPS): New macro.
18323 (grub_partition_map_iterate): Removed.
18324 (grub_partition_get_start): Handle nested partitions.
18325 * include/grub/msdos_partition.h: Remove bsd-related entries.
18326 (grub_pc_partition): Remove.
18327 * kern/disk.c (grub_disk_close): Free partition data.
18328 (grub_disk_adjust_range): Handle nested partitions.
18329 * kern/partition.c (grub_partition_map_probe): New function.
18330 (grub_partition_probe): Parse name to number, handle subpartitions.
18331 (get_partmap): New function.
18332 (grub_partition_iterate): Handle subpartitions.
18333 (grub_partition_get_name): Likewise.
18334 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
18335 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
18336 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
18337 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
18338 Set 'number'.
18339 (acorn_partition_map_probe): Remove.
18340 (acorn_partition_map_get_name): Likewise.
18341 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
18342 Set 'number'.
18343 Set 'index' to 0 since there can be only one partition entry per sector.
18344 (amiga_partition_map_probe): Remove.
18345 (amiga_partition_map_get_name): Likewise.
18346 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
18347 Set 'number'.
18348 Set 'offset' and 'index' to real positions of partitions.
18349 (apple_partition_map_probe): Remove.
18350 (apple_partition_map_get_name): Likewise.
18351 * partmap/bsdlabel.c: New file.
18352 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
18353 Set 'number'.
18354 Allocate 'data' so it can be correctly freed.
18355 Set 'index' to offset inside sector.
18356 (gpt_partition_map_probe): Remove.
18357 (gpt_partition_map_get_name): Likewise.
18358 * partmap/msdos.c (grub_partition_parse): Remove.
18359 (pc_partition_map_iterate): Don't force raw access.
18360 Set 'number'.
18361 Make 'ext_offset' a local variable.
18362 (pc_partition_map_probe): Remove.
18363 (pc_partition_map_get_name): Remove.
18364 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
18365 Set 'number'.
18366 (sun_partition_map_probe): Remove.
18367 (sun_partition_map_get_name): Likewise.
18368 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
18369 (grub_pcpart_type): Likewise.
18370 * util/hostdisk.c (open_device): Handle new numbering scheme.
18371 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
18372 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
18373 * util/grub-probe.c (probe_partmap): Handle nested paritions.
18374 * util/grub-install.in: Insert all subpartition modules.
18375 * util/ieee1275/grub-install.in: Likewise.
18376
a3940f88
AG
183772010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
18378
18379 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
18380 grammar.
18381
21b99926 183822010-03-24 Colin Watson <cjwatson@ubuntu.com>
18383
18384 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
18385
bed1d352
CW
183862010-03-21 Colin Watson <cjwatson@ubuntu.com>
18387
18388 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
18389 match where 'make install' puts them.
18390 * util/i386/efi/grub-install.in: Likewise.
18391
c9f58427
CW
183922010-03-19 Colin Watson <cjwatson@ubuntu.com>
18393
18394 * .bzrignore: Add gentrigtables, grub-script-check,
18395 grub_script_check_init.c, grub_script_check_init.h, and
18396 trigtables.c.
18397
f84afb27
VS
183982010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
18399
18400 * kern/parser.c: Indented.
18401
ed0e3d30
VS
184022010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
18405
0ea81d98
VS
184062010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18407
18408 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
18409 alpha_mask_size == 0 case.
18410
0cdc2a09
BC
184112010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
18412
18413 GRUB shell lexer and parser improvements.
18414
18415 * conf/any-emu.rmk: Build rule updates.
18416 * conf/common.rmk: Likewise.
18417 * conf/i386-coreboot.rmk: Likewise.
18418 * conf/i386-efi.rmk: Likewise.
18419 * conf/i386-ieee1275.rmk: Likewise.
18420 * conf/i386-pc.rmk: Likewise.
18421 * conf/powerpc-ieee1275.rmk: Likewise.
18422 * conf/x86_64-efi.rmk: Likewise.
18423
18424 * configure.ac: Configure check for flex.
18425
18426 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
18427 types.
18428 (grub_lexer_param): Struct member updates.
18429 (grub_parser_param): Likewise.
18430 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
18431 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
18432 (grub_script_lexer_init): Prototype update.
18433 (grub_script_lexer_record_start): Likewise.
18434 (grub_script_lexer_record_stop): Likewise.
18435 (grub_script_lexer_yywrap): New function prototype.
18436 (grub_script_lexer_fini): Likewise.
18437 (grub_script_execute_argument_to_string): Removed by...
18438 (grub_script_execute_argument_to_argv): ...better version.
18439
18440 * script/execute.c (ROUND_UPTO): New macro.
18441 (grub_script_execute_cmdline): Out of memory fixes.
18442 (grub_script_execute_menuentry): Likewise.
18443 (grub_script_execute_argument_to_string): Removed. Update all
18444 users by...
18445 (grub_script_execute_argument_to_argv): ...better version.
18446 * script/function.c (grub_script_function_create): Use
18447 grub_script_execute_argument_to_argv instead of
18448 grub_script_execute_argument_to_string.
18449
18450 * script/lexer.c (check_varstate): Removed.
18451 (check_textstate): Removed.
18452 (grub_script_lexer_record_start): Likewise.
18453 (grub_script_lexer_record_stop): Likewise.
18454 (recordchar): Replaced with...
18455 (grub_script_lexer_record): ...new function.
18456 (nextchar): Removed.
18457 (grub_script_lexer_init): Rewritten.
18458 (grub_script_yylex): Rewritten.
18459 (append_newline): New function.
18460 (grub_script_lexer_yywrap): New function.
18461 (grub_script_lexer_fini): New function.
18462 (grub_script_yyerror): Sets error flag.
18463
18464 * script/yylex.l: New file.
18465 (grub_lexer_yyfree): Wrapper for flex yyffre.
18466 (grub_lexer_yyalloc): Likewise.
18467 (grub_lexer_yyrealloc): Likewise.
18468 * script/parser.y: Refactored.
18469
18470 * script/script.c (grub_script_arg_add): Out of memory fixes.
18471 (grub_script_add_arglist): Likewise.
18472 (grub_script_create_cmdline): Likewise.
18473 (grub_script_create_cmdmenu): Likewise.
18474 (grub_script_add_cmd): Likewise.
18475 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
18476 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
18477 unnecessary code.
18478
18479 * tests/grub_script_echo1.in: New testcase.
18480 * tests/grub_script_vars1.in: New testcase.
18481 * tests/grub_script_echo_keywords.in: New testcase.
18482
1d63a066
VS
184832010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18484
18485 Remove some redundancy in build system.
18486
18487 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
18488 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
18489 (TARGET_LDFLAGS): Add -nostdlib.
18490 (TARGET_IMG_LDFLAGS): Likewise.
18491 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
18492 anything since mmap isn't available.
18493 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
18494 Add util/time.c.
18495 (pkglib_MODULES): Remove reboot.mod.
18496 (reboot_mod_SOURCES): Removed.
18497 (reboot_mod_CFLAGS): Likewise.
18498 (reboot_mod_LDFLAGS): Likewise.
18499 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
18500 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
18501 (DEFSYMFILES): Add kernel_syms.lst.
18502 (kernel_img_HEADERS): Add common headers.
18503 (symlist.c): New target.
18504 (kernel_syms.lst): Likewise.
18505 (pkglib_MODULES): Add memdisk.mod.
18506 (memdisk_mod_SOURCES): New variable.
18507 (memdisk_mod_CFLAGS): Likewise.
18508 (memdisk_mod_LDFLAGS): Likewise.
18509 (pkglib_MODULES): Add reboot.mod.
18510 (reboot_mod_SOURCES): New variable.
18511 (reboot_mod_CFLAGS): Likewise.
18512 (reboot_mod_LDFLAGS): Likewise.
18513 (pkglib_MODULES): Add date.mod.
18514 (date_mod_SOURCES): New variable.
18515 (date_mod_CFLAGS): Likewise.
18516 (date_mod_LDFLAGS): Likewise.
18517 (pkglib_MODULES): Add datehook.mod.
18518 (datehook_mod_SOURCES): New variable.
18519 (datehook_mod_CFLAGS): Likewise.
18520 (datehook_mod_LDFLAGS): Likewise.
18521 (pkglib_MODULES): Add lsmmap.mod.
18522 (lsmmap_mod_SOURCES): New variable.
18523 (lsmmap_mod_CFLAGS): Likewise.
18524 (lsmmap_mod_LDFLAGS): Likewise.
18525 (pkglib_MODULES): Add boot.mod.
18526 (boot_mod_SOURCES): New variable.
18527 (boot_mod_CFLAGS): Likewise.
18528 (boot_mod_LDFLAGS): Likewise.
18529 * conf/i386-coreboot.rmk: Removed redundant parts.
18530 * conf/i386-ieee1275.rmk: Likewise.
18531 * conf/i386-pc.rmk: Likewise.
18532 * conf/mips-yeeloong.rmk: Likewise.
18533 * conf/mips.rmk: Likewise.
18534 * conf/powerpc-ieee1275.rmk: Likewise.
18535 * conf/sparc64-ieee1275.rmk: Likewise.
18536 * conf/x86_64-efi.rmk: Likewise.
18537 * conf/i386-coreboot.rmk: Moved qemu parts ..
18538 * conf/i386-qemu.rmk: ... here
18539 * conf/i386-efi.rmk: Moved common parts to...
18540 * conf/x86-efi.rmk: ... here.
18541 * conf/i386.rmk: Added modules common to all x86 variants.
18542 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
18543 * disk/memdisk.c: Remove grub/machine/kernel.h.
18544 * gensymlist.sh.in: Include symbol.h.
18545 * hook/datehook.c: Correct module name.
18546 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
18547 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
18548 * include/grub/i386/efi/serial.h: New file.
18549 * include/grub/x86_64/efi/serial.h: Likewise.
18550 * util/time.c: Likewise.
18551 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
18552
463ac55f
CK
185532010-03-14 Colin King <colin.king@ubuntu.com>
185542010-03-14 Colin Watson <cjwatson@ubuntu.com>
18555
18556 Shrink the pre-partition-table part of boot.img by eight bytes.
18557
18558 * boot/i386/pc/boot.S (ERR): New macro.
18559 (chs_mode): Use ERR.
18560 (geometry_error): Likewise.
18561 (hd_probe_error): Remove. This is only used once, so we wrwite
18562 it inline instead.
18563 (read_error): Instead of printing read_error_string, just set up
18564 %si and fall through to ...
18565 (error_message): ... this new function, also used by ERR.
18566
08e46ede
CW
185672010-03-14 Colin Watson <cjwatson@ubuntu.com>
18568
18569 Speed up consecutive hostdisk operations on the same device.
18570
18571 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
18572 (grub_util_biosdisk_open): Initialise disk->data.
18573 (struct linux_partition_cache): New structure.
18574 (linux_find_partition): Cache partition start positions; these are
18575 expensive to compute on every read and write.
18576 (open_device): Cache open file descriptor in disk->data, so that we
18577 don't have to reopen it and flush the buffer cache for consecutive
18578 operations on the same device.
18579 (grub_util_biosdisk_close): New function.
18580 (grub_util_biosdisk_dev): Set `close' member.
18581
18582 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
18583 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
18584 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18585 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18586 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
18587
4a6d2d06
VS
185882010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18589
18590 Compile parts of grub-emu as modules.
18591
18592 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
18593 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
18594 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
18595 (all-local): Add $(GRUB_EMU).
18596 (install-local): Install $(GRUB_EMU).
18597 (uninstall): Uninstall $(GRUB_EMU).
18598 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
18599 * kern/dl.c: Likewise.
18600 * commands/sleep.c: Not include machine/time.h.
18601 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
18602 (COMMON_CFLAGS): Likewise.
18603 (sbin_UTILITIES): Remove grub-emu.
18604 (grub_emu_SOURCES): Removed.
18605 (kernel_img_RELOCATABLE): New variable.
18606 (pkglib_PROGRAMS): Add kernel.img.
18607 (kernel_img_SOURCES): New variable
18608 (kernel_img_CFLAGS): Likewise.
18609 (kernel_img_LDFLAGS): Likewise.
18610 (TARGET_NO_STRIP): Likewise.
18611 (TARGET_NO_DYNAMIC_MODULES): Likewise.
18612 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
18613 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
18614 (grub-emu): New target.
18615 (GRUB_EMU): New variable.
18616 * configure.ac: Whitelist -emu as possible x86_64 architecture.
18617 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
18618 * loader/xnu.c: Likewise.
18619 * include/grub/pci.h: Likewise.
18620 * genemuinit.sh: New file.
18621 * genemuinitheader.sh: Likewise.
18622 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
18623 Support TARGET_NO_DYNAMIC_MODULES.
18624 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
18625 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
18626 * disk/loopback.c: Likewise.
18627 * font/font_cmd.c: Likewise.
18628 * partmap/acorn.c: Likewise.
18629 * partmap/amiga.c: Likewise.
18630 * partmap/apple.c: Likewise.
18631 * partmap/gpt.c: Likewise.
18632 * partmap/msdos.c: Likewise.
18633 * partmap/sun.c: Likewise.
18634 * parttool/msdospart.c: Likewise.
18635 * term/gfxterm.c: Likewise.
18636 * video/bitmap.c: Likewise.
18637 * video/readers/jpeg.c: Likewise.
18638 * video/readers/png.c: Likewise.
18639 * video/readers/tga.c: Likewise.
18640 * video/video.c: Likewise.
18641 * util/grub-emu.c (read_command_list): Removed.
18642 (main): Don't call util_init_nls.
18643 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
18644 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
18645
91fdd2ed
VS
186462010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18647
18648 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
18649 date.mod, datehook.mod.
18650 (datetime_mod_SOURCES): New variable.
18651 (datetime_mod_CFLAGS): Likewise.
18652 (datetime_mod_LDFLAGS): Likewise.
18653 (date_mod_SOURCES): Likewise.
18654 (date_mod_CFLAGS): Likewise.
18655 (date_mod_LDFLAGS): Likewise.
18656 (datehook_mod_SOURCES): Likewise.
18657 (datehook_mod_CFLAGS): Likewise.
18658 (datehook_mod_LDFLAGS): Likewise.
18659 * conf/sparc64-ieee1275.rmk: Likewise.
18660 * lib/ieee1275/datetime.c: New file.
18661
873ccae6
VS
186622010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18663
18664 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
18665 (ieee1275_fb_mod_SOURCES): New variable.
18666 (ieee1275_fb_mod_CFLAGS): Likewise.
18667 (ieee1275_fb_mod_LDFLAGS): Likewise.
18668 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
18669 New proto.
18670 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
18671 (HEAP_MAX_ADDR): Likewise.
18672 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
18673 type.
18674 Correct stop condition.
18675 (grub_ieee1275_devices_iterate): New function.
18676 * video/ieee1275.c: New file.
18677
601c97c0
VS
186782010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18679
18680 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
18681
18682 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
18683 as scratch.
18684 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
18685 SCRATCH_PAD_DISKBOOT as scratch.
18686 (bootit): Pass Openfirmware pointer in %o4.
18687 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
18688 of 0x200000.
18689 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
18690 with util/grub-mkrawimage.c.
18691 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
18692 * include/grub/aout.h (AOUT_MID_SUN): New definition.
18693 (grub_aout_get_type) [GRUB_UTIL]: Removed.
18694 (grub_aout_load) [GRUB_UTIL]: Likewise.
18695 * include/grub/kernel.h (grub_modules_get_end): New proto.
18696 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
18697 (SCRATCH_PAD_BOOT): New definition.
18698 (SCRATCH_PAD_DISKBOOT): Likewise.
18699 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
18700 * include/grub/sparc64/ieee1275/ieee1275.h
18701 (grub_ieee1275_original_stack): New variable
18702 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18703 New definition
18704 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
18705 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
18706 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
18707 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
18708 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
18709 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
18710 (grub_platform_image_format_t): New type.
18711 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
18712 * kern/main.c (grub_modules_get_end)
18713 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
18714 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
18715 (codestart): Switch stacks.
18716 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
18717 variable.
18718 (grub_heap_init): Use grub_modules_get_end.
18719 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
18720 stack.
18721 * util/grub-mkrawimage.c (generate_image): Support sparc64.
18722 (main): Likewise.
18723 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
18724
d68b491e
TG
187252010-03-14 Thorsten Glaser <tg@mirbsd.org>
18726
18727 * util/grub-mkrescue.in: Base ISO UUID on UTC.
18728
4e02ed50
MK
187292010-03-08 Matt Kraai <kraai@ftbfs.org>
18730
18731 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
18732 bug #559005).
18733
1f15fc1e
VS
187342010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
18735
18736 * genmoddep.awk: Output all missing symbols and not only first.
18737
fce5d8ff
VS
187382010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18739
18740 * NEWS: Put the date of 1.98 release.
18741
d1e8a02f
VS
187422010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18743
18744 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
18745 ft2build.h.
18746
696fd607
VS
187472010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18748
18749 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
18750 completition in the middle of string.
18751
33e2e6f3
VS
187522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18753
18754 * util/grub-mkrescue.in: Use mktemp with explicit template.
18755
b1f6d291
VS
187562010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18757
18758 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
18759
2ac227c7
VS
187602010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18761
18762 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
18763 right pointer.
18764
8f9a632b
VS
187652010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18766
18767 Fix FreeBSD compilation.
18768
18769 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
18770 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
18771
60b03859
VS
187722010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
18775
48a5a769
VS
187762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18777
18778 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
18779
3ab4bd77
VS
187802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18781
18782 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
18783
d116e0d8
RM
187842010-03-04 Robert Millan <rmh.grub@aybabtu.com>
18785
18786 Support relative image path in theme file.
18787
18788 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
18789 (image_set_property): Handle theme_dir and relative path.
18790
c7ef54aa
VS
187912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18792
18793 * configure.ac: Alias amd64 to x86_64.
18794
fcee14ed
VS
187952010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18796
18797 * NEWS: mention multiboot on EFI.
18798
d0780363
VS
187992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18800
18801 * kern/main.c (grub_load_modules): Handle errors from init functions of
18802 embeded modules.
18803
41168ea4
VS
188042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18805
18806 * normal/autofs.c (autoload_fs_module): Handle errors.
18807
b54d93ac
VS
188082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18809
18810 Disable linux.mod on qemu-mips since it's not functional and leads
18811 to compilation failure.
18812
18813 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
18814 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
18815 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
18816 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
18817 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
18818 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
18819 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
18820 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
18821 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
18822 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
18823 Reported by: BVK Chaitanya
18824
fc8345da
JU
188252010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
18826
18827 * INSTALL: Add gettext as a dependency and add qemu to a new section
18828 "Prerequisites for make-check".
18829
4760f979
CF
188302010-03-04 Christian Franke <franke@computer.org>
18831
18832 * util/grub-pe2elf.c: Add missing include "progname.h".
18833
f209b5b2
VS
188342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18835
18836 * normal/crypto.c (read_crypto_list): Fix a typo.
18837 Reported by: Seth Goldberg.
18838
b4b7be98
VS
188392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18840
18841 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 18842 Reported by: Seth Goldberg.
b4b7be98 18843
c0ee0385
VS
188442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
18847 ascii.bitmaps.
18848
a8efbf64
VS
188492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18850
18851 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 18852 Reported by: Seth Goldberg.
a8efbf64 18853
08dcd913
VS
188542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18855
18856 * util/i386/efi/grub-install.in: Copy gettext files.
18857
c4d0b332
VS
188582010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18859
18860 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
18861
c6f2fe52
VS
188622010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18863
18864 Wait for user entry basing on presence of output rather than on errors.
18865
18866 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
18867 (grub_install_newline_hook): Likewise.
18868 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
18869 * normal/menu.c (show_menu): Check line_counter to determine presence
18870 of output.
18871 * normal/term.c (grub_normal_line_counter): New variable.
18872 (grub_normal_get_line_counter): New function.
18873 (grub_install_newline_hook): Likewise.
18874
5382b1e4
VS
188752010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18876
18877 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
18878
5519963b
VS
188792010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18880
18881 * configure.ac: Update version to 1.98.
18882
72b28631
VS
188832010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
18884
18885 * util/grub.d/10_linux.in (linux_entry): Don't default to
18886 gfxpayload=keep if Linux doesn't support video handover.
18887
c140a180
VS
188882010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
18889
18890 Don't compile video modules on yeeloong since video subsystem is part
18891 of kernel.
18892
18893 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
18894 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
18895 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
18896 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
18897 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
18898 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
18899 * include/grub/bitmap_scale.h: Likewise.
18900 * include/grub/bufio.h: Likewise.
18901 * include/grub/font.h: Likewise.
18902 * include/grub/gfxterm.h: Likewise.
18903 * include/grub/video.h: Likewise.
18904 * include/grub/vbe.h: Don't include video_fb.h.
18905 * video/i386/pc/vbe.c: Include video_fb.h.
18906 * commands/i386/pc/vbetest.c: Include video.h.
18907
a0ca21c2
CW
189082010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
18909
18910 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
18911 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
18912 default entry if GRUB_SAVEDEFAULT=true. This allows using
18913 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
18914 saving a new default on every boot.
18915
4a8a763c
VS
189162010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
18917
18918 * normal/crypto.c (read_crypto_list): Fix a memory leak.
18919 * normal/term.c (read_terminal_list): Likewise.
18920 * normal/main.c (grub_normal_init_page): Likewise.
18921 (grub_normal_read_line_real): Likewise.
18922
607ffde2
VS
189232010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
18924
18925 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
18926 memory leak.
18927 Reported by: Seth Goldberg.
18928
2b8fa975
CW
189292010-02-24 Joey Korkames <joey+lists@kidfixit.com>
18930
18931 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
18932 duplicate declaration of `start'.
18933
618307dd
VS
189342010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
18935
18936 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
18937 filename.
18938 Reported by: Georgy Buranov
18939
7dd05b96 189402010-02-20 Carles Pina i Estany <carles@pina.cat>
18941
18942 * util/grub-mkrawimage.c (usage): Change string formatting to
18943 improve gettext.
18944
d1484a42
MRA
189452010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18946
18947 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
18948 backspace keys.
18949
42b1d186
VS
189502010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
18951
18952 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
18953 Reported by: Michael Suchanek.
18954
189552010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
18956
18957 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
18958 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
18959
d9f31a41
VS
189602010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
18961
18962 Remove any reference to non-free fonts.
18963
18964 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
18965 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
18966 uses non-free components.
18967 * font/font.c (grub_font_get_name): Remove example name.
18968 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
18969 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18970 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
18971 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
18972
2793c71e
GB
189732010-02-16 Georgy Buranov <gburanov@gmail.com>
18974
18975 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
18976
402e3779
VS
189772010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
18978
18979 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
18980 Double divisor.
18981 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
18982 features.
18983 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
18984
0dd1e0dd
VS
189852010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
18986
18987 * gensymlist.sh.in: Use TARGET_CC instead of CC.
18988
6fa7cfce
ST
189892010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18990
18991 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
18992 * docs/grub.texi (Command-line and menu entry commands): Document play
18993 command.
18994
37c8483b
ST
189952010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18996
18997 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
18998 parse arguments as inline tempo and notes. Move code for playing notes
18999 to...
19000 (play): ... new function.
19001
14da0fb7
ST
190022010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19003
19004 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19005 grub_uint16_t instead of short.
19006 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19007 disk from little endian to cpu endianness.
19008
04459e70
ST
190092010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19010
19011 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19012 GRUB_TICKS_PER_SECOND instead of 120.
19013
a0876943
VS
190142010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19015
19016 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19017 escape sequence after \e.
19018
e29f95dc
VS
190192010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19020
19021 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19022 non-ASCII characters.
19023
d27859b2
VS
190242010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19025
19026 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19027 set root in single quotes to prevent \, from being unescaped.
19028
bc028f2f
VS
190292010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19030
19031 Prevent unknown commands from stopping menuentry execution.
19032
19033 * script/execute.c (grub_script_execute_cmdline): Print error after
19034 unknown command.
19035
095f5f82
VS
190362010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19037
19038 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19039 Reported by: Pavel Pisa.
19040
8c717950
VS
190412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19042
19043 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19044
904935c3
VS
190452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19046
19047 Merge grub_ieee1275_map_physical into grub_map and rename to
19048 grub_ieee1275_map
19049
19050 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19051 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19052 Remove.
19053 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19054 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19055 necessary.
19056 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19057
5b59a4e3
VS
190582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19059
19060 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19061 opening and not after.
19062
69e137e8
VS
190632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19064
19065 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
19066 constants.
19067
2c0fcc36
VS
190682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19069
19070 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
19071 (alloc_phys): Use ALIGN_UP instead of align_addr.
19072
8c6052ce
VS
190732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19074
19075 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
19076
17cec782
VS
190772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19078
19079 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
19080
e0128bbd
VS
190812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19082
19083 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
19084 verbose dprintf.
19085
ca62070b
VS
190862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19087
19088 Fix over-4GiB seek on sparc64.
19089
19090 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
19091 Replace pos_i and pos_lo with pos. All users updated.
19092 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19093 New constant.
19094 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19095 Likewise.
19096 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
19097 and pos_lo.
19098
bdca2607
VS
190992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19100
19101 * util/grub-mkrawimage.c (main): Call set_program_name.
19102
da278c4d
VS
191032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19104
19105 Properly align 64-bit targets.
19106
19107 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
19108 (generate_image): Use ALIGN_ADDR.
19109
b274d734
VS
191102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19111
19112 Properly create cross-endian images.
19113
19114 * include/grub/types.h (grub_host_to_target_addr): New macro
19115 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
19116
82da2062
VS
191172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19118
19119 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
19120
7cae4377
VS
191212010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19122
19123 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
19124
19125 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
19126 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
19127 (grub_linux_boot): Divide by 64K when on VESA.
19128
65a533e7
VS
191292010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19130
19131 Support GRUB_GFXPAYLOAD_LINUX.
19132
19133 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
19134 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
19135
dd01d397
VS
191362010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19137
19138 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
19139 to show messages instead of discarding them.
19140 Process errors after executing command and not before. Keep old method
19141 too as precaution.
19142
660960d6
VS
191432010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
19144
19145 * configure.ac: Check for ft2build.h.
19146
62509f04
VS
191472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19148
19149 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
19150
473df63d
VS
191512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19152
19153 * genkernsyms.sh.in: Use TARGET_CC.
19154
c98d2a13
CW
191552010-02-07 Colin Watson <cjwatson@ubuntu.com>
19156
19157 * NEWS: Update.
19158
6e14234c
VS
191592010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19160
19161 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
19162 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
19163 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 19164
b255e9cf
YB
191652010-02-07 Yves Blusseau <blusseau@zetam.org>
19166
6e14234c 19167 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 19168
98e6959d
VS
191692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19170
19171 Fix warnings in grub-emu when compiling with maximum warning options.
19172
19173 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
19174 (grub_arch_modules_addr): Return 0 and not NULL.
19175 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 19176 (xstrdup): Use newstr instead of dup.
f88d801b
VS
19177 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
19178 of disk to dsk to avoid shadowing.
74e4934e
VS
19179 (find_free_slot): Fix prototype.
19180 * util/getroot.c (grub_util_is_dmraid): Make static.
19181 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
19182 Add missing prototype.
19183 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 19184
74e31b5c
VS
191852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19186
19187 * loader/i386/linux.c (grub_linux_setup_video): Handle error
19188 appropriately.
19189
6b2ad14b
VS
191902010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19191
19192 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
19193 code out.
19194
8f891adc
VS
191952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19196
19197 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
19198 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
19199 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
19200 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
19201 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
19202 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
19203
74b45184
VS
192042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19205
19206 * include/grub/err.h (grub_err_printf): Don't export.
19207
a4bced77
VS
192082010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19209
19210 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
19211
007d0695
VS
192122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19213
19214 * include/grub/i18n.h (grub_gettext_dummy): Removed.
19215 * kern/misc.c (grub_gettext_dummy): Make static.
19216
b6c0d9c2
VS
192172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19218
19219 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
19220 by non-valid ones.
19221 * kern/term.c (grub_putchar): Likewise.
19222
f51a90d0
VS
192232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19224
19225 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
19226 buggy hook call and memory leak.
19227
6846cec5
VS
192282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19229
19230 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
19231
468d69fe
VS
192322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19233
19234 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
19235
51906b8c
VS
192362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19237
19238 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
19239 modevar.
19240 Return grub_errno on allocation error.
19241
09706ce5
VS
192422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19243
19244 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
19245
911df80c
YB
192462010-02-06 Yves Blusseau <blusseau@zetam.org>
19247
19248 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
19249 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
19250
3746a6bc
VS
192512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19252
19253 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
19254 non-pxe disk.
19255 (grub_pxefs_open): Likewise.
19256
09706ce5
VS
192572010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19258
19259 * util/grub.d/10_hurd.in: Add --class information to menuentries.
19260 * util/grub.d/10_kfreebsd.in: Likewise.
19261 * util/grub.d/10_linux.in: Likewise.
19262
7cc192d9
VS
192632010-02-06 Colin D Bennett <colin@gibibit.com>
19264
19265 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
19266 (gfxmenu_mod_SOURCES): New variable.
19267 (gfxmenu_mod_CFLAGS): Likewise.
19268 (gfxmenu_mod_LDFLAGS): Likewise.
19269 * include/grub/term.h (grub_term_set_current_output): Declare
19270 argument as const.
19271 * docs/gfxmenu-theme-example.txt: New file.
19272 * gfxmenu/gfxmenu.c: Likewise.
19273 * gfxmenu/gui_box.c: Likewise.
19274 * gfxmenu/gui_canvas.c: Likewise.
19275 * gfxmenu/gui_circular_progress.c: Likewise.
19276 * gfxmenu/gui_image.c: Likewise.
19277 * gfxmenu/gui_label.c: Likewise.
19278 * gfxmenu/gui_list.c: Likewise.
19279 * gfxmenu/gui_progress_bar.c: Likewise.
19280 * gfxmenu/gui_string_util.c: Likewise.
19281 * gfxmenu/gui_util.c: Likewise.
19282 * gfxmenu/icon_manager.c: Likewise.
19283 * gfxmenu/model.c: Likewise.
19284 * gfxmenu/named_colors.c: Likewise.
19285 * gfxmenu/theme_loader.c: Likewise.
19286 * gfxmenu/view.c: Likewise.
19287 * gfxmenu/widget-box.c: Likewise.
19288 * include/grub/gfxmenu_model.h: Likewise.
19289 * include/grub/gfxmenu_view.h: Likewise.
19290 * include/grub/gfxwidgets.h: Likewise.
19291 * include/grub/gui.h: Likewise.
19292 * include/grub/gui_string_util.h: Likewise.
19293 * include/grub/icon_manager.h: Likewise.
19294
192952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19296
19297 Agglomerate scrolling in gfxterm.
19298
19299 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
19300 (grub_virtual_screen_setup): Initialise 'total_screen'.
19301 (write_char): Split to ...
19302 (paint_char): ... this ...
19303 (write_char): ... and this.
19304 (paint_char): Handle delayed scrolling.
19305 (draw_cursor): Likewise.
19306 (scroll_up): Split to ...
19307 (real_scroll): ... this ...
19308 (scroll_up): ... and this.
19309 (real_scroll): Handle multi-line scroll and draw below-the-bottom
19310 characters.
19311 (grub_gfxterm_refresh): Call real_scroll.
19312
193132010-02-06 Colin D Bennett <colin@gibibit.com>
19314
19315 * include/grub/misc.h (grub_iscntrl): New inline function.
19316 (grub_isalnum): Likewise.
19317 (grub_strtol): Likewise.
19318
193192010-02-06 Colin D Bennett <colin@gibibit.com>
19320
19321 * normal/menu_text.c (get_entry_number): Move from here ...
19322 * normal/menu.c (get_entry_number): ... moved here.
19323 * include/grub/menu.h (grub_menu_get_default_entry_index):
19324 New prototype.
19325 * normal/menu.c (grub_menu_get_default_entry_index): New function.
19326 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
19327 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
19328 (grub_menu_viewer_should_return): Likewise.
19329 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
19330 * normal/menu_text.c (run_menu): Enable menu switching.
19331 * normal/menu_viewer.c (should_return): New variable.
19332 (menu_viewer_changed): Likewise.
19333 (grub_menu_viewer_show_menu): Handle menu viewer changes.
19334 (grub_menu_viewer_should_return): New function.
19335 (menuviewer_write_hook): Likewise.
19336 (grub_menu_viewer_init): Likewise.
19337
193382010-02-06 Colin D Bennet <colin@gibibit.com>
193392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19340
19341 Support for gfxterm in a window.
19342
19343 * include/grub/gfxterm.h: New file.
19344 * include/grub/video.h (struct grub_video_rect): New declaration.
19345 (grub_video_rect_t): Likewise.
19346 * term/gfxterm.c (struct grub_gfxterm_window): New type.
19347 (refcount): New variable.
19348 (render_target): Likewise.
19349 (window): Likewise.
19350 (repaint_callback): Likewise.
19351 (grub_virtual_screen_setup): Use 'render_target'.
19352 (init_window): New function.
19353 (grub_gfxterm_init_window): Likewise.
19354 (grub_gfxterm_init): Check reference counter.
19355 Use init_window.
19356 (destroy_window): New function.
19357 (grub_gfxterm_destroy_window): Likewise.
19358 (grub_gfxterm_fini): Check reference counter.
19359 Use destroy_window.
19360 (redraw_screen_rect): Restore viewport.
19361 Use 'render_target' and 'window'.
19362 Call 'repaint_callback'.
19363 (write_char): Use 'render_target'.
19364 (draw_cursor): Likewise.
19365 (scroll_up): Restore viewport.
19366 Use 'render_target' and 'window'.
19367 Call 'repaint_callback'.
19368 (grub_gfxterm_cls): Likewise.
19369 (grub_gfxterm_refresh): Use 'window'.
19370 (grub_gfxterm_set_repaint_callback): New function.
19371 (grub_gfxterm_background_image_cmd): Use 'window'.
19372 (grub_gfxterm_get_term): New function.
19373 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
19374
193752010-02-06 Colin D Bennett <colin@gibibit.com>
19376
19377 Bitmap scaling support.
19378
19379 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
19380 (bitmap_scale_mod_SOURCES): New variable.
19381 (bitmap_scale_mod_CFLAGS): Likewise.
19382 (bitmap_scale_mod_LDFLAGS): Likewise.
19383 * include/grub/bitmap_scale.h: New file.
19384 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
19385 (background_image_cmd_options): New variable.
19386 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
19387 (cmd): Rename and change type to ...
19388 (background_image_cmd_handle): ... this. All users updated.
19389 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
19390 * video/bitmap_scale.c: New file.
19391
193922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19393
19394 SDL support.
19395
19396 * Makefile.in (LIBSDL): New variable.
19397 (enable_grub_emu_sdl): Likewise.
19398 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
19399 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
19400 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
19401 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
19402 * util/sdl.c: New file.
19403
194042010-02-06 Colin D Bennett <colin@gibibit.com>
194052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19406
19407 Double buffering support.
19408
19409 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
19410 * include/grub/video.h: Update comment.
19411 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
19412 New type.
19413 (grub_video_fb_doublebuf_blit_init): New prototype.
19414 * term/gfxterm.c (scroll_up): Support double buffering.
19415 (grub_gfxterm_refresh): Likewise.
19416 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
19417 (grub_video_fb_doublebuf_blit_init): Likewise.
19418 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
19419 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
19420 'displayed_page', 'render_page' and 'update_screen'.
19421 (grub_video_vbe_fini): Free offscreen buffer.
19422 (doublebuf_pageflipping_commit): New function.
19423 (doublebuf_pageflipping_update_screen): Likewise.
19424 (doublebuf_pageflipping_init): Likewise.
19425 (double_buffering_init): Likewise.
19426 (grub_video_vbe_setup): Enable doublebuffering.
19427 (grub_video_vbe_swap_buffers): Implement.
19428 (grub_video_vbe_set_active_render_target): Handle double buffering.
19429 (grub_video_vbe_get_active_render_target): Likewise.
19430 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
19431 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
19432 (grub_video_vbe_enable_double_buffering): Likewise.
19433 (grub_video_vbe_swap_buffers): Use update_screen.
19434 (grub_video_set_mode): Use double buffering.
19435
194362010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19437
19438 * maintainance/gentrigtables.py: Remove.
19439 * lib/trig.c: Likewise.
19440
19441 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
19442
19443 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
19444 `trigtables.c'.
19445 (trigtables.c): New rule.
19446 (gentrigtables): Likewise.
19447 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
19448
194492010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19450
19451 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
19452 integer constants.
19453
194542010-02-06 Colin D Bennet <colin@gibibit.com>
19455
19456 Trigonometry support.
19457
19458 * include/grub/trig.h: New file.
19459 * lib/trig.c: Likewise.
19460 * maintainance/gentrigtables.py: Likewise.
19461 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
19462 (trig_mod_SOURCES): New variable.
19463 (trig_mod_CFLAGS): Likewise.
19464 (trig_mod_LDFLAGS): Likewise.
19465
5562834e
VS
194662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19467
19468 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
19469 disk devices.
19470
4f8528fc
VS
194712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19472
19473 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
19474 error.
19475
2b4068e9
VS
194762010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19477
19478 * util/hostdisk.c (open_device): Don't use partition device when reading
19479 before the partition.
19480 (grub_util_biosdisk_read): Don't read from partition and before the
19481 partition in single operation.
19482 (grub_util_biosdisk_write): Don't write to partition and before the
19483 partition in single operation.
19484
399f6e4d
TL
194852010-02-03 Torsten Landschoff <torsten@debian.org>
19486
19487 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19488 last sectors.
19489
996649b0
VS
194902010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19491
19492 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
19493 CDROM reads.
19494 (grub_biosdisk_write): Refuse to write to CDROM.
19495
3b205d4d
VS
194962010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19497
19498 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
19499
61e89d9d
VS
195002010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19501
19502 * font/font.c (find_glyph): Check that bmp_idx is available before
19503 using it.
19504 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
19505 with (font == NULL).
19506
bf7fcba2
CS
195072010-01-28 Christian Schmitt <chris@ilovelinux.de>
19508
19509 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
19510
f45d2663
BC
195112010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
19512
19513 * include/grub/script_sh.h (sourcecode): Add const qualifier.
19514 * util/grub-script-check.c (getline): Fix empty lines case.
19515
ec1444e6
RM
195162010-01-28 Robert Millan <rmh.grub@aybabtu.com>
19517
19518 * Makefile.in (check): Exit with fail status when one of the tests
19519 fails.
19520 * tests/example_functional_test.c (example_test): Fix reversed assert.
19521 * tests/example_unit_test.c (example_test): Likewise.
19522
2e1cb9bb
CW
195232010-01-28 Colin Watson <cjwatson@ubuntu.com>
19524
19525 * util/grub.d/10_linux.in: This script does not use any of the
19526 contents of gettext.sh, only the external command `gettext', so stop
19527 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
19528 the same prefix as GRUB.)
19529 * util/grub.d/10_kfreebsd.in: Likewise.
19530
63533ab0
VS
195312010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19532
19533 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
19534 of the line.
19535
989e1f93
VS
195362010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19537
19538 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19539 last sectors.
19540
e709ebe2
VS
195412010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19542
19543 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
19544 having a 4KiB and not 32KiB buffer size.
19545
27dea7ed
RM
195462010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19547
19548 * util/hostfs.c: Include `<errno.h>'.
19549 (grub_hostfs_read): Handle errors from fseeko() and fread().
19550
67667b9c
RM
195512010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19552
19553 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
19554 loop when using read hooks on files whose size isn't sector-aligned.
19555
c294d9d8
RM
195562010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19557
19558 Remove unused parameter.
19559
19560 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
19561 (grub_iso9660_open): Remove initialization of `data->length'.
19562
af75a9f1
RM
195632010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19564
19565 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
19566 memleak conditions.
19567
254e2ce5 195682010-01-27 Carles Pina i Estany <carles@pina.cat>
19569
19570 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
19571 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
19572
b510928c 195732010-01-26 Carles Pina i Estany <carles@pina.cat>
19574
19575 * util/bin2h.c (usage): Fix warning (space after backslash).
19576
aa2f9dd2 195772010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 19578
19579 * font/font.c: Include `grub/fontformat.h.
19580 Remove font file format constants.
19581 (grub_font_load): Use the new macros.
19582 * include/grub/fontformat.h: New file.
19583 * util/grub-mkfont.c: Include `grub/fontformat.c'.
19584 (write_font_pf2): Use the new macros.
19585
94e7e712
RM
195862010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19587
19588 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
19589 does.
19590
3973a59a
RM
195912010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19592
19593 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
19594
19595 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
19596 (_start): Macroify `0x7F'.
19597
19598 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
19599 (make_install_device): Use "(pxe)" as fallback prefix when booting
19600 via PXE.
19601
42e0cba3
GS
196022010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
19603
19604 * configure.ac: Reset LIBS after check for libgcc symbols.
19605
847effd8
CW
196062010-01-25 Colin Watson <cjwatson@ubuntu.com>
19607
19608 * util/hostdisk.c (open_device): Add trailing newline to debug
19609 message.
19610
ea4a7e35
GS
196112010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
19612
19613 * configure.ac: Check for `limits.h'.
19614 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
19615
67951a53
RM
196162010-01-24 Robert Millan <rmh.grub@aybabtu.com>
19617
19618 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
19619 capitalize error strings.
19620
c273d4ce
ST
196212010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
19622
19623 * util/grub.d/10_hurd.in: Add a recovery mode.
19624
69be5b74
VS
196252010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
19626
19627 * configure.ac: Check for libgcc symbols with -nostdlib.
19628
fc9e5810
BC
196292010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
19630
19631 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
19632
4b358c0a
VS
196332010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19634
19635 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
19636 stack since heap may be unavailable at that point.
19637 (grub_ofconsole_gotoxy): Likewise.
19638
454fcd1c
VS
196392010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19640
19641 * configure.ac: Check for _restgpr_14_x.
19642 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
19643 and _savegpr_* prototypes.
19644
566863ca
RM
196452010-01-22 Robert Millan <rmh.grub@aybabtu.com>
19646
19647 Use generic grub_reboot() for i386-efi.
19648
19649 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
19650 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
19651 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
19652
bf86e59a
VS
196532010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19654
19655 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
19656 presence of "prefix" variable as it breaks when normal.mod is
19657 embedded.
19658
d645e0f8
VS
196592010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19660
19661 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
19662 stack since heap is unavailable at that point.
19663
f9ab2e25
VS
196642010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19665
19666 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
19667 (grub_freebsd_bootinfo): Rewritten.
19668 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
19669
01fc7054
VS
196702010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19671
19672 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
19673
caab4fd6
RM
196742010-01-21 Robert Millan <rmh.grub@aybabtu.com>
19675
19676 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
19677 domain now.
19678
67eb1427
FZ
196792010-01-20 Felix Zielcke <fzielcke@z-51.de>
19680
19681 * util/misc.c (make_system_path_relative_to_its_root): Change the work
19682 around for handling "/" to the correct fix. Fix a memory leak. Use
19683 xstrdup instead of strdup.
19684
a9ed4ff3
VS
196852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19686
19687 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
19688
196892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
19690
19691 Optimise glyph lookup by Basic Multilingual Plane lookup array.
19692
19693 * font/font.c (struct grub_font): New member 'bmp_idx'.
19694 (font_init): Initialise 'bmp_idx'.
19695 (load_font_index): Fill 'bmp_idx'.
19696 (find_glyph): Make inline. Use bmp_idx for BMP characters.
19697
48209f4f
VS
196982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19699
19700 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
19701 unnecessary calls.
19702
9f0a4bb7
VS
197032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19704
19705 Move context handling out of the kernel.
19706
19707 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
19708 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
19709 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
19710 * conf/i386-efi.rmk: Likewise.
19711 * conf/i386-ieee1275.rmk: Likewise.
19712 * conf/i386-pc.rmk: Likewise.
19713 * conf/powerpc-ieee1275.rmk: Likewise.
19714 * conf/sparc64-ieee1275.rmk: Likewise.
19715 * conf/x86_64-efi.rmk: Likewise.
19716 * include/grub/env.h: Include grub/menu.h.
19717 (grub_env_var_type): Removed.
19718 (grub_env_var): Replaced field 'type' with 'global'.
19719 (grub_env_find): New prototype.
19720 (grub_env_context_open): Remove EXPORT_FUNC.
19721 (grub_env_context_close): Likewise.
19722 (grub_env_export): Likewise.
19723 (grub_env_set_data_slot): Removed.
19724 (grub_env_get_data_slot): Likewise.
19725 (grub_env_unset_data_slot): Likewise.
19726 (grub_env_unset_menu): New prototype.
19727 (grub_env_set_menu): Likewise.
19728 (grub_env_get_menu): Likewise.
19729 * include/grub/env_private.h: New file.
19730 * include/grub/normal.h (grub_context_init): New prototype.
19731 (grub_context_fini): Likewise.
19732 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
19733 * normal/context.c (grub_cmd_export): ... to here.
19734 * kern/env.c: Include env_private.h.
19735 (HASHSZ): Moved to include/grub/env_private.h.
19736 (grub_env_context): Likewise.
19737 (grub_env_sorted_var): Likewise.
19738 (current_context): Renamed from this ...
19739 (grub_current_context): ...to this. 'static' removed. All users updated.
19740 (grub_env_find): Removed 'static'.
19741 (grub_env_context_open): Moved to normal/context.c.
19742 (grub_env_context_close): Likewise.
19743 (grub_env_export): Likewise.
19744 (mangle_data_slot_name): Removed.
19745 (grub_env_set_data_slot): Likewise.
19746 (grub_env_get_data_slot): Likewise.
19747 (grub_env_unset_data_slot): Likewise.
19748 * kern/main.c (grub_set_root_dev): Don't export root.
19749 It will be done later.
19750 (grub_main): Don't export prefix.
19751 It will be done later.
19752 * normal/context.c: New file.
19753 * normal/main.c (free_menu): Use grub_env_unset_menu.
19754 (grub_normal_add_menu_entry): Use grub_env_get_menu.
19755 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
19756 (GRUB_MOD_INIT(normal)): Call grub_context_init.
19757 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
19758
8dd35b8c
VS
197592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19760
19761 setpci support.
19762
19763 * commands/setpci.c: New file.
19764 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
19765 (setpci_mod_SOURCES): New variable.
19766 (setpci_mod_CFLAGS): Likewise.
19767 (setpci_mod_LDFLAGS): Likewise.
19768
449193d5
VS
197692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19770
19771 Byte-addressable PCI configuration space.
19772
19773 * bus/pci.c (grub_pci_make_address): Use byte address instead of
19774 dword address.
19775 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
19776 GRUB_PCI_REG_CACHELINE.
19777 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
19778 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
19779 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
19780 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
19781 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
19782 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
19783 grub_pci_make_address.
19784 (lock_rom_area): Likewise.
19785 * commands/lspci.c (grub_lspci_iter): Use macroses
19786 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
19787 of grub_pci_make_address.
19788 * disk/ata.c (grub_ata_pciinit): Likewise.
19789 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
19790 (GRUB_PCI_REG_VENDOR): Likewise.
19791 (GRUB_PCI_REG_DEVICE): Likewise.
19792 (GRUB_PCI_REG_COMMAND): Likewise.
19793 (GRUB_PCI_REG_STATUS): Likewise.
19794 (GRUB_PCI_REG_REVISION): Likewise.
19795 (GRUB_PCI_REG_CLASS): Likewise.
19796 (GRUB_PCI_REG_CACHELINE): Likewise.
19797 (GRUB_PCI_REG_LAT_TIMER): Likewise.
19798 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
19799 (GRUB_PCI_REG_BIST): Likewise.
19800 (GRUB_PCI_REG_ADDRESSES): Likewise.
19801 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19802 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19803 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19804 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19805 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19806 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19807 (GRUB_PCI_REG_CIS_POINTER): Likewise.
19808 (GRUB_PCI_REG_SUBVENDOR): Likewise.
19809 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
19810 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
19811 (GRUB_PCI_REG_CAP_POINTER): Likewise.
19812 (GRUB_PCI_REG_IRQ_LINE): Likewise.
19813 (GRUB_PCI_REG_IRQ_PIN): Likewise.
19814 (GRUB_PCI_REG_MIN_GNT): Likewise.
19815 (GRUB_PCI_REG_MAX_LAT): Likewise.
19816 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
19817 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
19818 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 19819 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
19820 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
19821 space.
19822
96d73208
RM
198232010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19824
19825 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
19826 can be reliably determined to be supported.
19827
d4484482
RM
198282010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19829
19830 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
19831 that VESA is supported.
19832 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
19833 supported.
19834
00308ecf
VS
198352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19836
19837 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
19838
f66924a4
RM
198392010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19840
19841 * util/misc.c (make_system_path_relative_to_its_root): Work around
19842 special-casing of "/", as previous incarnation of this routine did.
19843
cbca0ada
VS
198442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19845
19846 Fix any-emu compilation.
19847
19848 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
19849 * grub_bin2h_SOURCES: New variable.
19850
34a66d99
RM
198512010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19852
19853 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
19854
94fabf58
RM
198552010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19856
19857 * util/grub.d/00_header.in: Fix handling of locale_dir.
19858
02cf98ca
VS
198592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19860
19861 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
19862 as possible unifont location (Gentoo).
19863 Reported by: Alexander Brüning
19864
327dbcd7
VS
198652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19866
19867 Don't try to generate lists for kernel.img.
19868
19869 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
19870 (pkglib_MODULES): Remove kernel.img.
19871 (kernel_img_EXPORTS): Removed.
19872 (kernel_img_RELOCATABLE): New variable.
19873 * conf/x86_64-efi.rmk: Likewise.
19874 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
19875
ca467290
VS
198762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19877
19878 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
19879 grub_xasprintf or grub_snprintf.
19880 (grub_vsprintf): Likewise.
19881 (grub_snprintf): New proto.
19882 (grub_vsnprintf): Likewise.
19883 (grub_xasprintf): Likewise.
19884 (grub_xvasprintf): Likewise.
19885 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
19886 (grub_sprintf): Removed.
19887 (grub_vsnprintf): New function.
19888 (grub_snprintf): Likewise.
19889 (grub_xvasprintf): Likewise.
19890 (grub_xasprintf): Likewise.
19891 (grub_vsprintf): Renamed to ...
19892 (grub_vsnprintf_real): ...this. New argument max_len.
19893
aca655fd
BC
198942010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
19895
19896 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
19897 fix grub-script-check warning.
19898
7ee92c32
VS
198992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19900
19901 * include/grub/font.h (grub_font_load): Fix prototype.
19902
f80927ca
VS
199032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19904
19905 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
19906
119c50ea
VS
199072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19908
19909 * include/grub/x86_64/at_keyboard.h: New file.
19910
47d5f3c1
VS
199112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19912
19913 * loader/mips/linux.c: Include missing grub/i18n.h.
19914
55ff5266
RM
199152009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19916
19917 * normal/menu.c (notify_execution_failure): Clarify error message.
19918
c893cc87
RM
199192009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19920
19921 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
19922 return value (and revert all return statements). Update users.
19923
917dd370
CW
199242010-01-20 Dan Merillat <debian@dan.merillat.org>
19925
19926 * kern/device.c (grub_device_iterate): Allocate new part_ent
19927 structure based on sizeof (*p) rather than sizeof (p->next), to
19928 account for structure padding.
19929
19930 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
19931 disk is NULL, which might happen for LVM physical volumes with no
19932 LVM signature.
19933
d4a4ee57
RM
199342009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19935
19936 * loader/mips/linux.c (grub_cmd_initrd)
19937 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
19938
199392009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19940
19941 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
19942 (grub_video_video_init, grub_video_bitmap_init)
19943 (grub_font_manager_init, grub_term_gfxterm_init)
19944 (grub_at_keyboard_init): New extern declarations.
19945 (grub_machine_init): Initialize gfxterm and at_keyboard.
19946
19947 * kern/main.c (grub_main): Revert grub_printf delay kludge.
19948
19949 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
19950 `gfxterm.mod' into core image.
19951
19952 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19953 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19954 (kernel_img_FORMAT): Copy to ...
19955
19956 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19957 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19958 (kernel_img_FORMAT): ... here, and ...
19959
19960 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19961 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19962 (kernel_img_FORMAT): ... here.
19963
19964 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
19965 and input (at_keyboard) terminals in kernel.
19966 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
19967
19968 (pkglib_MODULES): Remove `pci.mod'.
19969 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
19970 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
19971 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
19972 (at_keyboard_mod_LDFLAGS): Remove variables.
19973
199742010-01-11 Felix Zielcke <fzielcke@z-51.de>
19975
19976 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
19977
199782009-12-10 Robert Millan <rmh.grub@aybabtu.com>
19979
19980 * include/grub/mips/libgcc.h: Only export symbols for functions
19981 that libgcc provides.
19982
199832009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
19984
19985 MIPS support.
19986
19987 * bus/bonito.c: New file.
19988 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
19989 GRUB_PCI_NUM_DEVICES.
19990 * term/i386/pc/serial.c: Move to ...
19991 * term/serial.c: ... here. All users updated.
19992 * util/i386/pc/grub-mkimage.c: Move to ...
19993 * util/grub-mkrawimage.c: ... here. All users updated.
19994 * term/i386/pc/at_keyboard.c: Move to ...
19995 * term/at_keyboard.c: ... here. All users updated.
19996 * conf/mips-qemu-mips.rmk: New file.
19997 * conf/mips-yeeloong.rmk: Likewise.
19998 * conf/mips.rmk: Likewise.
19999 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20000 mipsel-qemu-mips.
20001 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20002 to port addresses.
20003 (grub_ata_pciinit): Support CS5536.
20004 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20005 * font/font_cmd.c (loadfont_command): Open file before passing it to
20006 grub_font_load.
20007 (pseudo_file_read): New function.
20008 (pseudo_file_close): Likewise.
20009 (pseudo_fs): New structure.
20010 (load_font_module): New function.
20011 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20012 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20013 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20014 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20015 * include/grub/i386/at_keyboard.h: Split into ...
20016 * include/grub/at_keyboard.h: ... this ...
20017 * include/grub/i386/at_keyboard.h: ... and this.
20018 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20019 New prototype.
20020 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20021 updated.
20022 (grub_elf64_size): Likewise.
20023 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20024 filename.
20025 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20026 * include/grub/i386/coreboot/serial.h: Rewritten.
20027 * include/grub/i386/ieee1275/serial.h: Include
20028 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20029 * include/grub/i386/pc/serial.h: Moved from here ...
20030 * include/grub/serial.h: ... to here. All users updated.
20031 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20032 (GRUB_PCI_NUM_BUS): Likewise.
20033 (GRUB_PCI_NUM_DEVICES): Likewise.
20034 (grub_pci_device_map_range): Add missing volatile keyword.
20035 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20036 * include/grub/mips/at_keyboard.h: New file.
20037 * include/grub/mips/cache.h: Likewise.
20038 * include/grub/mips/io.h: Likewise.
20039 * include/grub/mips/kernel.h: Likewise.
20040 * include/grub/mips/libgcc.h: Likewise.
20041 * include/grub/mips/pci.h: Likewise.
20042 * include/grub/mips/qemu-mips/boot.h: Likewise.
20043 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20044 * include/grub/mips/qemu-mips/loader.h: Likewise.
20045 * include/grub/mips/qemu-mips/memory.h: Likewise.
20046 * include/grub/mips/qemu-mips/serial.h: Likewise.
20047 * include/grub/mips/qemu-mips/time.h: Likewise.
20048 * include/grub/mips/relocator.h: Likewise.
20049 * include/grub/mips/time.h: Likewise.
20050 * include/grub/mips/types.h: Likewise.
20051 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20052 * include/grub/mips/yeeloong/boot.h: Likewise.
20053 * include/grub/mips/yeeloong/kernel.h: Likewise.
20054 * include/grub/mips/yeeloong/loader.h: Likewise.
20055 * include/grub/mips/yeeloong/memory.h: Likewise.
20056 * include/grub/mips/yeeloong/pci.h: Likewise.
20057 * include/grub/mips/yeeloong/serial.h: Likewise.
20058 * include/grub/mips/yeeloong/time.h: Likewise.
20059 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20060 * kern/elf.c (grub_elf32_size): New parameter. All users
20061 updated.
20062 (grub_elf64_size): Likewise.
20063 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
20064 Load modules before saying "Welcome to GRUB!".
20065 Call grub_refresh after saying "Welcome to GRUB!".
20066 * kern/mips/cache.S: New file.
20067 * kern/mips/cache_flush.S: Likewise.
20068 * kern/mips/dl.c: Likewise.
20069 * kern/mips/init.c: Likewise.
20070 * kern/mips/qemu-mips/init.c: Likewise.
20071 * kern/mips/startup.S: Likewise.
20072 * kern/mips/yeeloong/init.c: Likewise.
20073 * kern/term.c (grub_putcode): Handle NULL terminal.
20074 (grub_getcharwidth): Likewise.
20075 (grub_getkey): Likewise.
20076 (grub_checkkey): Likewise.
20077 (grub_getkeystatus): Likewise.
20078 (grub_getxy): Likewise.
20079 (grub_getwh): Likewise.
20080 (grub_gotoxy): Likewise.
20081 (grub_cls): Likewise.
20082 (grub_setcolorstate): Likewise.
20083 (grub_setcolor): Likewise.
20084 (grub_getcolor): Likewise.
20085 (grub_refresh): Likewise.
20086 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
20087 (write_jump): Add hatch nop.
20088 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
20089 * lib/mips/setjmp.S: New file.
20090 * loader/mips/linux.c: Likewise.
20091 * term/i386/pc/at_keyboard.c: Move from here ...
20092 * term/at_keyboard.c: ... to here.
20093 * term/i386/pc/serial.c: Moved from here ...
20094 * term/serial.c: ... to here. All users updated.
20095 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
20096 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
20097 (serial_translate_key_sequence): Avoid deadlock.
20098 (grub_serial_getkey): Handle backspace.
20099 (grub_serial_putchar): Fix newline handling.
20100 * util/i386/pc/grub-mkimage.c: Move from here ...
20101 * util/grub-mkrawimage.c: ... to here. All users updated.
20102 (generate_image): New parameters 'font_path' and 'format'.
20103 Support embedding font.
20104 Use grub_host_to_target* instead of grub_cpu_to_le*.
20105 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
20106 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
20107 (options): New option "--font".
20108 (usage): Likewise.
20109 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
20110 (main): Handle "--font".
20111 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
20112 (grub_virtual_screen_setup): Set bg_color_display.
20113 (redraw_screen_rect): Use bg_color_display instead of incorrect
20114 bg_color.
20115 (grub_gfxterm_cls): Likewise.
20116 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
20117 Support embedding config file.
20118 (add_segments): Likewise.
20119 (options): New option "--config".
20120 (main): Handle "--config".
20121 * video/sm712.c: New file.
20122
25c2b5b3
RM
201232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20124
20125 Fix parallel builds.
20126
20127 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
20128 font.c depend on ascii.h).
20129
201302010-01-12 Carles Pina i Estany <carles@pina.cat>
20131
20132 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
20133
201342010-01-11 Carles Pina i Estany <carles@pina.cat>
20135
20136 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
20137 By default: disabled.
20138 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
20139 parameter.
20140
201412010-01-10 Carles Pina i Estany <carles@pina.cat>
20142
20143 * font/font.c: Update copyright years.
20144 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
20145
201462010-01-10 Carles Pina i Estany <carles@pina.cat>
20147
20148 * font/font.c: Include `ascii.h'.
20149 (ASCII_BITMAP_SIZE): New macro.
20150 (ascii_font_glyph): Define.
20151 (ascii_glyph_lookup): New function.
20152 (grub_font_get_string_width): Change comment. If glyph not found, use
20153 ascii_glyph_lookup.
20154 (grub_font_get_glyph_with_fallback): If glyph not available returns
20155 ascii_glyph_lookup.
20156 * util/grub-mkfont.c (file_formats): New enum.
20157 (options): Add `ascii-bitmaps' new option.
20158 (usage): Add `asii-bitmaps' new option.
20159 (write_font_ascii_bitmap): New function.
20160 (write_font): Rename to ...
20161 (write_font_p2): ... this. Remove print_glyphs call.
20162 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
20163 used. Call print_glyphs.
20164 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
20165
201662010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20167
20168 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
20169 (grub_bin2h_SOURCES): New variable.
20170 * util/bin2h.c: New file.
20171
915fc1b8
VS
201722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20173
20174 * include/multiboot.h: Resynced with spec.
20175 * include/multiboot2.h: Likewise.
20176 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
20177 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
20178
9444b678
RM
201792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20180
20181 * include/grub/term.h (grub_term_register_input,
20182 grub_term_register_output): Check return of terminal init()
20183 routines, and abort if errors are raised.
20184
20185 * commands/terminal.c: Update copyright year.
20186
cba98e8d
RM
201872010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20188
20189 * commands/terminal.c (grub_cmd_terminal_input)
20190 (grub_cmd_terminal_output): Check return of terminal init()
20191 routines, and abort if errors are raised.
20192
6f7db5d6
VS
201932010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20194
20195 * include/grub/i386/bsd.h: Fix include pathes.
20196
262bff8d
VS
201972010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20198
20199 Add missing *BSD copyright headers.
20200
20201 * include/grub/aout.h: Add BSD licence.
20202 * include/grub/i386/bsd.h: Parts under different licences moved to ...
20203 * include/grub/i386/freebsd_linker.h: ... here,
20204 * include/grub/i386/freebsd_reboot.h: ... here,
20205 * include/grub/i386/netbsd_bootinfo.h: ... here,
20206 * include/grub/i386/netbsd_reboot.h: ... here,
20207 * include/grub/i386/openbsd_bootarg.h: ... here,
20208 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
20209 licence to each file.
20210
b2cab848
RM
202112010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20212
20213 * acinclude.m4: Remove `nop' assembly instruction; it's not
20214 implemented by all architectures.
20215
2cb6be4b
RM
202162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20217
20218 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
20219 ELILO. This is no longer necessary.
20220
a2eaee15
BC
202212010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
20222
20223 Added new tool, grub-scrit-check to verify grub.cfg syntax.
20224
20225 * util/grub-script-check.c: grub-script-check tool.
20226 * conf/common.rmk: Make rules for grub-script-check.
20227
88d17012
RM
202282010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20229
20230 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
20231 spotting it back in 2008. Shame on me for forgetting he did.
20232
20233 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
20234
8040619d
RM
202352010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20236
20237 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
20238 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
20239 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
20240 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
20241 (GRUB_VIDEO_TYPE_EFI): Rename to ...
20242 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
20243
a0c2a0f6
RM
202442010-01-17 Robert Millan <rmh.grub@aybabtu.com>
20245
20246 * include/grub/test.h: Add license header.
20247 * tests/example_functional_test.c: Likewise.
20248 * tests/example_unit_test.c: Likewise.
20249 * tests/lib/functional_test.c: Likewise.
20250 * tests/lib/test.c: Likewise.
20251 * tests/lib/unit_test.c: Likewise.
20252
b0b13907
VS
202532010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
20254
20255 Use flag-based instead of hook-based video mode selection and "auto"
20256 keyword.
20257
20258 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
20259 (grub_video_set_mode): Changed prototype. All users updated.
20260 (grub_video_check_mode_flag): New inline function.
20261 * video/video.c (parse_modespec): New function.
20262 (grub_video_set_mode): Parse flags and keywords.
20263
ea379330 202642010-01-17 Carles Pina i Estany <carles@pina.cat>
20265
20266 * util/misc.c (grub_util_info): Fix the order of the parameters in a
20267 fprintf call.
20268
e15c215e
FZ
202692010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
20270
20271 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
20272
409ae1c9 202732010-01-16 Carles Pina i Estany <carles@pina.cat>
20274
20275 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
20276 string.
20277 * util/grub-emu.c (usage): Likewise.
20278 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
20279 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20280 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20281 * util/i386/pc/grub-setup.c (usage): Likewise.
20282
70a14d3d 202832010-01-16 Carles Pina i Estany <carles@pina.cat>
20284
20285 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
20286 the message.
20287 (grub_util_info): Likewise.
20288 (grub_util_error): Likewise.
20289 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
20290 and/or new lines in `grub_util_warna', `grub_util_info',
20291 `grub_util_error' calls.
20292 * util/getroot.c: Likewise.
20293 * util/grub-editenv.c: Likewise.
20294 * util/grub-emu.c: Likewise.
20295 * util/grub-fstest.c: Likewise.
20296 * util/grub-mkdevicemap.c: Likewise.
20297 * util/grub-mkfont.c: Likewise.
20298 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20299 * util/grub-mkrelpath.c: Likewise.
20300 * util/grub-pe2elf.c: Likewise.
20301 * util/grub-probe.c: Likewise.
20302 * util/hostdisk.c: Likewise.
20303 * util/i386/efi/grub-mkimage.c: Likewise.
20304 * util/i386/pc/grub-mkimage.c: Likewise.
20305 * util/i386/pc/grub-setup.c: Likewise.
20306 * util/ieee1275/ofpath.c: Likewise.
20307 * util/mkisofs/eltorito.c: Likewise.
20308 * util/mkisofs/rock.c: Likewise.
20309 * util/mkisofs/write.c: Likewise.
20310 * util/raid.c: Likewise.
20311 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20312 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20313
a0b766fc
VS
203142010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20315
20316 Enable multiboot on non-pc.
20317
20318 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
20319 multiboot.mod and multiboot2.mod to ...
20320 * conf/i386.rmk (pkglib_MODULES): ... here.
20321 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
20322 Moved to ...
20323 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
20324 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
20325 Moved to ...
20326 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
20327 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
20328 Moved to ...
20329 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
20330 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
20331 Moved to ...
20332 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
20333 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
20334 relocator.mod.
20335 (ata_mod_SOURCES): Removed.
20336 (ata_mod_CFLAGS): Likewise.
20337 (ata_mod_LDFLAGS): Likewise.
20338 (relocator_mod_SOURCES): Removed.
20339 (relocator_mod_CFLAGS): Likewise.
20340 (relocator_mod_ASFLAGS): Likewise.
20341 (relocator_mod_LDFLAGS): Likewise.
20342 Include i386.mk.
20343 * include/grub/x86_64/multiboot.h: New file.
20344 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
20345 Terminate EFI.
20346
884ade56
VS
203472010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20348
20349 Video multiboot support.
20350
20351 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
20352 New prototype.
20353 * include/multiboot.h: Resynced with multiboot specification.
20354 * include/multiboot2.h: Likewise.
20355 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
20356 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
20357 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
20358 (HAS_VGA_TEXT): Likewise.
20359 (accepts_video): New variable.
20360 (grub_multiboot_set_accepts_video): New function.
20361 (grub_multiboot_get_mbi_size): Account for video structures.
20362 (set_video_mode): New function.
20363 (retrieve_video_parameters): Likewise.
20364 (grub_multiboot_make_mbi): Fill video fields.
20365
0d90e8a6
VS
203662010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20367
20368 Video driver ids.
20369
20370 * include/grub/video.h (grub_video_driver_id): New type.
20371 (grub_video_adapter): New member 'id'. All users updated.
20372 (grub_video_get_driver_id): New proto.
20373 * video/video.c (grub_video_get_driver_id): New function.
20374
5c71db1b 203752010-01-14 Carles Pina i Estany <carles@pina.cat>
20376
20377 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
20378 `var=val'.
20379
cca15b52 203802010-01-14 Carles Pina i Estany <carles@pina.cat>
20381
20382 * normal/cmdline.c (print_completion): Gettextizze.
20383
c586fbb2 203842001-01-14 Carles Pina i Estany <carles@pina.cat>
20385
20386 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
20387
ba2f6848 203882010-01-14 Carles Pina i Estany <carles@pina.cat>
20389
20390 * gettext/gettext.c (grub_gettext_translate): Push and pop
20391 grub_errno.
20392 (grub_gettext_delete_list): Change comment style.
20393 * kern/err.c (grub_error): Gettextizze.
20394 (grub_fatal): Gettextizze.
20395
0a46429a
RM
203962010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20397
20398 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
20399 (grub_linux16_real_boot): ... this.
20400 * kern/i386/loader.S: Likewise.
20401 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
20402 (grub_linux16_boot): New function. Switches to text mode and calls
20403 grub_linux16_real_boot().
20404
20405 * loader/i386/bsd.c: Include `<grub/video.h>'.
20406 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
20407 text mode before calling grub_unix_real_boot().
20408
20409 * loader/i386/multiboot.c: Include `<grub/video.h>'.
20410 (grub_multiboot_boot): Switch to text mode before calling
20411 grub_relocator32_boot().
20412
20413 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
20414 (grub_chainloader_boot): Switch to text mode before calling
20415 grub_chainloader_real_boot().
20416
d6f93a66
RM
204172010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
204182010-01-05 Colin Watson <cjwatson@ubuntu.com>
20419
20420 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
20421 non-empty value.
20422
204232010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
204242010-01-05 Colin Watson <cjwatson@ubuntu.com>
20425
20426 * util/grub.d/00_header.in: Define a "savedefault" function for use
20427 in menu entries.
20428 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
20429
204302010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
204312010-01-05 Colin Watson <cjwatson@ubuntu.com>
20432
20433 * util/grub-mkconfig_lib.in (save_default_entry): Only set
20434 saved_entry if boot_once is unset.
20435 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
20436 previous saved entry (i.e. grub-reboot).
20437
204382009-12-08 Colin Watson <cjwatson@ubuntu.com>
20439
20440 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
20441
204422009-12-08 Colin Watson <cjwatson@ubuntu.com>
20443
20444 * util/grub.d/00_header.in: Use `set var=val' rather than plain
20445 `var=val'.
20446 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
20447
204482009-12-08 Colin Watson <cjwatson@ubuntu.com>
20449
20450 * util/grub-reboot.in: Fix --version output.
20451 * util/grub-set-default.in: Likewise.
20452
204532009-12-08 Colin Watson <cjwatson@ubuntu.com>
20454
20455 * util/grub.d/00_header.in: Silently ignore zero-sized environment
20456 blocks.
20457
204582009-12-08 Colin Watson <cjwatson@ubuntu.com>
20459
20460 * util/grub.d/00_header.in: Quote the value assigned to `default',
20461 in case it contains spaces.
20462
204632009-12-08 Colin Watson <cjwatson@ubuntu.com>
20464
20465 * util/grub.d/30_os-prober.in: Fix merge error that moved a
20466 `save_default_entry' call from the macosx case to the linux case.
20467
204682009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
204692009-10-25 Colin Watson <cjwatson@ubuntu.com>
20470
20471 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
20472 in `chosen' environment variable.
20473 * normal/menu_text.c (get_entry_number): Check if the variable
20474 matches the title of a menu entry.
20475 (run_menu): Pass menu to get_entry_number.
20476
20477 * util/grub-reboot.in: New file.
20478 * util/grub-set-default.in: New file.
20479 * conf/common.rmk (grub-reboot): New utility.
20480 (grub-set-default): New utility.
20481
20482 * util/grub-mkconfig_lib.in (save_default_entry): New function.
20483 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
20484 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
20485 move it to `saved_entry' for the next boot. Load environment on
20486 initialisation.
20487 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
20488 * util/grub.d/10_hurd.in: Likewise.
20489 * util/grub.d/10_linux.in (linux_entry): Likewise.
20490 * util/grub.d/10_windows.in: Likewise.
20491 * util/grub.d/30_os-prober.in: Likewise.
20492
20493 * util/grub-install.in: Create environment block.
20494 * util/i386/efi/grub-install.in: Likewise.
20495 * util/ieee1275/grub-install.in: Likewise.
20496 * util/sparc64/ieee1275/grub-install.in: Likewise.
20497
0934d184
BC
204982010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
20499
20500 Unit testing framework for GRUB.
20501
20502 * Makefile.in: Test framework build rules for 'make check'.
20503 * conf/tests.rmk: Build rules for individual tests and framework.
20504
20505 * include/grub/test.h: Header file for whitebox tests.
20506 * tests/lib/functional_test.c: Framework support for whitebox
20507 functional tests.
20508 * tests/lib/test.c: Common whitebox testing code for unit and
20509 functional tests.
20510 * tests/lib/unit_test.c: Framework support for whitebox unit
20511 tests.
20512
20513 * tests/util/grub-shell-tester.in: Support utility for grub-script
20514 tests.
20515 * tests/util/grub-shell.in: Utility to execute grub-script
20516 commands in a Qemu instance.
20517
20518 * tests/example_functional_test.c: Example whitebox functional
20519 test.
20520 * tests/example_grub_script_test.in: Example grub-script test.
20521 * tests/example_scripted_test.in: Example scripted test.
20522 * tests/example_unit_test.c: Example whitebox unit test.
20523
9c4ffeeb
VS
205242010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20525
20526 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
20527 Add loader/i386/multiboot_mbi.c.
20528 (multiboot2_mod_SOURCES): Likewise.
20529 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
20530 (multiboot2_mod_SOURCES): Likewise.
20531 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
20532 (grub_multiboot_make_mbi): Likewise.
20533 (grub_multiboot_free_mbi): Likewise.
20534 (grub_multiboot_init_mbi): Likewise.
20535 (grub_multiboot_add_module): Likewise.
20536 (grub_multiboot_set_bootdev): Likewise.
20537 * loader/i386/multiboot.c (mbi): Removed.
20538 (mbi_dest): Likewise.
20539 (alloc_mbi): New variable.
20540 (grub_multiboot_payload_size): Removed. All users updated.
20541 (grub_multiboot_pure_size): New variable.
20542 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
20543 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
20544 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
20545 (grub_fill_multiboot_mmap): Likewise.
20546 (grub_multiboot_get_bootdev): Likewise.
20547 (grub_multiboot): Use multiboot_mbi functions.
20548 * loader/i386/multiboot_mbi.c: New file.
20549
17383dfe
VS
205502010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20551
20552 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
20553 it would result in module crash.
20554
c1f28820
VS
205552010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20556
20557 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
20558 (grub_ofconsole_getwh): Split to ...
20559 (grub_ofconsole_getwh): ... this.
20560 (grub_ofconsole_dimensions): ...and this.
20561 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
20562
58655a16
RM
205632010-01-13 Robert Millan <rmh.grub@aybabtu.com>
20564
20565 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
20566
10891398
VS
205672010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20568
20569 * loader/i386/pc/multiboot2.c: Removed stalled file.
20570
0b8a223c
VS
205712010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20572
20573 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
20574 Reported by: Grégoire Sutre
20575
92ab12b0
RM
205762010-01-11 Robert Millan <rmh.grub@aybabtu.com>
20577
20578 * util/misc.c (canonicalize_file_name): New function.
20579 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
20580 instead of realpath().
20581
a788afb6
CW
205822010-01-11 Colin Watson <cjwatson@ubuntu.com>
20583
20584 * util/grub-install.in (usage): Clarify meaning of --root-directory,
20585 and make it clearer that it's optional. Based on confusion
20586 witnessed on IRC.
20587
ffa8e3d2
VS
205882010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20589
20590 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
20591 in premature implicit newline.
20592
e9060a9d
VS
205932010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20594
20595 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
20596 which resulted in garbled command line at the end of screen.
20597
f0d0c0b7
RM
205982010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20599
20600 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
20601 initialization with similar approach as with other Linux loaders.
20602
0e60bae7
RM
206032010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20604
20605 Fix i386-ieee1275 build.
20606
20607 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
20608 and grub_term_height() for video_{width,height} initialization.
20609
206102010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
20611
20612 Fix grub-emu build.
20613
20614 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
20615
cdb3f378
RM
206162010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
206172010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20618
20619 Support for multiple terminals.
20620
20621 * Makefile.in (pkglib_DATA): terminal.lst.
20622 (terminal.lst): New target.
20623 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
20624 (GRUB_MOD_INIT(handler)): Likewise.
20625 (GRUB_MOD_FINI(handler)): Likewise.
20626 * commands/help.c (grub_cmd_help): Handle multiple terminals.
20627 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
20628 * commands/sleep.c (do_print): Use grub_term_restore_pos.
20629 (grub_cmd_sleep): Use grub_term_save_pos.
20630 * commands/terminal.c: New file.
20631 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
20632 commands/terminal.c and lib/charset.c.
20633 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
20634 (pkglib_MODULES): Add terminal.mod.
20635 (terminal_mod_SOURCES): New variable.
20636 (terminal_mod_CFLAGS): Likewise.
20637 (terminal_mod_LDFLAGS): Likewise.
20638 * genhandlerlist.sh: Don't handle terminals.
20639 * genmk.rb: Generate terminal-*.lst.
20640 * genterminallist.sh: New file.
20641 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
20642 (grub_is_valid_utf8): Likewise.
20643 (grub_utf8_to_ucs4_alloc): Likewise.
20644 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
20645 (grub_menu_register_viewer): Changed argument.
20646 (grub_menu_try_text): New proto.
20647 (grub_gfxmenu_try_hook): New declaration.
20648 * include/grub/normal.h (grub_normal_exit_level): New declaration.
20649 (grub_menu_init_page): Additional argument term.
20650 (grub_normal_init_page): Likewise.
20651 (grub_cmdline_get): Arguments simplified.
20652 (grub_utf8_to_ucs4_alloc): Removed.
20653 (grub_print_ucs4): Additional argument term.
20654 (grub_getstringwidth): Likewise.
20655 (grub_print_message_indented): Likewise.
20656 (grub_menu_text_register_instances): New proto.
20657 (grub_show_menu): Likewise.
20658 (read_terminal_list): Likewise.
20659 (grub_set_more): Likewise.
20660 * include/grub/parser.h: Include handler.h.
20661 * include/grub/reader.h: Rewritten.
20662 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
20663 (GRUB_TERM_WIDTH): Changed to function.
20664 (GRUB_TERM_HEIGHT): Likewise.
20665 (GRUB_TERM_BORDER_WIDTH): Likewise.
20666 (GRUB_TERM_BORDER_HEIGHT): Likewise.
20667 (GRUB_TERM_NUM_ENTRIES): Likewise.
20668 (GRUB_TERM_ENTRY_WIDTH): Likewise.
20669 (GRUB_TERM_CURSOR_X): Likewise.
20670 (grub_term_input_class): Likewise.
20671 (grub_term_output_class): Likewise.
20672 (grub_term_outputs_disabled): New declaration.
20673 (grub_term_inputs_disabled): Likewise.
20674 (grub_term_outputs): Likewise.
20675 (grub_term_inputs): Likewise.
20676 (grub_term_register_input): Rewritten.
20677 (grub_term_register_output): Likewise.
20678 (grub_term_unregister_input): Likewise.
20679 (grub_term_unregister_output): Likewise.
20680 (FOR_ACTIVE_TERM_INPUTS): New macro.
20681 (FOR_DISABLED_TERM_INPUTS): Likewise.
20682 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20683 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
20684 * include/grub/terminfo.h: Add oterm argument to all protypes.
20685 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
20686 Use grub_rescue_run.
20687 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
20688 All users updated.
20689 * kern/reader.c: Removed. All users updated.
20690 * kern/rescue_reader.c (grub_rescue_init): Removed.
20691 (grub_rescue_reader): Likewise.
20692 (grub_register_rescue_reader): Likewise.
20693 (grub_rescue_run): New function based on kern/reader.c.
20694 * kern/term.c: Adapted for multiterm.
20695 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
20696 (grub_is_valid_utf8): Likewise.
20697 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
20698 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
20699 right terminal.
20700 * loader/i386/linux.c (grub_linux_boot): Likewise.
20701 * normal/auth.c (grub_username_get): New function.
20702 (grub_auth_check_authentication): Use grub_username_get.
20703 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
20704 * normal/color.c: Adapt for multiterm.
20705 * normal/main.c (read_config_file): Don't use grub_reader_loop.
20706 (grub_normal_init_page): Additional argument term.
20707 (read_lists): Call read_terminal_lists.
20708 (grub_enter_normal_mode): Call grub_cmdline_run.
20709 Handle grub_normal_exit_level.
20710 (grub_cmd_normal): Make reentrant.
20711 (grub_cmd_normal_exit): New function.
20712 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
20713 * normal/menu.c: Adapt for multiterm.
20714 * normal/menu_entry.c: Likewise.
20715 * normal/menu_text.c: Likewise.
20716 * normal/menu_viewer.c: Removed. All users updated.
20717 * normal/term.c: New file.
20718 * util/console.c: Change order of includes to workaround a bug in
20719 ncurses headers.
20720 * term/terminfo.c: New argument oterm on all exported functions.
20721 All users updated.
20722 * util/grub-editenv.c (grub_term_input_class): Removed.
20723 (grub_term_output_class): Likewise.
20724
1a064917
RM
207252010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20726
20727 Make loader output a bit more user-friendly.
20728
20729 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
20730 is being loaded. Likewise for the Hurd.
20731
20732 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
20733 that kernel of FreeBSD ${version} is being loaded.
20734
20735 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
20736 grub_dprintf().
20737 (grub_cmd_initrd): Likewise.
20738 * util/grub.d/10_linux.in (linux_entry): Print message indicating
20739 that Linux ${version} is being loaded. Likewise for initrd.
20740
5ce0a83a 207412010-01-09 Carles Pina i Estany <carles@pina.cat>
20742
20743 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
20744
809bbfeb 207452010-01-08 Carles Pina i Estany <carles@pina.cat>
20746
20747 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
20748 (GRUB_MOD_INIT): Gettextizze.
20749 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
20750 (GRUB_MOD_INIT): Gettextizze.
20751 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
20752 (grub_cmd_linux): Capitalise Linux.
20753 (GRUB_MOD_INIT): Gettextizze.
20754 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
20755 (grub_cmd_linux): Capitalise Linux.
20756 (GRUB_MOD_INIT): Gettextizze.
20757 * loader/i386/linux.c: Include `<grub/i18n.h>'.
20758 (grub_cmd_linux): Capitalise Linux.
20759 (GRUB_MOD_INIT): Gettextizze.
20760 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
20761 (GRUB_MOD_INIT): Gettextizze.
20762 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
20763 (grub_cmd_linux): Capitalise Linux.
20764 (GRUB_MOD_INIT): Gettextizze.
20765 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
20766 (grub_cpu_xnu_init): Gettextizze.
20767 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
20768 (GRUB_MOD_INIT): Gettextizze.
20769 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
20770 (GRUB_MOD_INIT): Gettextizze.
20771 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
20772 (grub_linux_load64): Capitalise Linux.
20773 (GRUB_MOD_INIT): Gettextizze.
20774 * loader/xnu.c: Include `<grub/i18n.h>'.
20775 (GRUB_MOD_INIT): Gettextizze.
20776 * po/POTFILES: Add `loader/efi/appleloader.c',
20777 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
20778 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
20779 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
20780 `loader/i386/xnu.c', `loader/multiboot_loader.c',
20781 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
20782 and `loader/xnu.c'.
20783
b394b2ca
RM
207842010-01-08 Robert Millan <rmh.grub@aybabtu.com>
20785
20786 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
20787
207882010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
20789
20790 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
20791 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
20792 * util/mkisofs/mkisofs.c (main): Readjust --version output.
20793
bc8b32b3
RM
207942010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20795
20796 Reset Multiboot 2 support. New loader implements the draft in
20797 /branches/multiboot2 and shares as much code as possible with the
20798 production Multiboot 1 implementation.
20799
20800 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
20801 * loader/multiboot2.c: Likewise.
20802 * loader/i386/multiboot_helper.S: Likewise.
20803 * include/multiboot2.h: Replace with latest version from the draft
20804 in /branches/multiboot2.
20805
20806 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
20807 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
20808 and `loader/multiboot2.c'.
20809 (pkglib_MODULES): Add `multiboot2.mod'.
20810 (multiboot2_mod_SOURCES): New variable.
20811 (multiboot2_mod_LDFLAGS): Likewise.
20812 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
20813
20814 * conf/i386-pc.rmk: Likewise.
20815
20816 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20817 (multiboot_mod_SOURCES): Remove variable.
20818 (multiboot_mod_LDFLAGS): Likewise.
20819 (multiboot_mod_CFLAGS): Likewise.
20820
20821 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
20822 `<multiboot2.h>' instead of `<multiboot.h>'.
20823 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
20824 (MULTIBOOT_HEADER_MAGIC): New macros.
20825
20826 * loader/multiboot_loader.c (module_version_status): Remove variable.
20827 (find_multi_boot2_header): Remove function.
20828 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
20829 logic. Always check for the Multiboot version we're compiling for.
20830 (grub_cmd_module_loader): Likewise.
20831 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
20832 command instead of `multiboot'.
20833
5d2c52b8
RM
208342010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20835
20836 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
20837 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
20838 all users.
20839
53108d92
RM
208402010-01-07 Robert Millan <rmh.grub@aybabtu.com>
208412010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20842
20843 Fix breakage introduced with previous commit.
20844
20845 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
20846 commands.
20847 * normal/handler.c (read_handler_list): Revert part of previous commit
20848 affecting this file.
20849 * normal/main.c (read_lists): Move read_handler_list() call back to ...
20850 (grub_normal_execute): ... here.
20851
e2e936b2
RM
208522010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20853
20854 Merge prefix-redefinition-fix branch.
20855
20856 * normal/autofs.c (read_fs_list): Make function capable of being
20857 run multiple times, gracefuly replacing the previous data
20858 structures.
20859 * normal/dyncmd.c (read_command_list): Likewise.
20860 * normal/handler.c (read_handler_list): Likewise.
20861 * normal/main.c (read_lists): New function. Calls all the
20862 list reading functions.
20863 (grub_normal_execute): Use read_lists() instead of calling all
20864 list reading functions explicitly. Register read_lists() as a
20865 variable hook attached to ${prefix}.
20866
607a3701
VS
208672010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20868
20869 Merge crypto branch.
20870
20871 * Makefile.in (pkglib_DATA): Add crypto.lst.
20872 (crypto.lst): New target.
20873 * commands/hashsum.c: New file.
20874 * commands/password.c (check_password): Use grub_crypto_memcmp.
20875 * commands/password_pbkdf2.c: New file.
20876 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
20877 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
20878 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
20879 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
20880 -I$(srcdir)/lib/libgcrypt_wrap.
20881 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
20882 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
20883 password_pbkdf2.mod.
20884 (crypto_mod_SOURCES): New variable.
20885 (crypto_mod_CFLAGS): Likewise.
20886 (crypto_mod_LDFLAGS): Likewise.
20887 (hashsum_mod_SOURCES): New variable.
20888 (hashsum_mod_CFLAGS): Likewise.
20889 (hashsum_mod_LDFLAGS): Likewise.
20890 (pbkdf2_mod_SOURCES): New variable.
20891 (pbkdf2_mod_CFLAGS): Likewise.
20892 (pbkdf2_mod_LDFLAGS): Likewise.
20893 (password_pbkdf2_mod_SOURCES): New variable.
20894 (password_pbkdf2_mod_CFLAGS): Likewise.
20895 (password_pbkdf2_mod_LDFLAGS): Likewise.
20896 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
20897 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
20898 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
20899 Include conf/gcry.rmk.
20900 * include/grub/auth.h: Rewritten.
20901 * include/grub/crypto.h: New file.
20902 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
20903 * include/grub/normal.h (read_crypto_list): New prototype.
20904 * lib/crypto.c: New file.
20905 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20906 * lib/pbkdf2.c: Likewise.
20907 * normal/auth.c (grub_auth_strcmp): Removed.
20908 (grub_iswordseparator): Likewise.
20909 (grub_auth_strword): Likewise.
20910 (is_authenticated): Use grub_strword.
20911 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
20912 and grub_strword. Pass entered password to authentication callback.
20913 * normal/crypto.c: New file.
20914 * normal/main.c: Call read_crypto_list.
20915 * util/grub-mkpasswd-pbkdf2.c: New file.
20916 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
20917
42841caa
VS
209182010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
20919
20920 Fix descent and ascent calculation.
20921
20922 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
20923 (options): New option "asce".
20924 (usage): Likewise.
20925 (add_char): Ignore invalid glyphs for descent calculation.
20926 Calculate ascent from actual content.
20927 (print_glyphs): Use 'asce'.
20928 (write_font): Likewise. Allow ascent override.
20929 (main): Handle "asce" option.
20930
e7730de7 209312010-01-06 Carles Pina i Estany <carles@pina.cat>
20932
20933 * kern/err.c: Include `<grub/i18n.h>'.
20934 (grub_print_error): Add full stop. Gettextizze.
20935 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
20936 (grub_bsd_load_elf): Capitalise ELF.
20937 (grub_cmd_freebsd_loadenv): Add `s' in error string.
20938 (grub_cmd_freebsd_module): Likewise.
20939 (grub_cmd_freebsd_module_elf): Likewise.
20940 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
20941
40e3a41f 209422010-01-06 Carles Pina i Estany <carles@pina.cat>
20943
20944 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
20945 * commands/search_file.c (HELP_MESSAGE): New macro.
20946 * commands/search_label.c (HELP_MESSAGE): Likewise.
20947 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
20948 * po/POTFILES: Add `commands/search_file.c',
20949 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
20950 `commands/search.c'.
20951
83507e68
RM
209522010-01-05 Robert Millan <rmh.grub@aybabtu.com>
20953
20954 * config.rpath: Update from Gnulib.
20955
465c787b
YB
209562010-01-05 Yves Blusseau <blusseau@zetam.org>
20957
20958 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
20959
6581dd3a
YB
209602010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
20961
20962 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
20963
3bff18c5
CW
209642010-01-05 Colin Watson <cjwatson@ubuntu.com>
20965
20966 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
20967 arguments to fread so that we get a return value in bytes, rather
20968 than something that will normally be rounded down to 0.
20969 Adjust error handling to avoid producing garbage when size_t is not
20970 the same size as long long.
20971
a1368118
CW
209722010-01-05 Colin Watson <cjwatson@ubuntu.com>
20973
20974 * util/mkisofs/write.c (padblock_write): Check return value of
20975 fread.
20976
7c302978
RM
209772010-01-05 Robert Millan <rmh.grub@aybabtu.com>
20978
20979 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
20980 floppy images now.
20981
20982 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
20983
e33ace06
RM
209842010-01-04 Robert Millan <rmh.grub@aybabtu.com>
20985
20986 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
20987 instead of manual alignment.
20988 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
20989 verbose). Avoid attempts to read past end of the device
20990 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
20991 but GRUB_DISK_CACHE_SIZE may exceed that).
20992
4b856776
RM
209932010-01-04 Robert Millan <rmh.grub@aybabtu.com>
20994
20995 * commands/crc.c (grub_cmd_crc): Abort on read errors.
20996 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
20997 it to upper layer.
20998
52c2d97f
VS
209992010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21000
21001 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21002 New constant.
21003 (grub_efi_piwg_device_path): New structure
21004 (grub_efi_piwg_device_path_t): New type.
21005 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21006 (devpath_1): Transform to a structure. All users updated.
21007 (devpath_2): Likewise.
21008 (devpath_3): Likewise.
21009 (devpath_4): Likewise.
21010 (devpath_5): Likewise.
21011
98ff6a54
VS
210122010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21013
21014 * loader/efi/appleloader.c: Restored. Update all users.
21015
3a73dcb6
RM
210162010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21017
21018 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21019
21020 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21021 (struct boot_blocklist): Move from here ...
21022 * include/grub/i386/pc/boot.h [ASM_FILE]
21023 (struct grub_boot_blocklist): ... to here. Update all users.
21024 (setup): Only initialize `start' member of `first_block'
21025 structure. Add assert() calls to verify the other members.
21026
21027 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21028 (generate_image): Fix broken blocklist length initialization.
21029 Add assert() call to verify blocklist `segment' field.
21030
ab0eeb0c
RM
210312010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21032
21033 * loader/efi/appleloader.c: Remove. Update all users.
21034
58bc8bd5
RM
210352010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21036
21037 * boot/i386/pc/boot.S: Update copyright year.
21038 * boot/i386/pc/cdboot.S: Likewise.
21039 * boot/i386/pc/diskboot.S: Likewise.
21040 * boot/i386/pc/lnxboot.S: Likewise.
21041 * boot/i386/pc/pxeboot.S: Likewise.
21042 * bus/pci.c: Likewise.
21043 * commands/cmp.c: Likewise.
21044 * commands/help.c: Likewise.
21045 * commands/hexdump.c: Likewise.
21046 * commands/i386/pc/halt.c: Likewise.
21047 * commands/i386/pc/play.c: Likewise.
21048 * commands/i386/pc/vbeinfo.c: Likewise.
21049 * commands/ls.c: Likewise.
21050 * commands/test.c: Likewise.
21051 * disk/dmraid_nvidia.c: Likewise.
21052 * disk/i386/pc/biosdisk.c: Likewise.
21053 * disk/ieee1275/nand.c: Likewise.
21054 * disk/ieee1275/ofdisk.c: Likewise.
21055 * disk/lvm.c: Likewise.
21056 * disk/raid.c: Likewise.
21057 * disk/raid6_recover.c: Likewise.
21058 * disk/scsi.c: Likewise.
21059 * fs/affs.c: Likewise.
21060 * fs/cpio.c: Likewise.
21061 * fs/ext2.c: Likewise.
21062 * fs/hfs.c: Likewise.
21063 * fs/iso9660.c: Likewise.
21064 * fs/ntfs.c: Likewise.
21065 * fs/sfs.c: Likewise.
21066 * fs/udf.c: Likewise.
21067 * fs/ufs.c: Likewise.
21068 * fs/xfs.c: Likewise.
21069 * gencmdlist.sh: Likewise.
21070 * genmk.rb: Likewise.
21071 * include/grub/disk.h: Likewise.
21072 * include/grub/efi/api.h: Likewise.
21073 * include/grub/efi/efi.h: Likewise.
21074 * include/grub/efi/pe32.h: Likewise.
21075 * include/grub/elf.h: Likewise.
21076 * include/grub/fs.h: Likewise.
21077 * include/grub/i386/at_keyboard.h: Likewise.
21078 * include/grub/i386/pc/memory.h: Likewise.
21079 * include/grub/i386/pc/vbe.h: Likewise.
21080 * include/grub/i386/pci.h: Likewise.
21081 * include/grub/i386/tsc.h: Likewise.
21082 * include/grub/ieee1275/ieee1275.h: Likewise.
21083 * include/grub/ntfs.h: Likewise.
21084 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21085 * include/grub/sparc64/libgcc.h: Likewise.
21086 * include/grub/symbol.h: Likewise.
21087 * include/grub/types.h: Likewise.
21088 * include/multiboot2.h: Likewise.
21089 * io/gzio.c: Likewise.
21090 * kern/device.c: Likewise.
21091 * kern/disk.c: Likewise.
21092 * kern/efi/efi.c: Likewise.
21093 * kern/efi/mm.c: Likewise.
21094 * kern/elf.c: Likewise.
21095 * kern/file.c: Likewise.
21096 * kern/i386/dl.c: Likewise.
21097 * kern/i386/pc/init.c: Likewise.
21098 * kern/i386/pc/startup.S: Likewise.
21099 * kern/ieee1275/ieee1275.c: Likewise.
21100 * kern/ieee1275/init.c: Likewise.
21101 * kern/main.c: Likewise.
21102 * kern/mm.c: Likewise.
21103 * kern/powerpc/dl.c: Likewise.
21104 * kern/sparc64/dl.c: Likewise.
21105 * kern/x86_64/dl.c: Likewise.
21106 * lib/hexdump.c: Likewise.
21107 * loader/efi/appleloader.c: Likewise.
21108 * loader/i386/ieee1275/linux.c: Likewise.
21109 * loader/i386/pc/chainloader.c: Likewise.
21110 * loader/i386/pc/linux.c: Likewise.
21111 * loader/i386/pc/multiboot2.c: Likewise.
21112 * loader/ieee1275/multiboot2.c: Likewise.
21113 * loader/multiboot2.c: Likewise.
21114 * loader/multiboot_loader.c: Likewise.
21115 * loader/powerpc/ieee1275/linux.c: Likewise.
21116 * normal/completion.c: Likewise.
21117 * normal/menu_entry.c: Likewise.
21118 * partmap/apple.c: Likewise.
21119 * util/grub.d/10_hurd.in: Likewise.
21120 * util/hostfs.c: Likewise.
21121 * video/readers/png.c: Likewise.
21122
e2d70b5c
CW
211232010-01-03 Colin Watson <cjwatson@ubuntu.com>
21124
21125 * include/grub/misc.h (GNUC_PREREQ): New macro.
21126 (ATTRIBUTE_ERROR): New macro.
21127 * include/grub/list.h (grub_bad_type_cast_real): Use
21128 ATTRIBUTE_ERROR.
21129
a173283f 211302010-01-03 Carles Pina i Estany <carles@pina.cat>
21131
21132 * normal/menu_text.c (print_message): Change messages.
21133
7fa7ff74 211342010-01-03 Carles Pina i Estany <carles@pina.cat>
21135
21136 * normal/menu_entry.c (store_completion): Gettextizze.
21137
136d24f6 211382010-01-03 Carles Pina i Estany <carles@pina.cat>
21139
21140 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
21141
f936862e 211422010-01-03 Carles Pina i Estany <carles@pina.cat>
21143
21144 * po/POTFILES: Sort correctly.
21145
29c44ad1 211462010-01-03 Carles Pina i Estany <carles@pina.cat>
21147
21148 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
21149 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
21150 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
21151 full stop.
21152 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
21153 summary. Gettextizze the strings.
21154 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
21155 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
21156 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
21157 full stop.
21158 (GRUB_MOD_INIT): Remove command name from summary.
21159 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
21160 summary.
21161 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
21162 * term/i386/pc/serial.c (options): Add full stops.
21163 (GRUB_MOD_INIT): Remove command name from the summary.
21164
77a79592 211652010-01-03 Carles Pina i Estany <carles@pina.cat>
21166
21167 * commands/acpi.c: Gettextizze help strings and/or options. Include
21168 `grub/i18n.h' if needed.
21169 * commands/blocklist.c: Likewise.
21170 * commands/boot.c: Likewise.
21171 * commands/cat.c: Likewise.
21172 * commands/cmp.c: Likewise.
21173 * commands/configfile.c: Likewise.
21174 * commands/crc.c: Likewise.
21175 * commands/date.c: Likewise.
21176 * commands/echo.c: Likewise.
21177 * commands/efi/fixvideo.c: Likewise.
21178 * commands/efi/loadbios.c: Likewise.
21179 * commands/gptsync.c: Likewise.
21180 * commands/halt.c: Likewise.
21181 * commands/handler.c: Likewise.
21182 * commands/hdparm.c: Likewise.
21183 * commands/hexdump.c: Likewise.
21184 * commands/i386/cpuid.c: Likewise.
21185 * commands/i386/pc/drivemap.c: Likewise.
21186 * commands/i386/pc/halt.c: Likewise.
21187 * commands/i386/pc/pxecmd.c: Likewise.
21188 * commands/i386/pc/vbeinfo.c: Likewise.
21189 * commands/i386/pc/vbetest.c: Likewise.
21190 * commands/ieee1275/suspend.c: Likewise.
21191 * commands/keystatus.c: Likewise.
21192 * commands/loadenv.c: Likewise.
21193 * commands/ls.c: Likewise.
21194 * commands/lsmmap.c: Likewise.
21195 * commands/lspci.c: Likewise.
21196 * commands/memrw.c: Likewise.
21197 * commands/minicmd.c: Likewise.
21198 * commands/parttool.c: Likewise.
21199 * commands/password.c: Likewise.
21200 * commands/probe.c: Likewise.
21201 * commands/read.c: Likewise.
21202 * commands/reboot.c: Likewise.
21203 * commands/search.c: Likewise.
21204 * commands/sleep.c: Likewise.
21205 * commands/test.c: Likewise.
21206 * commands/true.c: Likewise.
21207 * commands/usbtest.c: Likewise.
21208 * commands/videotest.c: Likewise.
21209 * commands/xnu_uuid.c: Likewise.
21210 * disk/loopback.c: Likewise.
21211 * hello/hello.c: Likewise.
21212 * loader/i386/bsd.c: Likewise.
21213 * term/i386/pc/serial.c: Likewise.
21214 * po/POTFILES: Add new files.
21215
da8d5c53
CW
212162010-01-02 Colin Watson <cjwatson@ubuntu.com>
21217
21218 * term/i386/pc/at_keyboard.c
21219 (keyboard_controller_wait_untill_ready): Rename to ...
21220 (keyboard_controller_wait_until_ready): ... this. Update all users.
21221
33937904 212222010-01-01 Carles Pina i Estany <carles@pina.cat>
21223
21224 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
21225 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
21226 string using string width.
21227 * normal/menu_text.c (grub_print_message_indented): Use
21228 grub_print_spaces and not print_spaces.
21229 (print_timeout): Likewise.
21230 (print_spaces): Move to...
21231 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
21232
3fd3b8d8
RM
212332010-01-01 Robert Millan <rmh.grub@aybabtu.com>
21234
21235 Import from Gnulib.
21236
21237 * gnulib/getdelim.c: New file.
21238 * gnulib/getline.c: Likewise.
21239
33433555
VS
212402009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
21241
21242 * include/grub/list.h (grub_assert_fail): Removed.
21243 (grub_bad_type_cast_real): New function.
21244 (grub_bad_type_cast): New macro.
21245 (GRUB_AS_LIST): Use grub_bad_type_cast.
21246 (GRUB_AS_LIST_P): Likewise.
e44721e8 21247 (GRUB_AS_NAMED_LIST): Likewise.
33433555 21248 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 21249 (GRUB_AS_PRIO_LIST): Likewise.
33433555 21250 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 21251 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 21252
f5a51306
VS
212532009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
21254
21255 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
21256 Fix syntax error.
21257
90d1e879
RM
212582009-12-29 Robert Millan <rmh.grub@aybabtu.com>
21259
21260 * configure.ac: Check for TARGET_CFLAGS initialization before we
21261 initialize it ourselves (sigh).
21262 Move a few modifications to TARGET_CFLAGS to be unconditional
21263 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
21264 eh_frame)
21265
21266 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
21267 * term/i386/pc/at_keyboard.c
21268 (keyboard_controller_wait_untill_ready): Likewise.
21269 (keyboard_controller_led): Rename `led_status' paramter to avoid
21270 name conflict.
21271
465b5a81 212722009-12-28 Carles Pina i Estany <carles@pina.cat>
21273
21274 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
21275 quotes.
21276
c181849b
VS
212772009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21278
21279 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
21280
9c8739a4
VS
212812009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21282
21283 * normal/menu_text.c (grub_print_message_indented): Prevent
21284 past-the-end-of-array dereference.
21285
3e74249c
VS
212862009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21287
21288 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
21289 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
21290
64fd18ed 212912009-12-27 Carles Pina i Estany <carles@pina.cat>
21292
21293 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
21294 * normal/main.c (grub_normal_read_line): Remove a space from the
21295 default prompt.
21296
714af9b9 212972009-12-27 Carles Pina i Estany <carles@pina.cat>
21298
21299 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
21300 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21301 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21302 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21303 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21304 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21305 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21306
82f3e412 213072009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 21308
21309 * video/readers/jpeg.c (cmd): Declare.
21310 (grub_cmd_jpegtest): Use `grub_command_t' type.
21311 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21312 Assign to `cmd'.
21313 (GRUB_MOD_FINI): Use `cmd' to unregister.
21314 * video/readers/png.c (cmd): Declare.
21315 (grub_cmd_pngtest): Use `grub_command_t' type.
21316 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21317 Assign to `cmd'.
21318 (GRUB_MOD_FINI): Use `cmd' to unregister.
21319 * video/readers/tga.c (cmd): Declare.
21320 (grub_cmd_tgatest): Use `grub_command_t' type.
21321 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21322 Assign to `cmd'.
21323 (GRUB_MOD_FINI): Use `cmd' to unregister.
21324
82f3e412 213252009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 21326
21327 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
21328 stops.
21329 * kern/corecmd.c (grub_register_core_commands): Likewise.
21330 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
21331 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21332 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
21333 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21334 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21335 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
21336 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21337 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
21338 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21339 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21340 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21341 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21342 * normal/handler.c (insert_handler): Likewise.
21343 * normal/main.c (GRUB_MOD_INIT): Likewise.
21344 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21345
fdcdbb66 213462009-12-26 Carles Pina i Estany <carles@pina.cat>
21347
21348 * commands/help.c (grub_cmd_help): Print the command name before the
21349 summary.
21350 (GRUB_MOD_INIT): Remove command name from the summary.
21351 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 21352 string as summary.
fdcdbb66 21353 * lib/arg.c (find_long): Print the command name before the summary.
21354 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
21355 summary.
21356 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
21357 * commands/cat.c (GRUB_MOD_INIT): Likewise.
21358 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
21359 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21360 * commands/crc.c (GRUB_MOD_INIT): Likewise.
21361 * commands/date.c (GRUB_MOD_INIT): Likewise.
21362 * commands/echo.c (GRUB_MOD_INIT): Likewise.
21363 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
21364 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21365 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21366 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
21367 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
21368 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
21369 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
21370 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21371 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
21372 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
21373 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
21374 * commands/ls.c (GRUB_MOD_INIT): Likewise.
21375 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21376 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21377 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21378 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
21379 * commands/password.c (GRUB_MOD_INIT): Likewise.
21380 * commands/probe.c (GRUB_MOD_INIT): Likewise.
21381 * commands/read.c (GRUB_MOD_INIT): Likewise.
21382 * commands/search.c (GRUB_MOD_INIT): Likewise.
21383 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
21384 * commands/test.c (GRUB_MOD_INIT): Likewise.
21385 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
21386 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21387 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21388 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
21389 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21390 * lib/arg.c (GRUB_MOD_INIT): Likewise.
21391 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
21392 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21393 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21394 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21395 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21396 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
21397 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
21398 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
21399
9c288be2
VS
214002009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21401
21402 Use search command for preliminar UUID search.
21403
21404 * commands/search.c: Split into ...
21405 * commands/search_wrap.c: ...this
21406 * commands/search.c: ...and this.
21407 * commands/search_file.c: New file.
21408 * commands/search_label.c: New file.
21409 * commands/search_uuid.c: New file.
21410 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
21411 Add commands/search_wrap.c, commands/search_file.c,
21412 commands/search_label.c and commands/search_uuid.c.
21413 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
21414 (search_mod_SOURCES): Set to commands/search_wrap.c.
21415 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
21416 search_label.mod.
21417 (search_fs_file_mod_SOURCES): New variable.
21418 (search_fs_file_mod_CFLAGS): Likewise.
21419 (search_fs_file_mod_LDFLAGS): Likewise.
21420 (search_label_mod_SOURCES): Likewise.
21421 (search_label_mod_CFLAGS): Likewise.
21422 (search_label_mod_LDFLAGS): Likewise.
21423 (search_fs_uuid_mod_SOURCES): New variable.
21424 (search_fs_uuid_mod_CFLAGS): Likewise.
21425 (search_fs_uuid_mod_LDFLAGS): Likewise.
21426 (fs_file_mod_SOURCES): Removed.
21427 (fs_file_mod_CFLAGS): Likewise.
21428 (fs_file_mod_LDFLAGS): Likewise.
21429 (fs_uuid_mod_SOURCES): Removed.
21430 (fs_uuid_mod_CFLAGS): Likewise.
21431 (fs_uuid_mod_LDFLAGS): Likewise.
21432 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
21433 Set to util/grub-install.in.
21434 * disk/fs_file.c: Removed.
21435 * disk/fs_uuid.c: Likewise.
21436 * include/grub/search.h: New file.
21437 * util/grub-install.in: Handle sparc64.
21438 Create and use load.cfg.
21439 * util/sparc64/ieee1275/grub-install.in: Removed.
21440
db943399
VS
214412009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21442
21443 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
21444 Ignore return status if CF is cleared.
21445 (grub_biosdisk_get_diskinfo_standard): Likewise.
21446
3fdae612
RM
214472009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21448
21449 * term/i386/pc/at_keyboard.c
21450 (keyboard_controller_wait_untill_ready): New function.
21451 (grub_keyboard_controller_write, grub_keyboard_controller_read)
21452 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
21453 for keyboard polling, rather than duplicate the same loop. This
21454 saves a few bytes in code size.
21455
7ebaa2b4
VS
214562009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21457
21458 Support for (pxe[:server[:gateway]]) syntax and
21459 use environment variable for PXE.
21460
21461 * commands/i386/pc/pxecmd.c (options): Removed.
21462 (print_ip): Removed.
21463 (grub_cmd_pxe): Removed
21464 (grub_cmd_pxe_unload): New function.
21465 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
21466 (grub_pxe_your_ip): Made static.
21467 (grub_pxe_default_server_ip): Likewise.
21468 (grub_pxe_default_gateway_ip): Likewise.
21469 (grub_pxe_blksize): Likewise.
21470 (parse_ip): New function.
21471 (grub_pxe_open): Support server and gateway specification.
21472 (grub_pxe_close): Free disk->data.
21473 (grub_pxefs_open): Use disk->data.
21474 (grub_pxefs_read): Likewise.
21475 (grub_env_write_readonly): New function.
21476 (set_mac_env): Likewise.
21477 (set_env_limn_ro): Likewise.
21478 (parse_dhcp_vendor): Likewise.
21479 (grub_pxe_detect): Set the environment variables.
21480 (set_ip_env): New function.
21481 (write_ip_env): Likewise.
21482 (grub_env_write_pxe_default_server): Likewise.
21483 (grub_env_write_pxe_default_gateway): Likewise.
21484 (grub_env_write_pxe_blocksize): Likewise.
21485 (GRUB_MOD_INIT(pxe)): Set environment variables.
21486 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
21487 (grub_pxe_mac_addr_t): ... this. All users updated.
21488 (grub_pxe_your_ip): Removed.
21489 (grub_pxe_server_ip): Likewise.
21490 (grub_pxe_gateway_ip): Likewise.
21491 (grub_pxe_blksize): Likewise.
21492
ec5f98ab 214932009-12-25 Carles Pina i Estany <carles@pina.cat>
21494
21495 * commands/help.c: Include `<grub/i18n.h>'.
21496 (grub_cmd_help): Gettextizze.
21497 (GRUB_MOD_INIT): Likewise.
21498 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
21499 (GRUB_MOD_INIT): Gettextizze.
21500 * commands/search.c: Include `<grub/i18n.h>'.
21501 (options): Gettextizze.
21502 (GRUB_MOD_INIT): Gettextizze.
21503 * lib/arg.c: Include `<grub/i18n.h>'.
21504 (help_options): Gettextizze.
21505 (find_long): Likewise.
21506 (grub_arg_show_help): Likewise.
21507 * normal/dyncmd.c: Include `<grub/i18n.h>'.
21508 (read_command_list): Gettextizze.
21509 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 21510 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 21511
22815526
RM
215122009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21513
21514 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
21515 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
21516 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
21517 (led_status): New variable.
21518 (keyboard_controller_led): New function.
21519 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
21520 update led status for caps lock, num lock and scroll lock.
21521
0ad46fd7
FZ
215222009-12-25 Felix Zielcke <fzielcke@z-51.de>
21523
21524 * util/hostdisk.c (open_device): Fix a comment.
21525
d0e158c2
RM
215262009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21527
21528 * util/grub-install.in (host_os): New variable.
21529 * util/i386/efi/grub-install.in (host_os): Likewise.
21530
401c0ad6
RM
215312009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21532
21533 * util/mkisofs/write.c (padblock_write): Abort when given an
21534 excedingly large embed image, instead of silently truncating it.
21535
d14d3370
RM
215362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21537
21538 * include/multiboot.h: Indentation fixes.
21539
eeed10b4
RM
215402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21541
21542 * include/multiboot.h (struct multiboot_aout_symbol_table)
21543 (struct multiboot_elf_section_header_table): New structure
21544 declarations (stolen from GRUB Legacy).
21545 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
21546 table information.
21547
21548 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
21549 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
21550 type aliases.
21551
681c70ab
RM
215522009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21553
21554 * include/multiboot.h: Make comments src2texi-friendly.
21555
e4d47d8d
RM
215562009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21557
21558 For consistency with [multiboot]/docs/boot.S.
21559
21560 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
21561 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
21562 (MULTIBOOT_MAGIC2): Rename from this ...
21563 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
21564
a0b70bda
RM
215652009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21566
21567 * include/multiboot.h: Remove `<grub/types.h>'.
21568 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
21569 types. Update all users.
21570
61ba42be 215712009-12-25 Carles Pina i Estany <carles@pina.cat>
21572
21573 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
21574 `couldn't' and `can not' by `cannot'.
21575 * commands/i386/pc/drivemap.c: Likewise.
21576 * disk/ata.c: Likewise.
21577 * disk/ieee1275/nand.c: Likewise.
21578 * fs/affs.c: Likewise.
21579 * fs/fat.c: Likewise.
21580 * fs/hfs.c: Likewise.
21581 * fs/hfsplus.c: Likewise.
21582 * fs/iso9660.c: Likewise.
21583 * fs/jfs.c: Likewise.
21584 * fs/minix.c: Likewise.
21585 * fs/reiserfs.c: Likewise.
21586 * fs/sfs.c: Likewise.
21587 * fs/udf.c: Likewise.
21588 * fs/ufs.c: Likewise.
21589 * fs/xfs.c: Likewise.
21590 * loader/powerpc/ieee1275/linux.c: Likewise.
21591 * loader/sparc64/ieee1275/linux.c: Likewise.
21592 * util/grub-probe.c: Likewise.
21593 * util/misc.c: Likewise.
21594
7fd0baee 215952009-12-24 Carles Pina i Estany <carles@pina.cat>
21596
21597 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
21598 grub_errno calls.
21599 * commands/acpi.c: Likewise.
21600 * commands/blocklist.c: Likewise.
21601 * commands/efi/loadbios.c: Likewise.
21602 * commands/i386/pc/drivemap.c: Likewise.
21603 * commands/loadenv.c: Likewise.
21604 * commands/memrw.c: Likewise.
21605 * commands/password.c: Likewise.
21606 * commands/videotest.c: Likewise.
21607 * disk/ata.c: Likewise.
21608 * disk/ata_pthru.c: Likewise.
21609 * disk/dmraid_nvidia.c: Likewise.
21610 * disk/ieee1275/nand.c: Likewise.
21611 * disk/ieee1275/ofdisk.c: Likewise.
21612 * disk/loopback.c: Likewise.
21613 * disk/lvm.c: Likewise.
21614 * disk/mdraid_linux.c: Likewise.
21615 * disk/raid.c: Likewise.
21616 * disk/raid6_recover.c: Likewise.
21617 * disk/scsi.c: Likewise.
21618 * efiemu/main.c: Likewise.
21619 * efiemu/mm.c: Likewise.
21620 * efiemu/pnvram.c: Likewise.
21621 * efiemu/symbols.c: Likewise.
21622 * font/font.c: Likewise.
21623 * fs/cpio.c: Likewise.
21624 * fs/hfsplus.c: Likewise.
21625 * fs/iso9660.c: Likewise.
21626 * fs/jfs.c: Likewise.
21627 * fs/minix.c: Likewise.
21628 * fs/ntfs.c: Likewise.
21629 * fs/ntfscomp.c: Likewise.
21630 * fs/reiserfs.c: Likewise.
21631 * fs/ufs.c: Likewise.
21632 * fs/xfs.c: Likewise.
21633 * gettext/gettext.c: Likewise.
21634 * include/grub/auth.h: Likewise.
21635 * kern/elf.c: Likewise.
21636 * kern/file.c: Likewise.
21637 * kern/ieee1275/init.c: Likewise.
21638 * kern/ieee1275/mmap.c: Likewise.
21639 * kern/ieee1275/openfw.c: Likewise.
21640 * kern/powerpc/dl.c: Likewise.
21641 * kern/sparc64/dl.c: Likewise.
21642 * lib/arg.c: Likewise.
21643 * loader/i386/bsd.c: Likewise.
21644 * loader/i386/bsdXX.c: Likewise.
21645 * loader/i386/efi/linux.c: Likewise.
21646 * loader/i386/efi/xnu.c: Likewise.
21647 * loader/i386/ieee1275/linux.c: Likewise.
21648 * loader/i386/linux.c: Likewise.
21649 * loader/i386/multiboot.c: Likewise.
21650 * loader/i386/pc/linux.c: Likewise.
21651 * loader/i386/pc/multiboot2.c: Likewise.
21652 * loader/i386/xnu.c: Likewise.
21653 * loader/ieee1275/multiboot2.c: Likewise.
21654 * loader/macho.c: Likewise.
21655 * loader/machoXX.c: Likewise.
21656 * loader/multiboot2.c: Likewise.
21657 * loader/multiboot_loader.c: Likewise.
21658 * loader/powerpc/ieee1275/linux.c: Likewise.
21659 * loader/sparc64/ieee1275/linux.c: Likewise.
21660 * loader/xnu.c: Likewise.
21661 * loader/xnu_resume.c: Likewise.
21662 * mmap/i386/pc/mmap.c: Likewise.
21663 * normal/menu_viewer.c: Likewise.
21664 * partmap/acorn.c: Likewise.
21665 * partmap/amiga.c: Likewise.
21666 * partmap/apple.c: Likewise.
21667 * script/lexer.c: Likewise.
21668 * term/gfxterm.c: Likewise.
21669 * term/i386/pc/serial.c: Likewise.
21670 * term/i386/pc/vga.c: Likewise.
21671 * term/ieee1275/ofconsole.c: Likewise.
21672 * term/terminfo.c: Likewise.
21673 * video/bitmap.c: Likewise.
21674 * video/efi_gop.c: Likewise.
21675 * video/efi_uga.c: Likewise.
21676 * video/fb/video_fb.c: Likewise.
21677 * video/i386/pc/vbe.c: Likewise.
21678 * video/readers/tga.c: Likewise.
21679 * video/video.c: Likewise.
21680
0ad46fd7 216812009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
21682
21683 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
21684 * commands/lspci.c: Likewise.
21685 * commands/probe.c: Likewise.
21686 * commands/xnu_uuid.c: Likewise.
21687 * conf/i386-coreboot.rmk: Likewise.
21688 * conf/i386-efi.rmk: Likewise.
21689 * conf/i386-ieee1275.rmk: Likewise.
21690 * conf/i386-pc.rmk: Likewise.
21691 * conf/powerpc-ieee1275.rmk: Likewise.
21692 * conf/sparc64-ieee1275.rmk: Likewise.
21693 * conf/x86_64-efi.rmk: Likewise.
21694 * fs/i386/pc/pxe.c: Likewise.
21695 * gettext/gettext.c: Likewise.
21696 * include/grub/efi/graphics_output.h: Likewise.
21697 * include/grub/i386/pc/memory.h: Likewise.
21698 * kern/env.c: Likewise.
21699 * kern/i386/qemu/startup.S: Likewise.
21700 * lib/i386/pc/biosnum.c: Likewise.
21701 * lib/i386/relocator.c: Likewise.
21702 * lib/i386/relocator_asm.S: Likewise.
21703 * lib/relocator.c: Likewise.
21704 * loader/i386/bsd.c: Likewise.
21705 * loader/i386/multiboot.c: Likewise.
21706 * loader/i386/pc/chainloader.c: Likewise.
21707 * loader/i386/xnu.c: Likewise.
21708 * loader/xnu.c: Likewise.
21709 * normal/main.c: Likewise.
21710 * normal/menu_text.c: Likewise.
21711 * util/getroot.c: Likewise.
21712 * util/grub-mkconfig_lib.in: Likewise.
21713 * util/grub.d/00_header.in: Likewise.
21714 * util/i386/pc/grub-mkimage.c: Likewise.
21715 * util/mkisofs/eltorito.c: Likewise.
21716 * util/mkisofs/exclude.h: Likewise.
21717 * util/mkisofs/hash.c: Likewise.
21718 * util/mkisofs/iso9660.h: Likewise.
21719 * util/mkisofs/joliet.c: Likewise.
21720 * util/mkisofs/mkisofs.c: Likewise.
21721 * util/mkisofs/mkisofs.h: Likewise.
21722 * util/mkisofs/multi.c: Likewise.
21723 * util/mkisofs/name.c: Likewise.
21724 * util/mkisofs/rock.c: Likewise.
21725 * util/mkisofs/tree.c: Likewise.
21726 * util/mkisofs/write.c: Likewise.
21727 * video/efi_gop.c: Likewise.
21728
009ec743
VS
217292009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
21730
21731 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
21732 size counting.
21733
0ad46fd7 217342009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
21735
21736 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
21737 * genmk.rb (class SCRIPT): Modify the target file instead of source.
21738
d3d30ea0
VS
217392009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21740
21741 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
21742 (GRUB_MOD_INIT(memrw)): Update help line.
21743
a34f5c70
VS
217442009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21745
21746 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
21747 Use grub_extcmd_t. All users updated.
21748 (options): New variable.
21749 (grub_cmd_read): Restructure for readability. Support "-v" option.
21750 (grub_cmd_write): Restructure for readability.
21751
0ad46fd7 217522009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
21753
21754 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
21755
0ad46fd7 217562009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
21757
21758 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
21759 with the actual contents of the correspondending make variable.
21760 * util/grub-mkrescue.in (pkglib_DATA): New variable.
21761 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
21762 specifying `*.lst' and `efiemu??.o'
21763
0ad46fd7 217642009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
21765
21766 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
21767 after function name.
21768 Noticed by Rene Engelhard <rene@debian.org>.
21769
dc77a799
VS
217702009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21771
21772 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
21773 (options): New variable.
21774 (iospace): Likewise.
21775 (grub_lspci_iter): List IO spaces if "-i" was given.
21776 (grub_cmd_lspci): Parse options.
21777 (GRUB_MOD_INIT(lspci)): Use extcmd.
21778 (GRUB_MOD_FINI(lspci)): Likewise.
21779
0ad46fd7 217802009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
21781
21782 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
21783 `function' keyword.
21784 Patch by Tony Mancill <tmancill@debian.org>.
21785
b5d5993b
VS
217862009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21787
21788 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
21789 (grub_uhci_portstatus): Likewise.
21790 (grub_uhci_portstatus): Add necessary delay.
11d18281 21791 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 21792
941903f2 217932009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 21794
941903f2 21795 * commands/acpi.c (options): Fix capitalizations and/or full stops.
21796 (GRUB_MOD_INIT): Likewise.
21797 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 21798 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
21799 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 21800 * commands/efi/loadbios.c (enable_rom_area): Likewise.
21801 (enable_rom_area): Likewise.
21802 (GRUB_MOD_INIT): Likewise.
21803 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21804 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
21805 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21806 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
21807 * commands/hexdump.c (options): Likewise.
21808 * commands/i386/cpuid.c (options): Likewise.
21809 (GRUB_MOD_INIT): Likewise.
21810 * commands/i386/pc/drivemap.c (options): Likewise.
21811 (GRUB_MOD_INIT): Likewise.
21812 * commands/i386/pc/halt (options): Likewise.
21813 (GRUB_MOD_INIT): Likewise.
21814 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21815 * commands/i386/pc/pxecmd.c (options): Likewise.
21816 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
21817 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
21818 * commands/keystatus.c (options): Likewise.
21819 (GRUB_MOD_INIT): Likewise.
21820 * commands/loadenv.c (options): Likewise.
21821 * commands/ls.c (options): Likewise.
21822 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21823 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21824 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21825 * commands/parttool.c (helpmsg): Likewise.
21826 * commands/probe.c (options): Likewise.
21827 * commands/read.c (GRUB_MOD_INIT): Likewise.
21828 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
21829 * commands/search.c (options): Likewise.
21830 * commands/sleep.c (options): Likewise.
21831 * commands/test.c (GRUB_MOD_INIT): Likewise.
21832 * commands/true.c (GRUB_MOD_INIT): Likewise.
21833 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
21834 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
21835 * lib/arg.c (help_options): Likewise.
e9bbb4e7 21836 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
21837 `$(XGETTEXT)'.
98a50553 21838 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 21839
0ad46fd7 218402009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 21841
ef3c2c3a 21842 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
21843 instead of specifying them explicit.
21844
7922f68b
RM
218452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21846
21847 * NEWS: Add grub-probe support for GNU/Hurd.
21848
537ce47f
RM
218492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21850
21851 * NEWS: gettext was added after 1.97.
21852
9b214e3a
RM
218532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21854
21855 * util/mkisofs/msdos_partition.h: New file (based on
21856 include/grub/msdos_partition.h).
21857 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
21858 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
21859 (ld_options, main): Recognize --protective-msdos-label.
21860 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
21861 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
21862 (padblock_write): If `use_protective_msdos_label' is set, patch a
21863 protective DOS-style label in the output image.
21864
21865 * util/grub-mkrescue.in: Use --protective-msdos-label.
21866
e9309813
RM
218672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21868
21869 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
21870 boot.
21871
0ae56929
RM
218722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21873
21874 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
21875 variables.
21876 (ld_options, main): Recognize `--embedded-boot'.
21877 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
21878 declarations.
21879 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
21880 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
21881 (padblock_write): Likewise. Rewrite to support embedded boot image.
21882
21883 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
21884 for BIOS-based disk boot instead of only ElTorito.
21885
b15937b1
RM
218862009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21887
21888 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
21889 build (not needed for bootstrap).
21890
52cc3ce0
RM
218912009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21892
21893 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
21894 from i386-pc build (not needed for bootstrap).
21895 Rewrite a pair of strings.
21896
36f5ff04
RM
218972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21898
21899 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
21900
973c6c85 219012009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
21902
21903 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
21904
05d21547
AB
219052009-12-21 Andreas Born <futur.andy@googlemail.com>
21906
21907 * kern/env.c (grub_env_context_open): Mark exported variable for
21908 reexport.
21909
0175d51f
AB
219102009-12-21 Andreas Born <futur.andy@googlemail.com>
21911
21912 * kern/env.c (grub_env_export): Create nonexistent variables before
21913 exporting.
21914
7f39d92f 219152009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 21916
7f39d92f 21917 * include/grub/auth.h: Include `<grub/i18n.h>'.
21918 (GRUB_GET_PASSWORD): Gettextizze string.
21919 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
21920 menu_text.c.
21921 (grub_utf8_to_ucs4_alloc): Fix indentation.
21922 (grub_print_ucs4): Likewise.
21923 (grub_getstringwidth): Likewise.
21924 (print_message_indented): New declaration.
21925 * normal/auth.c: Include `<grub/i18n.h>'.
21926 (grub_auth_check_authentication): Gettexttize string.
21927 * normal/cmdline.c: Include `<grub/i18n.h>'.
21928 (grub_cmdline_get): Gettextizze.
21929 * normal/color.c: Include `<grub/i18n.h>'.
21930 (grub_parse_color_name_pair): Gettexttize strings.
21931 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
21932 string (use `print_message_indented').
21933 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
21934 `include/grub/normal.h'.
21935 (print_message_indented): Renamed to ...
21936 (grub_print_message_indented): ... this. Remove `static' qualifer (now
21937 used in normal/main.c).
21938 (print_message): Use `grub_print_message_indented' instead of
21939 `print_message_indented'.
21940 (print_timeout): Likewise.
21941 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
21942 (grub_normal_print_device_info): Gettexttize strings.
21943 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
21944
3041d898
VS
219452009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21946
21947 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
21948 of arguments. Return number of tokens and not arguments. All users
21949 updated.
21950
de15bf8e
VS
219512009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21952
21953 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
21954 non-MSDOS paritions.
21955
e0a6ca52
VS
219562009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21957
21958 * include/grub/types.h (UNUSED): Removed since it conflicts with
21959 NetBSD headers. All users changed to direct __attribute__ ((unused)).
21960 Reported by Grégoire Sutre.
21961
b99518d1 219622009-12-19 Carles Pina i Estany <carles@pina.cat>
21963
21964 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
21965 (grub_print_ucs4_alloc): Likewise.
21966 (grub_getstringwidth): Likewise.
21967 * normal/main.c (grub_normal_init_page): Gettextize version string.
21968 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
21969 (getstringwidth): Renamed to ...
21970 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
21971 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
21972 (grub_print_ucs4): Remove `static' qualifer (now used in
21973 normal/main.c).
21974 * po/POTFILES: Add normal/main.c.
21975
bfd5e52b 219762009-12-19 Carles Pina i Estany <carles@pina.cat>
21977
21978 * normal/menu_text.c (STANDARD_MARGIN): New macro.
21979 (print_message_indented): Add `margin_left' and `margin_right'
21980 parameters.
21981 (print_message): Update `print_message_indented' calls. Adds '\n' to the
21982 strings.
21983 (print_timeout): Use `print_message_indented' to print the message.
21984 Deletes `second_stage' parameter.
21985 (run_menu): Update `print_timeout' calls.
21986
5a1ad2b9
VS
219872009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21988
21989 Fix console palette on OpenFirmware.
21990
21991 * term/ieee1275/ofconsole.c (MAX): Removed.
21992 (colors): Redone based on VGA palette.
21993 (grub_ofconsole_setcolor): Discard brightness bit since only 8
21994 colors are supported.
21995 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
21996
b045f00a
VS
219972009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21998
21999 Fix potential EfiEmu double prepare.
22000
22001 * efiemu/main.c (prepared): New variable
22002 (grub_efiemu_unload): Set prepare to '0'.
22003 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22004
22005 set_virtual_address_map support.
22006
22007 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22008 prototype.
22009 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22010 prototype.
22011 (grub_efiemu_crc32): Likewise.
22012 (grub_efiemu_crc64): Likewise.
22013 (grub_efiemu_set_virtual_address_map): Likewise.
22014 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22015 New definition.
22016 (grub_autoefi_set_virtual_address_map): Likewise.
22017 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22018 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22019 Restructure flow to accomodate it.
22020 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22021 (grub_efiemu_crc): Recompute CRC32.
22022 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22023 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22024 * efiemu/symbols.c (relocated_handle): New variable.
22025 (grub_efiemu_free_syms): Free relocated_handle.
22026 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22027 (grub_efiemu_write_sym_markers): New function.
22028 (grub_efiemu_set_virtual_address_map): Likewise.
22029
22030 Newer XNU parameters.
22031
22032 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22033 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22034 (grub_xnu_fill_devicetree): New prototype.
22035 (grub_xnu_heap_real_start): New variable.
22036 * loader/xnu.c (get_name_ptr): New function.
22037 (grub_xnu_load_driver): Fill namelen and name.
22038
22039 64-bit xnu support.
22040
22041 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22042 and 'loader/macho64.c'.
22043 * conf/i386-pc.rmk: Likewise.
22044 * conf/x86_64-efi.rmk: Likewise.
22045 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22046 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22047 * include/grub/macho.h (grub_macho_segment64): New structure.
22048 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22049 (grub_macho_size32): ... to this.
22050 (grub_macho32_get_entry_point): Renamed from ...
22051 (grub_macho_get_entry_point32): ... to this.
22052 (grub_macho_contains_macho64): New prototype.
22053 (grub_macho_size64): Likewise.
22054 (grub_macho_get_entry_point64): Likewise.
22055 (grub_macho32_load): Renamed from ...
22056 (grub_macho_load32): ... to this.
22057 (grub_macho32_filesize): Renamed from ...
22058 (grub_macho_filesize32): ... to this.
22059 (grub_macho32_readfile): Renamed from ...
22060 (grub_macho_readfile32): ... to this.
22061 (grub_macho_filesize64): New prototype.
22062 (grub_macho_readfile64): Likewise.
22063 (grub_macho_parse32): Likewise.
22064 (grub_macho_parse64): Likewise.
22065 * loader/macho.c: Split into ...
22066 * loader/machoXX.c: ... and this. Replace 32 with XX.
22067 * loader/macho32.c: New file.
22068 * loader/macho64.c: Likewise.
22069 * loader/xnu.c (grub_xnu_is_64bit): New variable.
22070 (grub_cmd_xnu_kernel): Make 32-bit only.
22071 (grub_cmd_xnu_kernel64): New function.
22072 (grub_xnu_load_driver): Support Mach-O 64.
22073 (grub_cmd_xnu_mkext): Likewise.
22074 * util/grub.d/30_os-prober.in (osx_entry): New function.
22075 Generate entries for 64-bit boot too.
22076
22077 Eliminate ad-hoc tree format in XNU and EfiEmu.
22078
22079 * efiemu/main.c (grub_efiemu_prepare): Update comment.
22080 * efiemu/pnvram.c: Rewritten to use environment variables.
22081 All users updated.
22082
22083 Inline utf16_to_utf8.
22084
22085 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
22086 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
22087 All users updated.
22088 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
22089
22090 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
22091 * commands/usbtest.c (grub_usb_get_string): ... move here.
22092 (usb_print_str): Fix error handling.
22093 * include/grub/usb.h (grub_usb_get_string): Remove.
22094
22095 UTF-8 to UTF-16 transformation.
22096
22097 * conf/common.rmk (pkglib_MODULES): Add charset.mod
22098 (charset_mod_SOURCES): New variable.
22099 (charset_mod_CFLAGS): Likewise.
22100 (charset_mod_LDFLAGS): Likewise.
22101 * include/grub/utf.h: New file.
22102 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
22103
22104 Support for device properties.
22105
22106 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
22107 (grub_xnu_devprop_device_header): Likewise.
22108 (grub_xnu_devprop_device_descriptor): Likewise.
22109 (grub_xnu_devprop_add_device): New prototype.
22110 (grub_xnu_devprop_remove_device): Likewise.
22111 (grub_xnu_devprop_remove_property): Likewise.
22112 (grub_xnu_devprop_add_property_utf8): Likewise.
22113 (grub_xnu_devprop_add_property_utf16): Likewise.
22114 (grub_cpu_xnu_init): Likewise.
22115 (grub_cpu_xnu_fini): Likewise.
22116 (grub_cpu_xnu_unload): Likewise.
22117 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
22118 (property_descriptor): Likewise.
22119 (devices): New variable.
22120 (grub_xnu_devprop_remove_property): New function.
22121 (grub_xnu_devprop_add_device): Likewise.
22122 (grub_xnu_devprop_remove_device): Likewise.
22123 (grub_xnu_devprop_add_property): Likewise.
22124 (grub_xnu_devprop_add_property_utf8): Likewise.
22125 (grub_xnu_devprop_add_property_utf16): Likewise.
22126 (hextoval): Likewise.
22127 (grub_cpu_xnu_fill_devprop): Likewise.
22128 (grub_cmd_devprop_load): Likewise.
22129 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
22130 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
22131 (cmd_devprop_load): New variable.
22132 (grub_cpu_xnu_init): New function.
22133 (grub_cpu_xnu_fini): Likewise.
22134 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
22135 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
22136 (grub_cmd_xnu_devtree): Likewise.
22137 (hextoval): New function.
22138 (unescape): Likewise.
22139 (grub_xnu_fill_devicetree): Likewise.
22140
22141 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
22142 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
22143
0945f181
VS
221442009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22145
22146 Workaround for broken ATI VBE.
22147
22148 * video/i386/pc/vbe.c (last_set_mode): New variable.
22149 (grub_vbe_set_video_mode): Set 'last_set_mode'.
22150 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
22151 (grub_video_vbe_setup): Don't check for reserved flag.
22152
0ad46fd7 221532009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
22154
22155 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
22156 the `find' command.
22157
c179ebe4
VS
221582009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
22159
22160 UUID support for HFS.
22161
22162 * fs/hfs.c (grub_hfs_uuid): New function.
22163 (grub_hfs_fs): New value .uuid.
22164 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
22165
0ad46fd7 221662009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
22167
22168 Fix a segfault with parsing unknown long options.
22169
22170 * util/grub-mkrelpath.c (options): Zero terminate it.
22171
c4a3e41a
CPE
221722009-12-13 Carles Pina i Estany <carles@pina.cat>
22173
22174 * include/grub/misc.h (grub_puts): New declaration.
22175 (grub_puts_): Likewise.
a22008a6 22176 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
22177 (grub_puts_): Likewise.
22178
2e8a7602
RM
221792009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22180
22181 * util/grub-probe.c (probe): Improve error message.
22182
b50b77b9
RM
221832009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22184
22185 * loader/i386/multiboot_elfxx.c
22186 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22187 initialization.
22188
221892009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22190
22191 Relocator framework
22192
22193 * loader/i386/xnu_helper.S: Removed. All users updated.
22194 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
22195 (relocator_mod_SOURCES): New variable.
22196 (relocator_mod_CFLAGS): Likewise.
22197 (relocator_mod_LDFLAGS): Likewise.
22198 (relocator_mod_ASFLAGS): Likewise.
22199 * conf/x86_64.rmk: Likewise.
22200 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
22201 (grub_multiboot_payload_entry_offset): Likewise.
22202 (grub_multiboot_forward_relocator): Likewise.
22203 (grub_multiboot_forward_relocator_end): Likewise.
22204 (grub_multiboot_backward_relocator): Likewise.
22205 (grub_multiboot_backward_relocator_end): Likewise.
22206 (grub_multiboot_payload_eip): New variable.
22207 (grub_multiboot_payload_orig): Likewise.
22208 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
22209 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
22210 * include/grub/i386/memory.h
22211 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
22212 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
22213 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
22214 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
22215 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
22216 * include/grub/i386/relocator.h: New file.
22217 * include/grub/x86_64/relocator.h: Likewise.
22218 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
22219 (XNU_RELOCATOR): New macro.
22220 (grub_xnu_launcher_start): Remove.
22221 (grub_xnu_launcher_end): Likewise.
22222 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
22223 (grub_xnu_heap_real_start): Remove.
22224 (grub_xnu_heap_start): Change to void *. All users updated.
22225 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
22226 * lib/i386/relocator.c: New file.
22227 * lib/i386/relocator_asm.S: Likewise.
22228 * lib/i386/relocator_backward.S: Likewise.
22229 * lib/mips/relocator.c: Likewise.
22230 * lib/mips/relocator_asm.S: Likewise.
22231 * lib/relocator.c: Likewise.
22232 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
22233 (entry): Removed.
22234 (playground): Likewise.
22235 (grub_multiboot_payload_orig): New variable.
22236 (grub_multiboot_payload_dest): Likewise.
22237 (grub_multiboot_payload_size): Likewise.
22238 (grub_multiboot_payload_eip): Likewise.
22239 (grub_multiboot_payload_esp): Likewise.
22240 (grub_multiboot_boot): Use grub_relocator32_boot.
22241 (grub_multiboot_unload): Free relocators.
22242 (grub_multiboot): Setup stack. Use relocators.
22243 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
22244 (grub_multiboot_load_elfXX): Use relocators.
22245 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
22246 (grub_multiboot_payload_size): Likewise.
22247 (grub_multiboot_payload_dest): Likewise.
22248 (grub_multiboot_payload_entry_offset): Likewise.
22249 (grub_multiboot_forward_relocator): Likewise.
22250 (grub_multiboot_backward_relocator): Likewise.
22251 (grub_multiboot_real_boot): Likewise.
22252 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
22253 (grub_xnu_entry_point): Likewise.
22254 (grub_xnu_arg1): Likewise.
22255 (grub_xnu_stack): Likewise.
22256 (grub_xnu_launch): Removed.
22257 (grub_xnu_boot_resume): New function.
22258 (grub_xnu_boot): Use relocators.
22259 * loader/i386/xnu_helper.S: Removed.
22260 * loader/xnu.c (grub_xnu_heap_start): New variable.
22261 (grub_xnu_heap_size): Likewise.
22262 (grub_xnu_heap_malloc): Use relocators.
22263 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
22264
29eb90c6
VS
222652009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22266
22267 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
22268 anything.
22269
31027430
CPE
222702009-12-13 Carles Pina i Estany <carles@pina.cat>
22271
22272 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
22273 GRUB_ERR_NONE before calling grub_env_set.
22274
dc0c71d9
RM
222752009-12-12 Robert Millan <rmh@aybabtu.com>
22276
22277 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
22278 * genmk.rb (video): New variable.
22279 (CLEANFILES, VIDEOFILES): Add #{video}.
22280 (#{video}): New target rule.
22281 * genvideolist.sh: New file.
22282 * Makefile.in (pkglib_DATA): Add video.lst.
22283 (video.lst): New target rule.
22284 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
22285 `video.lst'.
22286 * util/grub.d/30_os-prober.in: Replace `vbe' with
22287 ${GRUB_VIDEO_BACKEND}.
22288
2a4bfcf0
RM
222892009-12-11 Robert Millan <rmh.grub@aybabtu.com>
22290
22291 * THANKS: Add David Miller.
22292
2a3aa4d5
RM
222932009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 libpciaccess support.
22296
22297 * Makefile.in (LIBPCIACCESS): New variable.
22298 (enable_grub_emu_pci): Likewise.
22299 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
22300 util/pci.c and commands/lspci.c.
22301 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
22302 * configure.ac (grub-emu-pci): New option.
22303 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
22304 (grub_pci_device_unmap_range): Likewise.
22305 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
22306 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
22307 (grub_pci_address_t) [!GRUB_UTIL]: New type.
22308 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
22309 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
22310 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
22311 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
22312 * include/grub/pciutils.h: New file.
22313 * util/pci.c: Likewise.
22314
0ad46fd7 223152009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
22316
22317 * util/misc.c: Don't include <errno.h> twice.
22318
0ad46fd7 223192009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
22320
22321 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
22322 name in an error message.
22323 (grub_biosdisk_rw): Likewise.
22324
2e59983c
VS
223252009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22326
22327 Eliminate NTFS 4Gib barrier.
22328
22329 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
22330 (read_run_data): Likewise.
22331 (grub_ntfs_read_run_list): Likewise.
22332 (grub_ntfs_read_block): Likewise.
22333 (grub_ntfs_iterate_dir): Likewise.
22334 (read_mft): Likewise.
22335 (read_data): Likewise.
22336 Use COM_LOG_LEN.
22337 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
22338 to avoid 64-bit division
22339 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
22340 (grub_ntfs_rlst): Use grub_disk_addr_t.
22341
71ee178a
VS
223422009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22343
22344 Eliminate grub-fstest 4Gib barrier.
22345
22346 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
22347 (read_file): Fix error reporting.
22348
2520d4b8
VS
223492009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22350
22351 Eliminate hexdump 4Gib barrier.
22352
22353 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
22354 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
22355
e1f27065
VS
223562009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22357
22358 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
22359 Fixes amarsh bug.
22360
1a0f7f45
RM
223612009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
22362
22363 Remove miscellaneous files in distclean target.
22364
22365 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
22366
c631d9fb
CW
223672009-12-09 Colin Watson <cjwatson@ubuntu.com>
22368
22369 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
22370 if they're already set. This resolves the conflict between my
22371 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
22372 fixing the --grub-probe option again.
22373 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
22374 change on 2009-10-06, so that we now once again source
22375 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22376
7c7b6106
RM
223772009-12-08 Robert Millan <rmh.grub@aybabtu.com>
22378
22379 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
22380 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
22381 `util/devicemap.c'.
22382
e3069ec1
CPE
223832009-12-08 Carles Pina i Estany <carles@pina.cat>
22384
22385 * include/grub/misc.h (grub_printf_): New declaration.
22386 * kern/misc.c (grub_printf_): New definition.
22387 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
22388 instead of `grub_printf' and `_'.
22389 * normal/menu_entry.c (store_completion): Likewise.
22390 (run): Likewise.
22391 (grub_menu_entry_run): Likewise.
22392 * normal/menu_text.c (grub_wait_after_message): Likewise.
22393 (notify_booting): Likewise.
22394 (notify_fallback): Likewise.
22395 (notify_execution_failure): Likewise.
22396
d6ceebf1
CW
223972009-12-07 Colin Watson <cjwatson@ubuntu.com>
22398
22399 * configure.ac: Check for vasprintf.
22400 * util/misc.c (asprintf): Move allocation from here ...
22401 (vasprintf): ... to here. New function.
22402 (xasprintf): New function.
22403 * include/grub/util/misc.h (vasprintf, xasprintf): Add
22404 prototypes.
22405 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22406 * util/grub-mkfont.c (write_font): Likewise.
22407 * util/grub-probe.c (probe): Likewise.
22408 * util/hostdisk.c (make_device_name): Likewise.
22409
de6daa8b
DM
224102009-12-06 David S. Miller <davem@sunset.davemloft.net>
22411
22412 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
22413 anything even prefixed with 'cdrom' as a cdrom.
22414
0ad46fd7 224152009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
22416
22417 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
22418 mount points.
22419
98d3dc02
CPE
224202009-12-05 Carles Pina i Estany <carles@pina.cat>
22421
22422 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
22423 grub_gettext_msg_list.
22424 (grub_gettext_gettranslation_from_position): Return const char *
22425 and not char *.
a2c1332b 22426 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
22427 returns from the list if existing there.
22428 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
22429 (grub_gettext_delete_list): Delete the list.
22430 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
22431 lang environment variable is changed.
22432 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
22433
b283f108
VS
224342009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22435
22436 Rename kernel.mod to kernel.img.
22437
22438 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
22439 (kernel_mod_EXPORTS): Rename to ...
22440 (kernel_img_EXPORTS): ... this.
22441 (kernel_mod_SOURCES): Rename to ...
22442 (kernel_img_SOURCES): ... this.
22443 (kernel_mod_HEADERS): Rename to ...
22444 (kernel_img_HEADERS): ... this. All users updated.
22445 (kernel_mod_CFLAGS): Rename to ...
22446 (kernel_img_CFLAGS): ... this.
22447 (kernel_mod_ASFLAGS): Rename to ...
22448 (kernel_img_ASFLAGS): ... this.
22449 (kernel_mod_LDFLAGS): Rename to ...
22450 (kernel_img_LDFLAGS): ... this.
22451 * conf/x86_64-efi.rmk: Likewise.
22452 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
22453 (read_kernel_image): ... this. All users updated.
22454 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
22455
69055f8a
CPE
224562009-12-05 Carles Pina i Estany <carles@pina.cat>
22457
22458 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
22459 (print_spaces): New function.
22460 (grub_print_ucs4): New function.
22461 (getstringwidth): New function.
22462 (print_message_indented): New function.
22463 (print_message): Gettexttize strings using print_message_indented.
22464 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
22465 width.
22466 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 22467 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
22468 Gettextize.
22469 * normal/menu_entry.c (store_completion): Cleanup the gettextized
22470 string.
22471 (run): Likewise.
22472 (grub_menu_entry_run): Likewise.
22473 * PO/POTFILES: Add normal/menu_entry.c.
22474
f616f51c
VS
224752009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22476
22477 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
22478
57bbe3be
CPE
224792009-12-05 Carles Pina i Estany <carles@pina.cat>
22480
22481 * util/grub-install.in: Install gettext .mo files.
22482 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
22483
013d67a1
CPE
224842009-12-05 Carles Pina i Estany <carles@pina.cat>
22485
22486 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
22487 grub_dprintf.
22488
fb954db0
RM
224892009-12-05 Robert Millan <rmh.grub@aybabtu.com>
22490
22491 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
22492 non-firmware-dependant one in realmode.S takes precedence.
22493
6b8474f8
RM
224942009-12-04 Robert Millan <rmh.grub@aybabtu.com>
22495
22496 * commands/halt.c: Replace misc arch-specific headers with
22497 `<grub/misc.h>'.
22498 * commands/reboot.c: Likewise.
22499 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
22500 `<grub/misc.h>'.
22501 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
22502 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
22503 (kernel_img_SOURCES): ... to here.
22504
22505 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
22506 * include/grub/i386/pc/init.h: Likewise.
22507 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22508 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22509
22510 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
22511
22512 * include/grub/i386/halt.h: Remove.
22513 * include/grub/i386/reboot.h: Likewise.
22514
22515 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
22516
4b2e6ca2
DM
225172009-12-03 David S. Miller <davem@sunset.davemloft.net>
22518
22519 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
22520 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
22521 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
22522 "progname.h"
22523 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22524 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22525 (usage): Add missing comma in printf.
22526
5239348f
RM
225272009-12-02 Robert Millan <rmh.grub@aybabtu.com>
22528
22529 Use the same reboot approach on i386 coreboot and qemu as we do on
22530 BIOS.
22531
22532 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
22533 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
22534 * kern/i386/reboot.c: Remove.
22535 * include/grub/i386/reboot.h (grub_reboot): Export function.
22536 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
22537 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
22538 0xf000:0xfff0 instead of 0xffff:0x0000.
22539 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
22540 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
22541
ef34cbd4
RM
225422009-11-30 Robert Millan <rmh.grub@aybabtu.com>
22543
22544 Fix $srcdir != $objdir build.
22545
22546 * Makefile.in (po/%.po): Rewrite as ...
22547 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
22548
dc9837ea
ST
225492009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
22550
22551 Fix GNU/Hurd grub-install crash.
22552 * util/grub-probe.c (probe): Try to access `path' only when it is not
22553 NULL.
22554
2f857f98
VS
225552009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22556
22557 Correct module naming.
22558
22559 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22560 (GRUB_MOD_INIT(efi_uga)): ... to this
22561 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22562 (GRUB_MOD_FINI(efi_uga)): ... to this
22563 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22564 (GRUB_MOD_INIT(efi_gop)): ... to this
22565 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22566 (GRUB_MOD_FINI(efi_gop)): ... to this
22567
c5448046
RM
225682009-11-28 Robert Millan <rmh.grub@aybabtu.com>
22569
22570 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
22571 translatable.
22572 (usage): Translate `arg' strings using gettext().
22573 Thanks to Jordi Mallach for the suggestion.
22574
c85184ad
VS
225752009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22576
22577 GOP support. Based on patch from Bean
22578 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22579
22580 * video/efi_gop.c: New file.
22581 * include/grub/efi/graphics_output.h: Likewise.
22582 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
22583 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22584 variables.
22585 * conf/x86_64-efi.rmk: Likewise.
22586
8a4c48d8
VS
225872009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22588
22589 Rename efi_fb to efi_uga.
22590
22591 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22592 'efi_uga.mod'.
22593 (efi_fb_mod_SOURCES): Rename this ...
22594 (efi_uga_mod_SOURCES): ... to this.
22595 (efi_fb_mod_CFLAGS): Rename this ...
22596 (efi_uga_mod_CFLAGS): ... to this.
22597 (efi_fb_mod_LDFLAGS): Rename this ...
22598 (efi_uga_mod_LDFLAGS): ... to this.
22599 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22600 'efi_uga.mod'.
22601 (efi_fb_mod_SOURCES): Rename this ...
22602 (efi_uga_mod_SOURCES): ... to this.
22603 (efi_fb_mod_CFLAGS): Rename this ...
22604 (efi_uga_mod_CFLAGS): ... to this.
22605 (efi_fb_mod_LDFLAGS): Rename this ...
22606 (efi_uga_mod_LDFLAGS): ... to this.
22607 * video/efi_fb.c: Move this ...
22608 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
22609
fb6c1a7b
RM
226102009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22611
22612 * po/README: New file. Explain our PO file workflow.
22613
3bc7896c
RM
226142009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22615
22616 * po/ChangeLog: Remove. Move relevant entries back to ...
22617 * ChangeLog: ... here.
22618 * po/ca.po: Remove (now handled by TLP).
22619 * po/id.po: Likewise.
22620 * po/zh_CN.po: Likewise.
22621 * Makefile.in (LINGUAS): Initialize in a way that supports
22622 empty set.
22623
9ed4841d
RM
226242009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22625
22626 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
22627 reliing on po/LINGUAS.
22628 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
22629 (po/%.po): ... this.
22630
0ad46fd7 226312009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
22632
22633 * util/i386/efi/grub-mkimage.c: Include "progname.h".
22634 (main): Use `program_name' instead of nonexistent `progname'.
22635
e30dd392
FZ
226362009-11-26 Felix Zielcke <fzielcke@z-51.de>
22637
22638 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22639 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
22640
7656de4f
RM
226412009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22642
22643 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
22644 commit.
22645 * conf/i386-efi.rmk: Likewise.
22646 * conf/i386-ieee1275.rmk: Likewise.
22647 * conf/powerpc-ieee1275.rmk: Likewise.
22648 * conf/sparc64-ieee1275.rmk: Likewise.
22649 * conf/x86_64-efi.rmk: Likewise.
22650
db77c4d4
FZ
226512009-11-26 Felix Zielcke <fzielcke@z-51.de>
22652
22653 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
22654
a755bb04
FZ
226552009-11-26 Felix Zielcke <fzielcke@z-51.de>
22656
22657 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
22658
8a4c07fd
RM
226592009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22660
22661 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
22662 (grub_mkdevicemap_SOURCES): New variable.
22663 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
22664 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
22665 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
22666 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
22667 (grub_mkdevicemap_SOURCES): Remove.
22668 * conf/i386-efi.rmk: Likewise.
22669 * conf/i386-ieee1275.rmk: Likewise.
22670 * conf/i386-pc.rmk: Likewise.
22671 * conf/powerpc-ieee1275.rmk: Likewise.
22672 * conf/sparc64-ieee1275.rmk: Likewise.
22673 * conf/x86_64-efi.rmk: Likewise.
22674 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
22675 (usage): Fix strings to use `program_name'.
22676 (main): Initialize gettext.
22677 * util/grub-editenv.c: Likewise.
22678 * util/grub-emu.c: Likewise.
22679 * util/grub-fstest.c: Likewise.
22680 * util/grub-mkdevicemap.c: Likewise.
22681 * util/grub-mkfont.c: Likewise.
22682 * util/grub-mkrelpath.c: Likewise.
22683 * util/grub-pe2elf.c: Likewise.
22684 * util/grub-probe.c: Likewise.
22685 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22686 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22687 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22688
22689 * util/misc.c: Include `"progname.h"'.
22690 (progname): Remove variable.
22691 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
22692
6f61ed55
FZ
226932009-11-25 Felix Zielcke <fzielcke@z-51.de>
22694
22695 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
22696 printf and print a newline after the menuentry header line.
22697 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22698
f022876b
FZ
226992009-11-25 Felix Zielcke <fzielcke@z-51.de>
22700
22701 autoconf >= 2.60 support $(localedir).
22702
22703 * INSTALL: Note that autoconf 2.60 is required.
22704 * configure.ac (AC_PREREQ): Bump to 2.60.
22705 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
22706 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
22707
6717926e
YB
227082009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
22709
22710 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
22711 aclocal is run.
22712
08806a54
RM
227132009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22714
22715 * normal/main.c (grub_normal_read_line): Fix off-by-one
22716 buffer overflow.
22717
13b33fba
RM
227182009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22719
22720 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
22721 "parser.grub" in grub_command_execute() call.
22722
4a8572e9
CPE
227232009-11-24 Carles Pina i Estany <carles@pina.cat>
22724
22725 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
22726 * conf/i386-efi.rmk: Likewise.
22727 * conf/i386-ieee1275.rmk: Likewise.
22728 * conf/i386-pc.rmk: Likewise.
22729 * conf/powerpc-ieee1275.rmk: Likewise.
22730 * conf/sparc64-ieee1275.rmk: Likewise.
22731 * conf/x86_64-efi.rmk: Likewise.
22732 * gettext/gettex.c: Include <grub/i18n.h>.
22733 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
22734 here ...
22735 * include/grub/i18n.h: ... to here
22736 * include/grub/i18n.h: ... to here.
22737 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 22738 (grub_gettext_dummy): Move above user.
4a8572e9 22739
bee48093
FZ
227402009-11-24 Felix Zielcke <fzielcke@z-51.de>
22741
22742 * util/Makefile.in (install-local): Convert a `for' into a normal
22743 shell expansion.
22744
a031e91c
RM
227452009-11-24 Robert Millan <rmh.grub@aybabtu.com>
22746
22747 * autogen.sh: Add automake call.
22748 * config.guess: Remove.
22749 * config.sub: Likewise.
22750 * install-sh: Likewise.
22751
26bec39d
FZ
227522009-11-24 Felix Zielcke <fzielcke@z-51.de>
22753
22754 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
22755
8e2532fd
FZ
227562009-11-24 Felix Zielcke <fzielcke@z-51.de>
22757
22758 * util/Makefile.in (install-local): Convert a make `$(foreach)'
22759 function to a normal shell `for'.
22760
fefa1b7d
FZ
227612009-11-24 Felix Zielcke <fzielcke@z-51.de>
22762
22763 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22764
4501250b
FZ
227652009-11-24 Felix Zielcke <fzielcke@z-51.de>
22766
22767 * util/grub-mkrelpath.c: New file.
22768 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
22769 (grub_mkrelpath_SOURCES): New variable.
22770 * include/grub/util/misc.h: New function prototype.
22771 * util/misc.c (make_system_path_relative_to_its_root): New function.
22772
22773 * util/grub-mkconfig_lib.in (bindir): New variable.
22774 (grub_mkrelpath): Likewise.
22775 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
22776
22777 * util/probe.c (probe): Make the file path relative to its root.
22778 Change a info message to use the GRUB path. Enable again the
22779 check if we can read the file with GRUB facilities.
22780
22781 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
22782 to its root.
22783
11d9778b
FZ
227842009-11-24 Felix Zielcke <fzielcke@z-51.de>
22785
22786 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
22787 platform.
22788
4465287d
FZ
227892009-11-24 Felix Zielcke <fzielcke@z-51.de>
22790
22791 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
22792 strncmp().
22793
62b47f22
FZ
227942009-11-24 Felix Zielcke <fzielcke@z-51.de>
22795
22796 * util/getroot.c (grub_util_is_dmraid): New function.
22797 (grub_util_get_dev_abstraction): Treat dmraid and multipath
22798 devices as normal ones, not as LVM.
22799
1eafb9b9 228002009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
22801
22802 * conf/common.rmk: Add grub-gettext_lib target and updates
22803 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
22804 LDFLAGS.
22805 * gettext/gettext.c: New file. (Reads mo files).
22806 * include/grub/file.h (grub_file_pread): New prototype.
22807 * include/grub/i18n.h (_): New prototype.
22808 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
22809 prototypes.
22810 * kern/misc.c (grub_gettext_dummy): New function.
22811 * normal/menu_text.c: Include <grub/i18n.h>.
22812 * normal/menu_text.c (print_timeout): Gettexttize string.
22813 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
22814 * po/POTFILES: Add `normal/menu_text.c'.
22815 * po/ca.po: Add new translations.
c3ea6bd4
CPE
22816 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
22817 gettext module and defines locale_dir and lang in grub.cfg.
22818 * NEWS: Add gettext support.
22819
0fdb2568
RM
228202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22821
22822 * util/hostdisk.c: Include `<grub/i18n.h>'.
22823 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
22824 (make_device_name): Rewrite using asprintf.
22825 (convert_system_partition_to_system_disk): Replace 0 with NULL.
22826 (find_system_device): If a device is not found, generate one just
22827 by reusing the OS path name.
22828 (read_device_map): Make it permissible for device.map not to exist.
22829
f515aa62
RM
228302009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22831
22832 * script/sh/execute.c: Move from here ...
22833 * script/execute.c: ... to here. Update all users.
22834 * script/sh/function.c: Move from here ...
22835 * script/function.c: ... to here. Update all users.
22836 * script/sh/lexer.c: Move from here ...
22837 * script/lexer.c: ... to here. Update all users.
22838 * script/sh/main.c: Move from here ...
22839 * script/main.c: ... to here. Update all users.
22840 * script/sh/parser.y: Move from here ...
22841 * script/parser.y: ... to here. Update all users.
22842 * script/sh/script.c: Move from here ...
22843 * script/script.c: ... to here. Update all users.
22844
f84b481b
RM
228452009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22846
22847 * configure.ac: Detect all `emu' platforms. Define
22848 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
22849 --enable-grub-emu logic. Disable include/grub/machine
22850 symlink on `emu' platforms.
22851
22852 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
22853 * gensymlist.sh.in: Likewise.
22854
22855 * include/grub/i386/coreboot/machine.h: Remove file.
22856 * include/grub/i386/efi/machine.h: Likewise.
22857 * include/grub/i386/ieee1275/machine.h: Likewise.
22858 * include/grub/i386/pc/machine.h: Likewise.
22859 * include/grub/i386/qemu/machine.h: Likewise.
22860 * include/grub/powerpc/ieee1275/machine.h: Likewise.
22861 * include/grub/sparc64/ieee1275/machine.h: Likewise.
22862 * include/grub/x86_64/efi/machine.h: Likewise.
22863
22864 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
22865 * commands/halt.c: Likewise.
22866 * commands/reboot.c: Likewise.
22867 * include/grub/autoefi.h: Likewise.
22868 * include/grub/i386/at_keyboard.h: Likewise.
22869 * include/grub/i386/kernel.h: Likewise.
22870 * include/grub/i386/loader.h: Likewise.
22871 * include/grub/i386/pc/memory.h: Likewise.
22872 * kern/dl.c: Likewise.
22873 * kern/i386/coreboot/init.c: Likewise.
22874 * loader/i386/bsd.c: Likewise.
22875 * loader/i386/linux.c: Likewise.
22876 * loader/multiboot_loader.c: Likewise.
22877 * term/i386/pc/serial.c: Likewise.
22878 * term/usb_keyboard.c: Likewise.
22879
22880 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
22881 `<grub/machine/machine.h>'
22882 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
22883 * util/misc.c: Remove `<grub/machine/machine.h>' and
22884 `<grub/machine/time.h>'.
22885
22886 * Makefile.in (enable_grub_emu): Remove variable.
22887 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
22888
22889 * conf/any-emu.rmk: New file.
22890 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
22891 (grub_emu_init.c): Move from here ...
22892 * conf/any-emu.rmk: ... to here.
22893
22894 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
22895 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
22896 * conf/any-emu.rmk: ... to here.
22897
4efeab03
RM
228982009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22899
22900 * include/grub/parser.h (grub_parser_register): Document need
22901 of `name' parameter.
22902 * normal/main.c (grub_normal_read_line): Simplify prompt string.
22903 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
22904 "sh" to "grub".
22905
ea1dd8bf
RM
229062009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22907
22908 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
22909 `$(XGETTEXT)'.
22910 * include/grub/i18n.h (N_): New macro.
22911 * util/mkisofs/mkisofs.h: Likewise.
22912 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
22913 around N_().
22914 (usage): Use gettext() to translate help strings when printing them.
22915
0c140626
RM
229162009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22917
22918 Based on patch from Bean
22919 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22920
22921 * video/efi_fb.c: New file.
22922 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
22923 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22924 variables.
22925 * conf/x86_64-efi.rmk: Likewise.
22926
87d58298
RM
229272009-11-22 Robert Millan <rmh.grub@aybabtu.com>
22928
22929 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
22930 * util/i386/pc/grub-setup.c: Likewise.
22931
994cc3a3
ST
229322009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
22933
22934 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
22935 <hurd/fs.h>
22936 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
22937 file_get_storage_info to implement grub_guess_root_device.
22938
26a61d6a
FZ
229392009-11-21 Felix Zielcke <fzielcke@z-51.de>
22940
22941 * Makefile.in (target): Use make's builtin $(shell) function
22942 instead of calling directly $(SHELL) to create the locale directories,
22943 inside the $(foreach) function.
22944
74ff1dd5
FZ
229452009-11-21 Felix Zielcke <fzielcke@z-51.de>
22946
22947 * util/grub-mkrescue.in: Print an error and usage if output option
22948 has not been given.
22949
0b787d0e
FZ
229502009-11-21 Felix Zielcke <fzielcke@z-51.de>
22951
22952 Patch from Loïc Minier <loic.minier@ubuntu.com>.
22953 * util/grub.d/30_os-prober.in: Cope with Linux entries where
22954 root and /boot are on different devices.
22955
1164b270
RM
229562009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22957
22958 Fix build for srcdir != objdir.
22959
22960 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
22961 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
22962 $(srcdir).
22963 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
22964 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
22965 reference for input.
22966
13774a2f
RM
229672009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22968
22969 * util/grub-mkrescue.in: Use source directory direcly (without copiing
22970 or hardlinking it). Remove -J option, Joliet is not compatible with
22971 multiple source directories.
22972
efda854e
RM
229732009-11-21 Carles Pina i Estany <carles@pina.cat>
229742009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22975
22976 * util/grub-mkrescue.in: Recognize `--override-directory' option.
22977 (process_input_dir): New function. Process an arbitrary input
22978 directory.
22979 Misc adjustments to support both "override mode" and system-wide mode.
22980
6c09890c
FZ
229812009-11-20 Felix Zielcke <fzielcke@z-51.de>
22982
22983 * configure.ac (UNIFONT_BDF): Rename to ...
22984 (FONT_SOURCE): ... this. Update all users.
22985
a797824f
FZ
229862009-11-20 Felix Zielcke <fzielcke@z-51.de>
22987
22988 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
22989 to the list of unifont files to look for.
22990
cd4f42b0
RM
229912009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22992
22993 Patch from Joe Auricchio <jauricchio@gmail.com>
22994 * commands/minicmd.c (grub_mini_cmd_clear): New function.
22995 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
22996 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
22997
393c783d
FZ
229982009-11-19 Felix Zielcke <fzielcke@z-51.de>
22999
23000 * Makefile.in (install-local): Add a missing backslash.
23001
b2f1e327
FZ
230022009-11-19 Felix Zielcke <fzielcke@z-51.de>
23003
23004 * include/grub/x86_64/io.h: New file.
23005
f577f7a0
RM
230062009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23007
23008 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23009 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23010 Include `"progname.h"'.
23011 (main): Initialize gettext.
23012 * util/i386/pc/grub-setup.c: Gettexttize.
23013 * util/i386/pc/grub-mkimage.c: Likewise.
23014
23015 * Makefile.in (po/*.po): Redefine as ...
23016 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23017
3bc7896c
RM
23018 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23019
c37943b6
RM
230202009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23021
23022 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23023 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23024 (program_name): Remove.
23025 (main): Initialize gettext support.
6323f705
RM
23026 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23027 Include `<libintl.h>'.
23028 (_): New macro.
c37943b6
RM
23029
23030 * util/mkisofs/eltorito.c: Gettexttize.
23031 * util/mkisofs/joliet.c: Likewise.
23032 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
23033 * util/mkisofs/multi.c: Likewise.
23034 * util/mkisofs/rock.c: Likewise.
23035 * util/mkisofs/tree.c: Likewise.
23036 * util/mkisofs/write.c: Likewise.
23037
3bc7896c
RM
23038 * po/POTFILES: Update with new files.
23039
5ce77c6e
RM
230402009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23041
23042 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23043 * util/mkisofs/iso9660.h: Likewise.
23044 * util/mkisofs/joliet.c: Likewise.
23045 * util/mkisofs/mkisofs.c: Likewise.
23046 * util/mkisofs/mkisofs.h: Likewise.
23047 * util/mkisofs/rock.c: Likewise.
23048 * util/mkisofs/tree.c: Likewise.
23049 * util/mkisofs/write.c: Likewise.
23050
23051 * util/mkisofs/eltorito.c (rcsid): Remove.
23052 * util/mkisofs/hash.c: Likewise.
23053 * util/mkisofs/joliet.c: Likewise.
23054 * util/mkisofs/name.c: Likewise.
23055 * util/mkisofs/rock.c: Likewise.
23056 * util/mkisofs/tree.c: Likewise.
23057 * util/mkisofs/write.c: Likewise.
23058
1dabbc77
RM
230592009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23060
23061 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23062 instead of static allocation.
23063 * util/mkisofs/match.h: Likewise.
23064
633877cb
RM
230652009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23066
3bc7896c
RM
23067 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
23068 and `util/grub.d/10_linux.in'.
633877cb
RM
23069 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
23070 translatable Shell files.
23071
af1c0c85
RM
230722009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23073
23074 * Makefile.in ($(srcdir)/aclocal.m4): New target.
23075
769ae37b
RM
230762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23077
23078 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 23079 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
23080 * util/grub.d/10_kfreebsd.in (bindir): New variable.
23081 Add gettext initialization.
23082 (kfreebsd_entry): Make menuentry output translatable.
23083
230842009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23085
23086 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
23087 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
23088 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
23089 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
23090 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 23091 * po/LINGUAS: New file.
769ae37b
RM
23092
230932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23094
23095 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
23096 other things).
23097 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
23098 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
23099 bindtextdomain() calls for gettext initialization.
23100
231012009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23102
23103 * gnulib/progname.c: New file (imported from Gnulib).
23104 * gnulib/progname.h: Likewise.
23105 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23106 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
23107 (usage): Replace `progname' with `program_name'.
23108 (main): Use set_program_name() for program name initialization.
23109
231102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23111
23112 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
23113 from here ...
23114 * Makefile.in (CPPFLAGS): ... to here.
23115
231162009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23117
23118 * aclocal.m4: Move from here ...
23119 * acinclude.m4: ... to here.
23120 * autogen.sh: Add call to `aclocal'.
23121 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
23122
231232009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23124
23125 * Makefile.in (CLEANFILES): Add `po/*.mo'.
23126 (LINGUAS): New variable.
23127 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
23128 (install-local): Install MO files.
23129 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
23130 * include/grub/i18n.h: New file.
3bc7896c
RM
23131 * po/POTFILES: New file.
23132 * po/ca.po: New file.
769ae37b
RM
23133 * util/grub.d/10_linux.in (bindir): New variable.
23134 Add gettext initialization.
23135 (linux_entry): Make menuentry output translatable.
23136 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
23137 (usage): Make --help output translatable.
23138 (main): Initialize gettext.
23139
02c0a6ad
RM
231402009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23141
23142 * import_gcry.py: New file (written by Vladimir with minor
23143 adjustments).
23144 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
23145 ciphers.
23146 * INSTALL: Document that Python is required for bootstrap.
23147
231482009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23149
23150 Import ciphers from libgcrypt 1.4.4.
23151
23152 * lib/libgcrypt/cipher/ChangeLog
23153 * lib/libgcrypt/cipher/ac.c
23154 * lib/libgcrypt/cipher/arcfour.c
23155 * lib/libgcrypt/cipher/bithelp.h
23156 * lib/libgcrypt/cipher/blowfish.c
23157 * lib/libgcrypt/cipher/camellia-glue.c
23158 * lib/libgcrypt/cipher/camellia.c
23159 * lib/libgcrypt/cipher/camellia.h
23160 * lib/libgcrypt/cipher/cast5.c
23161 * lib/libgcrypt/cipher/cipher.c
23162 * lib/libgcrypt/cipher/crc.c
23163 * lib/libgcrypt/cipher/des.c
23164 * lib/libgcrypt/cipher/dsa.c
23165 * lib/libgcrypt/cipher/ecc.c
23166 * lib/libgcrypt/cipher/elgamal.c
23167 * lib/libgcrypt/cipher/hash-common.c
23168 * lib/libgcrypt/cipher/hash-common.h
23169 * lib/libgcrypt/cipher/hmac-tests.c
23170 * lib/libgcrypt/cipher/md.c
23171 * lib/libgcrypt/cipher/md4.c
23172 * lib/libgcrypt/cipher/md5.c
23173 * lib/libgcrypt/cipher/primegen.c
23174 * lib/libgcrypt/cipher/pubkey.c
23175 * lib/libgcrypt/cipher/rfc2268.c
23176 * lib/libgcrypt/cipher/rijndael-tables.h
23177 * lib/libgcrypt/cipher/rijndael.c
23178 * lib/libgcrypt/cipher/rmd.h
23179 * lib/libgcrypt/cipher/rmd160.c
23180 * lib/libgcrypt/cipher/rsa.c
23181 * lib/libgcrypt/cipher/seed.c
23182 * lib/libgcrypt/cipher/serpent.c
23183 * lib/libgcrypt/cipher/sha1.c
23184 * lib/libgcrypt/cipher/sha256.c
23185 * lib/libgcrypt/cipher/sha512.c
23186 * lib/libgcrypt/cipher/tiger.c
23187 * lib/libgcrypt/cipher/twofish.c
23188 * lib/libgcrypt/cipher/whirlpool.c
23189
af2f93ac
RM
231902009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23191
23192 Fix build for systems without error().
23193
23194 * gnulib/error.c: New file (imported from Gnulib).
23195 * gnulib/error.h: Likewise.
23196 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
23197 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
23198 (this variable is now used by error()).
23199
73fb3dd5
FZ
232002009-11-16 Felix Zielcke <fzielcke@z-51.de>
23201
814f5e96
FZ
23202 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
23203 instead of relying that char is signed.
73fb3dd5 23204
a691ca33
VS
232052009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
23206
23207 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
23208 blocksize different from specified.
23209 (grub_pxefs_read): Likewise.
23210
2af8f0f4
FZ
232112009-11-16 Felix Zielcke <fzielcke@z-51.de>
23212
23213 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
23214
23215 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
23216 (grub_ata_readwrite): Likewise. Update 2 format strings.
23217 (grub_atapi_read): Likewise.
23218
23219 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
23220 * conf/i386.rmk (pkglib_MODULES): ... to here ...
23221 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
23222 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
23223 (ata_mod_LDFLAGS): Move from here ...
23224 * conf/i386.rmk: ... to here ...
23225 * conf/x86_64-efi.rmk: ... and here.
23226 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
23227 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
23228
83bdecaf
RM
232292009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23230
23231 Relicense multiboot.h, with RMS' blessing.
23232
23233 * include/multiboot.h: Change to X11 license.
23234
fd6fd3d7
RM
232352009-11-15 Robert Millan <rmh.grub@aybabtu.com>
23236
23237 Support --version in grub-mkisofs.
23238
23239 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
23240 (OPTION_VERSION): New macro.
23241 (ld_options): Recognize --version.
23242 (usage): Move `program_name' from here ...
23243 (program_name): ... to here. Add `static' qualifier.
23244 (main): Recognize `OPTION_VERSION'.
23245
16a88c49
FZ
232462009-11-15 Felix Zielcke <fzielcke@z-51.de>
23247
23248 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
23249 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
23250
a4158476
RM
232512009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23252
23253 Fix help2man generation for mkisofs.
23254
23255 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
23256 (usage): Send output to stdout (rather than stderr).
23257
fc2208b0
RM
232582009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23259
23260 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
23261 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23262 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
23263 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23264 (bin_SCRIPTS): Add `grub-mkfloppy'.
23265 (grub_mkfloppy_SOURCES): New variable.
23266
23267 * util/grub-mkrescue.in: New file.
23268 * util/i386/pc/grub-mkfloppy.in: New file.
23269
23270 * util/i386/coreboot/grub-mkrescue.in: Remove.
23271 * util/i386/pc/grub-mkrescue.in: Remove.
23272
8d0edf4a
RM
232732009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23274
23275 * include/grub/multiboot.h (struct grub_multiboot_header): Move
23276 from here ...
23277 * include/multiboot.h (struct multiboot_header): ... to here. Update
23278 all users.
23279 * include/grub/multiboot.h (struct grub_multiboot_info): Move
23280 from here ...
23281 * include/multiboot.h (struct multiboot_info): ... to here. Update
23282 all users.
23283 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
23284 from here ...
23285 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
23286 Update all users.
23287 * include/grub/multiboot.h (struct grub_mod_list): Move
23288 from here ...
23289 * include/multiboot.h (struct multiboot_mod_list): ... to here.
23290 Update all users.
23291
a73f5969
RM
232922009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23293
23294 * include/multiboot2.h (multiboot_word): Rename from this ...
23295 (multiboot2_word): ... to this. Update all users.
23296 (multiboot_header): Rename from this ...
23297 (multiboot2_header): ... to this. Update all users.
23298 (multiboot_tag_header): Rename from this ...
23299 (multiboot2_tag_header): ... to this. Update all users.
23300 (multiboot_tag_start): Rename from this ...
23301 (multiboot2_tag_start): ... to this. Update all users.
23302 (multiboot_tag_name): Rename from this ...
23303 (multiboot2_tag_name): ... to this. Update all users.
23304 (multiboot_tag_module): Rename from this ...
23305 (multiboot2_tag_module): ... to this. Update all users.
23306 (multiboot_tag_memory): Rename from this ...
23307 (multiboot2_tag_memory): ... to this. Update all users.
23308 (multiboot_tag_unused): Rename from this ...
23309 (multiboot2_tag_unused): ... to this. Update all users.
23310 (multiboot_tag_end): Rename from this ...
23311 (multiboot2_tag_end): ... to this. Update all users.
23312
1c8927f0
RM
233132009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23314
23315 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
23316 this platform we should support Multiboot1 first.
23317
23318 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23319 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
23320 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
23321
6e1e0d89
RM
233222009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23323
23324 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
23325 of write calls (converting them to fwrite() if they aren't already).
23326 (get_torito_desc): Likewise.
23327 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
23328
7f2b34d8
RM
233292009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23330
23331 * util/i386/pc/grub-install.in: Move from here ...
23332 * util/grub-install.in: ... to here. Update all users.
23333
c0ef3311
CW
233342009-11-11 Colin Watson <cjwatson@ubuntu.com>
23335
23336 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
23337
e1f240ff
RM
233382009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23339
23340 Support for El Torito without floppy emulation.
23341
23342 * util/mkisofs/eltorito.c: Include `<errno.h>'.
23343 (init_boot_catalog): Improve error handling.
23344 (get_torito_desc): Don't use floppy emulation unless requested by
23345 user. Patch boot information table when requested via
23346 `-boot-info-table'.
23347 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
23348 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
23349 (use_boot_info_table): New variables.
23350 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
23351 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
23352 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
23353 `--eltorito-emul-floppy'.
23354 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
23355 and `OPTION_ELTORITO_EMUL_FLOPPY'.
23356 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
23357 (use_boot_info_table, get_731): New prototypes.
23358 * util/mkisofs/write.c (get_731): New function.
23359
af7d4de5
FZ
233602009-11-11 Felix Zielcke <fzielcke@z-51.de>
23361
23362 Fix the generation of the man page.
23363
23364 * util/pc/i386/grub-install.in: Source
23365 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23366
2c55dbc0
RM
233672009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23368
23369 Large file support for grub-mkisofs.
23370
23371 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
23372 * util/mkisofs/mkisofs.c (next_extent, last_extent)
23373 (session_start): Upgrade type to `uint64_t'. Update all users.
23374 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
23375 (struct directory_entry): Upgrade type of `starting_block' and
23376 `size' to `uint64_t'. Update all users.
23377 (struct deferred): Remove unused structure.
23378 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
23379 Update all users.
23380 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
23381 file is larger than `UINT32_MAX'.
23382 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
23383 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
23384 return value.
23385 (struct deferred_write): Upgrade type of `extent' and `size' to
23386 `uint64_t'. Update all users.
23387 (last_extent_written): Upgrade type to `uint64_t'. Update all
23388 users.
23389 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
23390 Update all users. Upgrade type of `remain' to `int64_t' and
23391 `use' to `size_t'. Use error() to handle fread() errors.
23392 (write_files): Rely on write_one_file() rather than calling
23393 xfwrite() directly.
23394
6a9cead5
FZ
233952009-11-09 Felix Zielcke <fzielcke@z-51.de>
23396
23397 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
23398
4825d790
RM
233992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23400
23401 * util/mkisofs/fnmatch.c: Remove.
23402 * util/mkisofs/getopt1.c: Likewise.
23403 * util/mkisofs/getopt.c: Likewise.
23404 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
23405 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
23406 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
23407 `gnulib/getopt1.c' and `gnulib/getopt.c'.
23408 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
23409
23410 * configure.ac: Detect `mingw32msvc' host_os.
23411 Check for lstat(), getuid() and getgid().
23412
23413 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
23414 instances of `u_char' with `uint8_t'.
23415
23416 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
23417 [!HAVE_GETUID] (getuid): New function (stub).
23418 [!HAVE_GETGID] (getgid): Likewise.
23419 [!HAVE_LSTAT] (lstat): Likewise.
23420 [!S_IROTH] (S_IROTH): New macro (dummy).
23421 [!S_IRGRP] (S_IRGRP): Likewise.
23422
84b860d8
RM
234232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23424
23425 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
23426 conditional expression).
23427
66e9b712
RM
234282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23429
23430 Import from Gnulib.
23431
23432 * gnulib/fnmatch.c: New file.
23433 * gnulib/fnmatch.h: Likewise.
23434 * gnulib/fnmatch_loop.c: Likewise.
23435 * gnulib/getopt.c: Likewise.
23436 * gnulib/getopt.h: Likewise.
23437 * gnulib/getopt1.c: Likewise.
23438 * gnulib/getopt_int.h: Likewise.
23439 * gnulib/gettext.h: Likewise.
23440
34f4a5b0
RM
234412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23442
23443 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
23444 * normal/handler.c (read_handler_list): Likewise.
23445
ac451143
RM
234462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23447
23448 Misc cleanup.
23449
23450 * kern/command.c (grub_register_command_prio): Use
23451 grub_zalloc() instead of explicitly zeroing data.
23452 * kern/list.c: Include `<grub/mm.h>'.
23453 (grub_named_list_find): Replace `0' with `NULL'.
23454 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
23455 (fs_module_list): Change type to `grub_named_list_t'. Update all
23456 users.
23457 * normal/dyncmd.c (read_command_list): Add space between function
23458 call and parenthesis.
23459 * normal/handler.c (read_handler_list): Likewise.
23460
4089b167
RM
234612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23462
23463 * normal/auth.c (punishment_delay): Moved from here ...
23464 (grub_auth_strcmp): ... to here (inside function).
23465
325f5037
RM
234662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23467
23468 * include/grub/list.h (struct grub_named_list): Remove `const'
23469 qualifier from `name'.
23470 (struct grub_prio_list): Likewise.
23471
7aea29a3
RM
234722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23473
23474 * normal/auth.c: Include `<grub/time.h>'.
23475 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
23476
3fd6f044
RM
234772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23478
23479 * normal/auth.c (punishment_delay): New variable.
23480 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
23481 (grub_auth_check_authentication): Punish failed login attempts with
23482 an incremental (2^N) delay.
23483
a4cd68e4
RM
234842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23485
23486 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
23487 path with $(srcdir).
23488
7ad12f43
VS
234892009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23490
23491 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
23492
c1129f03
RM
234932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23494
23495 * util/i386/coreboot/grub-mkrescue.in: New file.
23496 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
23497 variables.
23498
23499 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
23500 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
23501 * configure.ac: Add header and function checks to satisfy grub-mkisofs
23502 requirements.
23503 * util/mkisofs/defaults.h: New file.
23504 * util/mkisofs/eltorito.c: Likewise.
23505 * util/mkisofs/exclude.h: Likewise.
23506 * util/mkisofs/fnmatch.c: Likewise.
23507 * util/mkisofs/getopt.c: Likewise.
23508 * util/mkisofs/getopt1.c: Likewise.
23509 * util/mkisofs/hash.c: Likewise.
23510 * util/mkisofs/include/fctldefs.h: Likewise.
23511 * util/mkisofs/include/mconfig.h: Likewise.
23512 * util/mkisofs/include/prototyp.h: Likewise.
23513 * util/mkisofs/include/statdefs.h: Likewise.
23514 * util/mkisofs/iso9660.h: Likewise.
23515 * util/mkisofs/joliet.c: Likewise.
23516 * util/mkisofs/match.c: Likewise.
23517 * util/mkisofs/match.h: Likewise.
23518 * util/mkisofs/mkisofs.c: Likewise.
23519 * util/mkisofs/mkisofs.h: Likewise.
23520 * util/mkisofs/multi.c: Likewise.
23521 * util/mkisofs/name.c: Likewise.
23522 * util/mkisofs/rock.c: Likewise.
23523 * util/mkisofs/tree.c: Likewise.
23524 * util/mkisofs/write.c: Likewise.
23525
ec8bb77d
VS
235262009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23527
23528 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
23529 being insecure.
23530
3716b12c
RM
235312009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23532
23533 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
23534 `grub-mkimage' (and use $0 when possible).
23535
b97b7b91
RM
235362009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23537
23538 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
23539 error message for excessively large memory map.
23540
04114812
RM
235412009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23542
23543 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
23544 executable bit.
23545
e4eb2373
RM
235462009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23547
23548 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
23549 message for coreboot users.
23550
c926e1d5 235512009-11-07 Robert Millan <rmh.grub@aybabtu.com>
23552
23553 Fix build with GNU gold.
23554
23555 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
23556 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
23557 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
23558 link addresses.
23559 * aclocal.m4: Likewise.
23560
86e5b1db 235612009-11-04 Felix Zielcke <fzielcke@z-51.de>
23562
23563 * configure.ac (AC_PREREQ): Bump to 2.59d.
23564 * INSTALL: Make it more clear when Autoconf and Ruby are
23565 needed and when to run `./autogen.sh'.
23566
246cd78f 235672009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
23568
23569 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
23570 OSes.
23571
4f9dfb37 235722009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23573
23574 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
23575
b82bd5e1 235762009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23577
23578 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
23579 giving it to GNU Mach.
23580
ff1a9bca 235812009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23582
23583 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
23584 GNU partition number to get internal GRUB partition number.
23585
61697d9c 235862009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23587
23588 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
23589 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
23590
a50569e1 235912009-11-01 Robert Millan <rmh.grub@aybabtu.com>
23592
23593 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
23594 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
23595 case.
23596
5b153867 235972009-11-01 Felix Zielcke <fzielcke@z-51.de>
23598
23599 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
23600
d9e2cd70 236012009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23602
23603 Fix build problem.
23604
23605 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
23606 `-isystem=$(srcdir)/include'.
23607
805111a4 236082009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23609
23610 * util/i386/pc/grub-install.in: Remove hint that device.map should be
23611 checked (grub-install doesn't currently rely on it).
23612
fa6e945f 236132009-10-29 Robert Millan <rmh.grub@aybabtu.com>
23614
23615 Revert SVN r2660.
23616
23617 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
23618 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23619 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
23620 * conf/i386-ieee1275.rmk: Likewise.
23621 * conf/i386-pc.rmk: Likewise.
23622 * conf/powerpc-ieee1275.rmk: Likewise.
23623 * conf/sparc64-ieee1275.rmk: Likewise.
23624 * conf/x86_64-efi.rmk: Likewise.
23625
cee15086 236262009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23627
23628 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
23629
95b9239e 236302009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23631
23632 * include/grub/misc.h: Stop checking for APPLE_CC.
23633
2ed19dfd 236342009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23635
23636 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
23637 doesn't cause an infinite call loop.
23638
fdcdde19 236392009-10-28 Felix Zielcke <fzielcke@z-51.de>
23640
23641 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
23642 strings.
23643
cefabfe1 236442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23645
23646 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
23647 variable.
23648 * Makefile.in: Likewise.
23649
ed96ab6d 236502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23651
23652 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
23653
0579b753 236542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23655
23656 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
23657
478df409 236582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23659
23660 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
23661
083d1679 236622009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23663
23664 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
23665 from here ...
23666 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
23667
5947ae32 236682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23669
23670 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
23671 in $(MAKEINFO) invocation. This makes it clear in output that
23672 errors are being ignored.
23673
94180ff6 236742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23675
23676 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
23677 from here ...
23678 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23679 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
23680 * conf/i386-ieee1275.rmk: Likewise.
23681 * conf/i386-pc.rmk: Likewise.
23682 * conf/powerpc-ieee1275.rmk: Likewise.
23683 * conf/sparc64-ieee1275.rmk: Likewise.
23684 * conf/x86_64-efi.rmk: Likewise.
23685
9031b03a 236862009-10-26 Colin Watson <cjwatson@ubuntu.com>
23687
23688 * util/grub-editenv.c (main): If only a command is given, use
23689 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
23690 (usage): FILENAME is now optional and has a default.
23691
e4f6809b 236922009-10-26 Colin Watson <cjwatson@ubuntu.com>
23693
23694 Improve grub-mkconfig performance when there are several menu
23695 entries on a single filesystem.
23696
23697 * util/grub.d/10_linux.in (linux_entry): Cache the output of
23698 prepare_grub_to_access_device.
23699 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23700 * util/grub.d/30_os-prober.in: Likewise.
23701
67937d4d 237022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23703
23704 * util/grub.d/10_freebsd.in: Remove.
23705 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
23706 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
23707
ee3756cc 237082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23709
5c35048e 23710 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 23711
4dea1c6f 237122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23713
23714 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
23715 grub_util_error() call.
23716
042484d7 237172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23718
23719 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
23720 `reserved_first_sector' member.
23721 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
23722 `reserved_first_sector' to 1.
23723 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
23724 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
23725 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
23726 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
23727 filesystems which begin at first sector.
23728 (options): New option --skip-fs-probe.
23729 (main): Handle --skip-fs-probe and pass it to setup().
23730
d64448a7 237312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23732
23733 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
23734 (memset): Fix function prototype.
23735
508d42ec 237362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
237372009-10-25 Vasily Averin <vvs@parallels.com>
23738
23739 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
23740 `dirent.direntlen == 0'.
23741
b240e30c 237422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23743
23744 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
23745 `cpio'.
23746 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
23747
346e7fbe 237482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23749
23750 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
23751 `__trampoline_setup' and `__ucmpdi2'.
23752 * include/grub/powerpc/libgcc.h: Only export symbols for functions
23753 that libgcc provides.
23754
cdb308b0 237552009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23756
23757 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
23758 * include/grub/sparc64/libgcc.h (memset): Likewise.
23759 * include/grub/misc.h (memset, memcmp): New function prototypes.
23760
fb26abc2 237612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23762
23763 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
23764 `cpio'.
23765 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
23766
f6693890 237672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23768
23769 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
23770 * docs/grub.cfg: Compensate for recent change in multiboot
23771 loader (since 2009-08-14 it won't pass filename to payload).
23772 * util/grub.d/10_hurd.in: Likewise.
23773
0933cdc0 237742009-10-21 Felix Zielcke <fzielcke@z-51.de>
23775
23776 * config.guess: Update to latest version from config git
23777 repository.
23778 * config.sub: Likewise.
23779
3b2fe8c2 237802009-10-20 Robert Millan <rmh.grub@aybabtu.com>
23781
23782 Fix build on sparc64.
23783
23784 * configure.ac: Perform checks for libgcc symbols before
23785 adding `-nostdlib' to LDFLAGS.
23786
46695a62 237872009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23788
23789 Let user specify OpenBSD root device.
23790
23791 * loader/i386/bsd.c (openbsd_root): New variable.
23792 (openbsd_opts): New option 'root'.
23793 (OPENBSD_ROOT_ARG): New macro.
23794 (grub_openbsd_boot): Use 'openbsd_root'.
23795 (grub_cmd_openbsd): Fill 'openbsd_root'.
23796
d2b6b7fc 237972009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23798
23799 * NEWS: Misc adjustments.
23800
421bd7ac 238012009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23802
23803 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
23804
f1d29d87 238052009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23806
23807 * configure.ac: Bump version to 1.97.
23808
6f3cd880 238092009-10-16 Colin Watson <cjwatson@ubuntu.com>
23810
23811 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
23812 -mno-3dnow on x86 architectures. Some toolchains enable these
23813 features by default, but they rely on registers that aren't enabled
23814 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
23815
035f7122 238162009-10-15 Robert Millan <rmh.grub@aybabtu.com>
23817
23818 Make entry text a bit more readable.
23819
23820 * util/grub.d/10_linux.in: Add `with' before `Linux'.
23821
44998e58 238222009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23823
23824 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
23825
cd2851b3 238262009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23827
23828 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
23829 operations.
23830
c6f3b249 238312009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23832
23833 * configure.ac: Add missing dollar.
23834
6b5886ba 238352009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23836
23837 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
23838
23839 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
23840 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
23841 exports.
23842 * include/grub/sparc64/libgcc.h: Likewise. Use
23843 preprocessor conditionals.
23844
e9d66f6d 238452009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23846
23847 * conf/common.rmk (grub-dumpbios): Remove rule.
23848 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
23849 * util/grub-dumpbios.in: Remove file.
23850
9155bc17 238512009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23852
23853 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
23854 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
23855
23856 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
23857 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
23858 users.
23859
23860 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
23861 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
23862 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
23863 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
23864 users.
23865
bf7f7a18 238662009-10-12 Robert Millan <rmh.grub@aybabtu.com>
23867
23868 * term/tparm.c: Switch to GPLv3.
23869
86564c26 238702009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23871
23872 * include/grub/i386/cpuid.h: Add header protection.
23873
5c936493 238742009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23875
23876 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
23877
23878 * include/grub/i386/cpuid.h: New file.
23879 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
23880 (has_longmode): Rename to ...
23881 (grub_cpuid_has_longmode): ... this. Update all users. Remove
23882 `static' attribute.
23883 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
23884 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
23885 on a CPU that doesn't implement AMD64 instruction set.
23886
186e7cf2 238872009-10-06 Colin Watson <cjwatson@ubuntu.com>
23888
23889 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
23890 that version.texi is rebuilt on version number changes.
23891
83b65c4a 238922009-10-06 Colin Watson <cjwatson@ubuntu.com>
23893
23894 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
23895 Fixes bug #27602.
23896
d244281c 238972009-10-06 Colin Watson <cjwatson@ubuntu.com>
23898
23899 * util/i386/pc/grub-install.in: Source
23900 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
23901 that the --grub-probe option will work.
23902 * util/sparc64/ieee1275/grub-install.in: Likewise.
23903
da25306d 239042009-10-05 Robert Millan <rmh.grub@aybabtu.com>
23905
23906 * configure.ac: Bump version to 1.97~beta4.
23907
e8ee83c0 239082009-10-03 Robert Millan <rmh.grub@aybabtu.com>
23909
23910 Resync grub-mkdevicemap in x86_64-efi.
23911
23912 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
23913 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
23914 `util/devicemap.c'.
23915
50dcabcf 239162009-10-01 Colin Watson <cjwatson@ubuntu.com>
23917
23918 * util/grub-editenv.c (create_envblk_file): Write new block with a
23919 .new suffix and then rename it into place, to ensure atomic
23920 creation.
23921
0e51c3a7 239222009-09-28 Robert Millan <rmh.grub@aybabtu.com>
23923
23924 Do not automatically install headers.
23925
23926 * Makefile.in (include_DATA): Remove. Update all users.
23927
31299a95 239282009-09-26 Robert Millan <rmh.grub@aybabtu.com>
23929
23930 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
23931 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
23932
23933 * util/osdetect.lua: Remove.
23934 * script/lua/lauxlib.c: Likewise.
23935 * script/lua/ldebug.c: Likewise.
23936 * script/lua/grub_main.c: Likewise.
23937 * script/lua/lauxlib.h: Likewise.
23938 * script/lua/ldebug.h: Likewise.
23939 * script/lua/ltablib.c: Likewise.
23940 * script/lua/liolib.c: Likewise.
23941 * script/lua/lstrlib.c: Likewise.
23942 * script/lua/lualib.h: Likewise.
23943 * script/lua/ldo.c: Likewise.
23944 * script/lua/ldump.c: Likewise.
23945 * script/lua/ldo.h: Likewise.
23946 * script/lua/loslib.c: Likewise.
23947 * script/lua/lundump.c: Likewise.
23948 * script/lua/grub_lib.c: Likewise.
23949 * script/lua/ldblib.c: Likewise.
23950 * script/lua/lundump.h: Likewise.
23951 * script/lua/lmem.c: Likewise.
23952 * script/lua/grub_lib.h: Likewise.
23953 * script/lua/lmathlib.c: Likewise.
23954 * script/lua/lstate.c: Likewise.
23955 * script/lua/ltm.c: Likewise.
23956 * script/lua/lvm.c: Likewise.
23957 * script/lua/lmem.h: Likewise.
23958 * script/lua/lstate.h: Likewise.
23959 * script/lua/ltm.h: Likewise.
23960 * script/lua/ltable.c: Likewise.
23961 * script/lua/lvm.h: Likewise.
23962 * script/lua/llex.c: Likewise.
23963 * script/lua/lgc.c: Likewise.
23964 * script/lua/grub_lua.h: Likewise.
23965 * script/lua/loadlib.c: Likewise.
23966 * script/lua/lfunc.c: Likewise.
23967 * script/lua/lopcodes.c: Likewise.
23968 * script/lua/lparser.c: Likewise.
23969 * script/lua/ltable.h: Likewise.
23970 * script/lua/llex.h: Likewise.
23971 * script/lua/lgc.h: Likewise.
23972 * script/lua/lfunc.h: Likewise.
23973 * script/lua/lbaselib.c: Likewise.
23974 * script/lua/lopcodes.h: Likewise.
23975 * script/lua/lparser.h: Likewise.
23976 * script/lua/lzio.c: Likewise.
23977 * script/lua/linit.c: Likewise.
23978 * script/lua/lobject.c: Likewise.
23979 * script/lua/llimits.h: Likewise.
23980 * script/lua/lstring.c: Likewise.
23981 * script/lua/lzio.h: Likewise.
23982 * script/lua/lapi.c: Likewise.
23983 * script/lua/lcode.c: Likewise.
23984 * script/lua/lua.h: Likewise.
23985 * script/lua/lobject.h: Likewise.
23986 * script/lua/lstring.h: Likewise.
23987 * script/lua/lapi.h: Likewise.
23988 * script/lua/lcode.h: Likewise.
23989 * script/lua/luaconf.h: Likewise.
23990
cb8a2c38 239912009-09-26 Colin Watson <cjwatson@ubuntu.com>
23992
23993 * docs/grub.texi (Command-line and menu entry commands): Document
23994 date and echo commands.
23995
6b9b6276 239962009-09-24 Pavel Roskin <proski@gnu.org>
23997
23998 * include/grub/kernel.h (struct grub_module_header): Remove
23999 `grub_module_header_types'. Make `type' unsigned. Make `size'
24000 32-bit on all platforms.
24001 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24002 8-bit field. Use grub_host_to_target32() for `size'.
24003 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24004 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24005 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24006
4e5a02a7 240072009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24008
24009 Fix "lost keypress" bug in at_keyboard.
24010
24011 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24012 Checks for readyness of input buffer (without flushing it).
24013 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24014 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24015
c6dcedf6 240162009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24017
24018 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24019 size check within GRUB_MACHINE_PCBIOS section.
24020
74c958b1 240212009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24022
24023 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24024 return value.
24025 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24026 KEYBOARD_ISREADY check.
24027 (grub_at_keyboard_checkkey): Rename to ...
24028 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24029 Remove gratuitous cast.
24030
ff420223 240312009-09-23 Colin Watson <cjwatson@ubuntu.com>
24032
24033 * configure.ac: Call AC_PROG_MKDIR_P.
24034 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24035 version.texi in $(builddir) rather than $(srcdir).
24036 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24037 to makeinfo's @include search path.
24038
d96875df 240392009-09-23 Felix Zielcke <fzielcke@z-51.de>
24040
24041 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24042
9b3f8365 240432009-09-23 Felix Zielcke <fzielcke@z-51.de>
24044
24045 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24046 for `*.dpkg-new'.
24047
c44c90db 240482009-09-21 Colin Watson <cjwatson@ubuntu.com>
24049
24050 Build info documentation. Some code borrowed from Automake.
24051
24052 * configure.ac: Check for makeinfo.
24053 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24054 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24055 docs/version.texi.
24056 (MOSTLYCLEANFILES): Add vti.tmp.
24057 (docs/version.texi, docs/stamp-vti): Update automatically.
24058 (docs/grub.info): Build info documentation. Use --force and ignore
24059 errors for now.
24060 (all-local): Add $(INFOS).
24061 (install-local): Install info files.
24062 (uninstall): Uninstall info files.
24063 * docs/version.texi: Remove from revision control. This file is
24064 automatically generated on build now.
24065 * gendistlist.sh: Add `*.info'.
24066
e0b37bb5 240672009-09-21 Felix Zielcke <fzielcke@z-51.de>
24068
24069 * kern/term.c: Fix indentation.
24070
5a78865b 240712009-09-21 Felix Zielcke <fzielcke@z-51.de>
24072
24073 * util/hostdisk.c: Fix a comment.
24074
dace7e8a 240752009-09-20 Robert Millan <rmh.grub@aybabtu.com>
24076
24077 Fix regression introduced in r2539.
24078
24079 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
24080 to 0xA1.
24081
a83d079b 240822009-09-19 Colin Watson <cjwatson@ubuntu.com>
24083
24084 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 24085 os-prober. Under normal operation, it does not print anything to
24086 stderr; if it does, we need to debug it, and throwing away stderr
24087 makes that excessively difficult.
a83d079b 24088
be94a509 240892009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
24090
24091 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
24092
63f745e8 240932009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24094
24095 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
24096 AC_LANG_PROGRAM from autoconf.
24097 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
24098 prototypes (fixes warning).
24099
24100 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
24101 `--disable-werror' was used.
24102
bbb2a70f 241032009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24104
24105 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
24106 uninitialized `lastaddr'.
24107
77c24f1d 241082009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
24109
0f0b8c87 24110 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 24111
07197f23 241122009-09-14 Colin Watson <cjwatson@ubuntu.com>
24113
24114 * commands/test.c (get_fileinfo): Return immediately if
24115 grub_fs_probe fails.
24116
dabf1798 241172009-09-14 José Martínez <xosemp@gmail.com>
24118
24119 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
24120
d52109a7 241212009-09-14 Colin Watson <cjwatson@ubuntu.com>
24122
24123 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
24124 output.
24125
56532179 241262009-09-13 Robert Millan <rmh.grub@aybabtu.com>
24127
24128 * configure.ac: Remove --enable-grub-pe2elf. Only build
24129 grub-pe2elf when needed by the build system itself.
24130 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
24131
8ef070f5 241322009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24133
24134 * configure.ac: Bump version to 1.97~beta3.
24135 * docs/version.texi: Likewise.
24136
61229557 241372009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24138
24139 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
24140 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
24141 from here ...
24142 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
24143 (grub_linux_setup_video): ... to here (with some adjustments).
24144
5c9f8d84 241452009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24146
24147 Fix memory corruption issue (spotted by Colin Watson).
24148
24149 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
24150 causing returned size to be stored in an incorrect memory location.
24151 Fix use of uninitialized value when storing the returned size.
24152
e8f5d6e9 241532009-09-12 Yves Blusseau <blusseau@zetam.org>
24154
24155 Change clean rules to properly remove files
24156
24157 * genmk.rb: add new clean rules
24158 * Makefile.in (clean): add the new targets
24159 (mostlyclean): likewise
24160
cda2a409 241612009-09-11 Colin Watson <cjwatson@ubuntu.com>
24162
24163 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
24164 to grub_uint64_t.
24165 * fs/ntfs.c (init_file): Understand 64-bit sizes for
24166 non-resident files.
24167
86695375 241682009-09-11 Colin Watson <cjwatson@ubuntu.com>
24169
24170 * configure.ac: Don't look for help2man when cross-compiling. Fixes
24171 part of bug #27349.
24172
8aa1541a 241732009-09-10 Felix Zielcke <fzielcke@z-51.de>
24174
24175 * util/grub-mkconfig.in: Make the created config mode 400 and
24176 print a warning if it fails.
24177
48d9bb0a 241782009-09-10 Robert Millan <rmh.grub@aybabtu.com>
24179
24180 * util/grub.d/40_custom.in: Ask user to type custom entries below
24181 comment, rather than below 'exec tail' line.
24182
3b0521be 241832009-09-10 Colin Watson <cjwatson@ubuntu.com>
24184
24185 * util/grub.d/40_custom.in: Make sure that the explanatory text is
24186 visible in grub.cfg.
24187
50051d55 241882009-09-10 Colin Watson <cjwatson@ubuntu.com>
24189
24190 * util/grub.d/40_custom.in: Make it a little clearer how to use this
24191 file.
24192
c0d34387 241932009-09-10 Felix Zielcke <fzielcke@z-51.de>
24194
24195 * docs/grub.cfg: Add an example menu entry for memtest86+.
24196
80a608f3 241972009-09-09 Felix Zielcke <fzielcke@z-51.de>
24198
a2094832 24199 * config.guess: Update to latest version from config git.
80a608f3 24200 * config.sub: Likewise.
24201
99423078 242022009-09-08 Colin Watson <cjwatson@ubuntu.com>
24203
24204 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
24205 unknown-command case. Fixes bug #27320.
24206
44454e4c 242072009-09-08 Felix Zielcke <fzielcke@z-51.de>
24208
24209 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
24210 `help' if the command exists.
24211
e30d87ad 242122009-09-06 Robert Millan <rmh.grub@aybabtu.com>
24213
24214 * INSTALL: Require GCC 4.1.3 or later.
24215
9a86f1ec 242162009-09-06 Yves Blusseau <blusseau@zetam.org>
24217
24218 * Makefile.in (RMKFILES): add i386-qemu.rmk
24219 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
24220 $(srcdir)/stamp-h.in
24221
7f26d466 242222009-09-05 Robert Millan <rmh.grub@aybabtu.com>
24223
24224 * util/grub-probe.c (probe): Comment out buggy codepath, which
24225 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
24226 should be re-enabled after 1.97.
24227
3a613259 242282009-09-05 Felix Zielcke <fzielcke@z-51.de>
24229
24230 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
24231 find searches for.
24232
197f76c7 242332009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24234
24235 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
24236 unnecessary calls to grub_error.
24237
70ba68ce 242382009-09-04 Colin Watson <cjwatson@ubuntu.com>
24239
24240 * NEWS: Mention `keystatus' and Unicode fonts.
24241
4ff0d7a4 242422009-09-04 Robert Millan <rmh.grub@aybabtu.com>
24243
24244 * configure.ac: Bump version to 1.97~beta2.
24245 * docs/version.texi: Likewise.
24246
77c55a87 242472009-09-03 Colin Watson <cjwatson@ubuntu.com>
24248
24249 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
24250 containing unwind information in some cases where it previously did
24251 not. Use -fno-dwarf2-cfi-asm if available to restore the old
24252 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
24253 discussion.
24254
f79572cd 242552009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
24256
24257 Embedding loadenv module into grub-emu
24258
24259 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
24260 commands/loadenv.c
24261 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
24262 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
24263 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
24264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
24265 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
24266 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
24267
93a81088 242682009-09-03 Magnus Granberg <zorry@ume.nu>
24269
24270 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
24271 include -fPIE in the default specs.
24272 * configure.ac: Check if pie_possible is yes and add -fno-PIE
24273 to TARGET_CFLAGS.
24274
160034b2 242752009-09-03 Felix Zielcke <fzielcke@z-51.de>
24276
24277 * INSTALL: Note that GNU Bison 2.3 or later is required.
24278
087c07c4 242792009-09-03 Colin Watson <cjwatson@ubuntu.com>
24280
24281 * kern/i386/pc/startup.S: Fix typo.
24282
cbf978c0 242832009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24284
24285 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
24286 according to GCS.
24287
242882009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 24289
24290 * docs/grub.texi (Naming convention): Describe one-based partition
24291 numbering.
24292 (Device syntax): Likewise.
24293 (File name syntax): Likewise.
24294 (Block list syntax): Likewise.
24295 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
24296 menu.lst.
24297 (File name syntax): Likewise.
24298 (Command-line and menu entry commands): Document acpi, blocklist,
24299 crc, export, insmod, keystatus, ls, set, and unset commands.
24300
f3e8cdfd 243012009-09-02 Colin Watson <cjwatson@ubuntu.com>
24302
24303 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
24304 to avoid implying that only one of --shift, --ctrl, or --alt may be
24305 used.
24306
c0bc232b 243072009-09-02 Colin Watson <cjwatson@ubuntu.com>
24308
24309 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
24310 rather than comparing against S_IFREG, which will almost never work.
24311
aa0f752d 243122009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24313
24314 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
24315 (write_blocklists): Likewise.
24316
ecb3166a 243172009-09-01 Colin Watson <cjwatson@ubuntu.com>
24318
24319 * script/lua/grub_lua.h (fputs): Supply a format string as the first
24320 argument to grub_printf.
24321
c403a125 243222009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 24323
24324 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 24325 non GNU test.
31aba781 24326
b5e7312c 243272009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24328
24329 * kern/file.c (grub_file_read): Spelling fix
24330
fe00f472 243312009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24332
24333 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
24334 loading of headers in some cases.
24335
cc55302e 243362009-08-30 Robert Millan <rmh.grub@aybabtu.com>
24337
24338 * configure.ac: Bump version to 1.97~beta1.
24339 * docs/version.texi: Likewise.
24340
5c90cdd2 243412009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 24342
24343 * include/grub/i386/xnu.h: Add license header.
24344 include grub/err.h explicitly.
24345
c90edae4 243462009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24347
24348 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
24349 to `ufs' in the vfs.root.mountfrom kernel parameter.
24350
d8888b5c 243512009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24352
24353 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
24354
24355 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
24356 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
24357
24358 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
24359 `ARRAY_SIZE' macro.
24360
6f07b921 243612009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24362
24363 * kern/file.c (grub_file_read): Check offset.
24364 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
24365 * fs/jfs.c (grub_jfs_read_file): Likewise.
24366 * fs/ntfs.c (grub_ntfs_read): Likewise.
24367 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
24368 * fs/minix.c (grub_minix_read_file): Correct offset check.
24369 * fs/ufs.c (grub_ufs_read_file): Likewise.
24370
b4f34077 243712009-08-28 Colin Watson <cjwatson@ubuntu.com>
24372
24373 * term/i386/pc/console.c (bios_data_area): Cast
24374 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
24375
e7c69859 243762009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24377
24378 1-bit optimised blitters.
24379
24380 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
24381 prototype.
24382 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24383 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24384 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24385 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24386 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24387 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24388 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
24389 function.
24390 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24391 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24392 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24393 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24394 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24395 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24396 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
24397 when possible.
24398 * video/video.c (grub_video_get_blit_format): Return
24399 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
24400
a57da43f 244012009-08-28 Colin Watson <cjwatson@ubuntu.com>
24402
24403 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
24404 the first argument to grub_printf.
24405
4cbe67e5 244062009-08-28 Colin Watson <cjwatson@ubuntu.com>
244072009-08-28 Robert Millan <rmh.grub@aybabtu.com>
24408
24409 Add `getkeystatus' terminal method. Add a new `keystatus' command
24410 to query it.
24411
24412 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
24413 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
24414 modifier key bitmasks.
24415 (struct grub_term_input): Add `getkeystatus' member.
24416 (grub_getkeystatus): Add prototype.
24417 * kern/term.c (grub_getkeystatus): New function.
24418
24419 * include/grub/i386/pc/memory.h
24420 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
24421 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
24422 Data Area layout.
24423 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
24424 (grub_console_term_input): Set `getkeystatus' member.
24425 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
24426 constants.
24427 (grub_usb_keyboard_getreport): Likewise.
24428 (grub_usb_keyboard_checkkey): Likewise.
24429 (grub_usb_keyboard_getkeystatus): New function.
24430 (grub_usb_keyboard_term): Set `getkeystatus' member.
24431
24432 * commands/keystatus.c: New file.
24433 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
24434 (keystatus_mod_SOURCES): New variable.
24435 (keystatus_mod_CFLAGS): Likewise.
24436 (keystatus_mod_LDFLAGS): Likewise.
24437 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
24438 commands/keystatus.c.
24439 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24440 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24441 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24442 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24443 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24444 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 24445
6e2a9085 244462009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24447
24448 Split befs.mod and afs.mod into *_be.mod and *.mod
24449
24450 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
24451 (grub_fstest_SOURCES): Likewise.
24452 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
24453 (afs_be_mod_SOURCES): New variable.
24454 (afs_be_mod_CFLAGS): Likewise.
24455 (afs_be_mod_LDFLAGS): Likewise.
24456 (befs_be_mod_SOURCES): Likewise.
24457 (befs_be_mod_CFLAGS): Likewise.
24458 (befs_be_mod_LDFLAGS): Likewise.
24459 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
24460 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24461 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24462 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24463 (grub_emu_SOURCES): Likewise.
24464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24465 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24466 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24467 * fs/afs_be.c: New file.
24468 * fs/befs_be.c: New file.
24469 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
24470 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
24471 (U16): Replaced with ...
24472 (grub_afs_to_cpu16): ...this. All users updated.
24473 (U32): Replaced with ...
24474 (grub_afs_to_cpu32): ...this. All users updated.
24475 (U64): Replaced with ...
24476 (grub_afs_to_cpu64): ...this. All users updated.
24477 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
24478 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 24479 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 24480 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24481 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24482 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24483 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24484 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24485 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24486 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24487 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24488
32a71655 244892009-08-26 Bean <bean123ch@gmail.com>
24490
24491 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
24492 64-bit number.
24493 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
24494 (grub_xfs_inode_block): Change return type to grub_uint64_t.
24495 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
24496
552bf6c5 244972009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24498
24499 NetBSD memory map support.
24500
24501 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
24502 (grub_netbsd_btinfo_mmap_header): New structure.
24503 (grub_netbsd_btinfo_mmap_entry): Likewise.
24504 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
24505
1ae2078c 245062009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24507
24508 Enable bsd.mod on coreboot.
24509
24510 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
24511 (bsd_mod_SOURCES): New variable.
24512 (bsd_mod_CFLAGS): Likewise.
24513 (bsd_mod_LDFLAGS): Likewise.
24514 (bsd_mod_ASFLAGS): Likewise.
24515 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
24516 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
24517
beefc598 245182009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24519
24520 Cleanup NetBSD root support.
24521
24522 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
24523 grub_bsd_get_device.
24524 Fix typo.
24525
3b76e68b 245262009-08-25 Felix Zielcke <fzielcke@z-51.de>
24527
24528 * util/grub.d/00_header.in: Move check for the video backend of
24529 gfxterm from here ...
24530 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
24531 a suitable video backend.
24532
aea664ea 245332009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24534
24535 Fix breakage in grub-setup.
24536
24537 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
24538 "msdos_partition_map".
24539
ff747d50 245402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24541
24542 Fix breakage in normal/auth.c.
24543
24544 * normal/auth.c (grub_iswordseparator): New function.
24545
e7e1f93f 245462009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24547
24548 Authentication support.
24549
24550 * commands/password.c: New file.
24551 * conf/common.rmk (pkglib_MODULES): Add password.mod.
24552 (password_mod_SOURCES): New variable.
24553 (password_mod_CFLAGS): Likewise.
24554 (password_mod_LDFLAGS): Likewise.
24555 (normal_mod_SOURCES): Add normal/auth.c.
24556 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
24557 normal/auth.c.
24558 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24559 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24560 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24562 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24563 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24564 * include/grub/auth.h: New file.
24565 * include/grub/err.h (grub_err_t): New enum value
24566 GRUB_ERR_ACCESS_DENIED.
24567 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
24568 'users'.
24569 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
24570 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
24571 users updated.
24572 * normal/auth.c: New file.
24573 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
24574 (grub_cmdline_run): Don't allow to go to command line without
24575 authentication.
24576 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
24577 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
24578 menuentry without superuser rights.
24579 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
24580 user isn't a superuser.
24581
70f1161d 245822009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24583
24584 Save space by inlining misc.c functions.
24585
24586 * kern/misc.c (grub_iswordseparator): Made static.
24587 * kern/misc.c (grub_strcat): Moved from here ...
24588 * include/grub/misc.h (grub_strcat): ... here. Inlined.
24589 * kern/misc.c (grub_strncat): Moved from here ...
24590 * include/grub/misc.h (grub_strncat): ... here. Inlined.
24591 * kern/misc.c (grub_strcasecmp): Moved from here ...
24592 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
24593 * kern/misc.c (grub_strncasecmp): Moved from here ...
24594 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
24595 * kern/misc.c (grub_isalpha): Moved from here ...
24596 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
24597 * kern/misc.c (grub_isdigit): Moved from here ...
24598 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
24599 * kern/misc.c (grub_isgraph): Moved from here ...
24600 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
24601 * kern/misc.c (grub_tolower): Moved from here ...
24602 * include/grub/misc.h (grub_tolower): ... here. Inlined.
24603
48e40bff 246042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24605
24606 * script/sh/function.c (grub_script_function_find): Cut error message
24607 not to flood terminal.
24608 * script/sh/lexer.c (grub_script_yylex): Remove command line length
24609 limit.
24610 * script/sh/script.c (grub_script_arg_add): Duplicate string.
24611
c385bfc3 246122009-08-24 Colin Watson <cjwatson@ubuntu.com>
24613
24614 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
24615 `report' grub_uint8_t *.
24616 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
24617 Use a 50-millisecond timeout rather than just repeating
24618 grub_usb_keyboard_getreport 50 times.
24619 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
24620
2d21e3e8 246212009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24622
24623 Rename *_partition_map to part_*
24624
24625 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
24626 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
24627 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
24628 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
24629 All users updated.
24630 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
24631 All users updated.
24632 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
24633 * util/grub-probe.c (probe_partmap): Don't transform partition name
24634 to get module name.
24635
dd103c4e 246362009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24637
24638 Fix OpenBSD and NetBSD support.
24639
24640 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
24641 memory address conflict.
24642 (OPENBSD_MMAP_ACPI): New definition.
24643 (OPENBSD_MMAP_NVS): Likewise.
24644 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
24645 and OPENBSD_MMAP_NVS.
24646 Add memory map terminator
24647 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 24648 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 24649
16c84d74 246502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24651
24652 Let user specify NetBSD root device.
24653
24654 * loader/i386/bsd.c (netbsd_root): New variable.
24655 (netbsd_opts): New option 'root'.
24656 (NETBSD_ROOT_ARG): New macro.
24657 (grub_netbsd_boot): Use 'netbsd_root'.
24658 (grub_bsd_unload): Free 'netbsd_root'.
24659 (grub_cmd_netbsd): Fill 'netbsd_root'.
24660
adb29902 246612009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24662
24663 Support for 64-bit NetBSD.
24664
24665 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
24666 point when booting non-FreeBSD.
24667
f5ae9f74 246682009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24669
24670 Support --no-smp and --no-acpi for NetBSD.
24671
24672 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
24673 (NETBSD_AB_NOACPI): Likewise.
24674 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
24675 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
24676
de74f136 246772009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24678
24679 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
24680 errors.
24681 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
24682 errors. Call grub_error when needed.
24683
e9a925da 246842009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24685
24686 * commands/search.c (search_fs): Try searching without autoload first.
24687 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
24688 filesystem module explicitly for faster booting.
24689
5174302b 246902009-08-23 Colin Watson <cjwatson@ubuntu.com>
24691
24692 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
24693
c8c80635 246942009-08-23 Colin Watson <cjwatson@ubuntu.com>
24695
24696 * util/grub.d/30_os-prober.in: Disable os-prober if
24697 `GRUB_DISABLE_OS_PROBER' was set to true.
24698
71acf5e5 246992009-08-23 Robert Millan <rmh.grub@aybabtu.com>
24700
24701 * partmap/pc.c: Rename to ...
24702 * partmap/msdos.c: ... this. Update all users.
24703 (grub_pc_partition_map): Rename to ...
24704 (grub_msdos_partition_map): ... this. Update all users.
24705
24706 * parttool/pcpart.c: Rename to ...
24707 * parttool/msdospart.c: ... this. Update all users.
24708
24709 * include/grub/pc_partition.h: Rename to ...
24710 * include/grub/msdos_partition.h: ... this. Update all users.
24711 (grub_pc_partition_bsd_entry): Rename to ...
24712 (grub_msdos_partition_bsd_entry): ... this. Update all users.
24713 (grub_pc_partition_disk_label): Rename to ...
24714 (grub_msdos_partition_disk_label): ... this. Update all users.
24715 (grub_pc_partition_entry): Rename to ...
24716 (grub_msdos_partition_entry): ... this. Update all users.
24717 (grub_pc_partition_mbr): Rename to ...
24718 (grub_msdos_partition_mbr): ... this. Update all users.
24719 (grub_pc_partition): Rename to ...
24720 (grub_msdos_partition): ... this. Update all users.
24721 (grub_pc_partition_is_empty): Rename to ...
24722 (grub_msdos_partition_is_empty): ... this. Update all users.
24723 (grub_pc_partition_is_extended): Rename to ...
24724 (grub_msdos_partition_is_extended): ... this. Update all users.
24725 (grub_pc_partition_is_bsd): Rename to ...
24726 (grub_msdos_partition_is_bsd): ... this. Update all users.
24727
24728 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
24729 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
24730 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
24731 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
24732 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
24733 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
24734 (gpt_mod_LDFLAGS): Rename to ...
24735 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
24736 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
24737 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
24738 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
24739 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
24740 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
24741 (part_gpt_mod_LDFLAGS): ... this.
24742 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
24743 `pcpart.mod' to `msdospart.mod'.
24744 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
24745 to ...
24746 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
24747 (msdospart_mod_LDFLAGS): ... this.
24748
c11fded5 247492009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24750
24751 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
24752 (openbsd_opts): Likewise.
24753 (netbsd_opts): Likewise.
24754 (freebsd_flags): Added 0 terminator.
24755 (openbsd_flags): Likewise.
24756 (netbsd_flags): Likewise.
24757 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
24758 (grub_cmd_freebsd): Transformed into extended command.
24759 (grub_cmd_openbsd): Likewise.
24760 (grub_cmd_netbsd): Likewise.
24761 (cmd_freebsd): Changed type to grub_extcmd_t.
24762 (cmd_openbsd): Likewise.
24763 (cmd_netbsd): Likewise.
24764 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
24765 grub_cmd_openbsd as extended commands.
24766 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
24767 cmd_netbsd and cmd_openbsd
24768
11d1c769 247692009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24770
24771 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
24772
7a9094e5 247732009-08-21 Pavel Roskin <proski@gnu.org>
24774
5496c37e 24775 * Makefile.in (install-local): When checking if a file is in the
24776 build directory, use "test -e" to detect symlinks.
24777
7a9094e5 24778 * Makefile.in (install-local): Remove all files in
24779 $(DESTDIR)$(pkglibdir) before installing new files there.
24780
e53cea11 247812009-08-18 Felix Zielcke <fzielcke@z-51.de>
24782
24783 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
24784 grub-mkelfimage.
24785
9aced544 247862009-08-18 Felix Zielcke <fzielcke@z-51.de>
24787
24788 * util/grub-mkconfig.in: Don't use gfxterm by default if not
24789 explicitly specified by the user.
24790
b7da6bab 247912009-08-18 Pavel Roskin <proski@gnu.org>
24792
24793 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
24794 grub_uint8_t pointer for data.
24795 * include/grub/fbutil.h (struct grub_video_fbblit_info):
24796 Likewise.
24797 * video/fb/fbutil.c: Remove unnecessary casts.
24798
19f1b335 247992009-08-17 Michal Suchanek <hramrach@centrum.cz>
24800
24801 VBE cleanup.
24802
24803 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
24804 (grub_vbe_set_video_mode): Save active mode info
24805 only after setting the mode.
24806 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
24807 second argument.
24808
2f467aa9 248092009-08-17 Michal Suchanek <hramrach@centrum.cz>
24810
24811 Rename variables for clarity.
24812
24813 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
24814 (active_vbe_mode_info): ... this. All users updated.
24815 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
24816 All users updated.
24817 (initial_mode): Rename to ...
24818 (initial_vbe_mode): ... this. All users updated.
24819 (mode_in_use): Rename to ..
24820 (vbe_mode_in_use): ... this. All users updated.
24821 (mode_list): Rename to ..
24822 (vbe_mode_list): ... this. All users updated.
24823 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
24824 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
24825 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
24826 'mode_list_size' to 'vbe_mode_list_size'.
24827 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
24828 'best_mode_info' to 'best_vbe_mode_info' and
24829 'best_mode' to 'best_vbe_mode'
24830
6025fcd7 248312009-08-17 Michal Suchanek <hramrach@centrum.cz>
24832
24833 Remove duplicate grub_video_fb_get_video_ptr.
24834
24835 * include/grub/fbutil.h (get_data_ptr): Rename to ...
24836 (grub_video_fb_get_video_ptr): ... this.
24837 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
24838 * video/fb/fbutil.c: Add comment about addressing.
24839 (get_data_ptr): Rename to ...
24840 (grub_video_fb_get_video_ptr): ... this. All users updated.
24841 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
24842
cc8c6faf 248432009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24844
24845 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
24846 grub_dprintf() that was just added.
24847
08aa61f0 248482009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24849
24850 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
24851 (DEFAULT_VIDEO_MODE): Remove macros.
24852 (grub_linux_boot): Remove assumption that Linux has FB support,
24853 and use "text" as default video mode.
24854
7cef4f75 248552009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
24856
24857 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
24858 grub_dprintf.
24859 * fs/fat.c (grub_fat_read_data): Likewise.
24860
e1f39873 248612009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24862
24863 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
24864 payload.
24865 (grub_module): Likewise.
24866
c166d79e 248672009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24868
24869 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
24870 mbi->cmdline but free playground.
24871
c60cee8e 248722009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24873
24874 Handle group offset on UFS1.
24875
24876 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
24877 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
24878
c0d8b5d4 248792009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24880
24881 Split ufs.mod into ufs1.mod and ufs2.mod.
24882
24883 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
24884 (grub_fstest_SOURCES): Likewise.
24885 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
24886 (ufs_mod_SOURCES): Remove.
24887 (ufs_mod_CFLAGS): Likewise.
24888 (ufs_mod_LDFLAGS): Likewise.
24889 (ufs1_mod_SOURCES): New variable.
24890 (ufs1_mod_CFLAGS): Likewise.
24891 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 24892 (ufs2_mod_SOURCES): New variable.
24893 (ufs2_mod_CFLAGS): Likewise.
24894 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 24895 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
24896 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
24897 Likewise.
24898 (grub_emu_SOURCES): Likewise.
24899 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24900 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24901 (grub_setup_SOURCES): Likewise.
24902 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24903 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
24904 (grub_setup_SOURCES): Likewise.
24905 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
24906 Likewise.
24907 * fs/ufs2.c: New file.
24908 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
24909
d3539132 249102009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24911
24912 Framebuffer split.
24913
24914 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
24915 subsystem at the end.
24916 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
24917 (video_fb_mod_SOURCES): New variable.
24918 (video_fb_mod_CFLAGS): Likewise.
24919 (video_fb_mod_LDFLAGS): Likewise.
24920 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
24921 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
24922 * video/i386/pc/vbeblit.c: Moved from here ...
24923 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
24924 * video/i386/pc/vbefill.c: Moved from here ...
24925 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
24926 * video/i386/pc/vbeutil.c: Moved from here ...
24927 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
24928 * include/grub/i386/pc/vbeblit.h: Moved from here ...
24929 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
24930 * include/grub/i386/pc/vbefill.h: Moved from here ...
24931 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
24932 * include/grub/i386/pc/vbeutil.h: Moved from here ...
24933 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
24934 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
24935 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
24936 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
24937 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
24938 (grub_video_adapter): Added 'get_info_and_fini'.
24939 (grub_video_get_info_and_fini): New prototype.
24940 (grub_video_set_mode): make modestring const char *.
24941 * loader/i386/linux.c (grub_linux_setup_video): Use
24942 grub_video_get_info_and_fini.
24943 (grub_linux_boot): Move modesetting just before booting.
24944 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
24945 grub_video_get_info_and_fini.
24946 * video/i386/pc/vbe.c: Moved framebuffer part ...
24947 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
24948 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
24949 grub_video_fbstd_colors and grub_video_fb_set_palette.
24950 (grub_video_vbe_init): Clear 'framebuffer' variable and use
24951 grub_video_fb_init.
24952 (grub_video_vbe_fini): Use grub_video_fb_fini.
24953 (grub_video_vbe_setup): Use framebuffer.render_target instead of
24954 render_target and use grub_video_fb_set_active_render_target and
24955 grub_video_fb_set_palette.
24956 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
24957 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
24958 (grub_video_vbe_adapter): Use framebuffer.
24959 * video/video.c (grub_video_get_info_and_fini): New function.
24960 (grub_video_set_mode): Make modestring const char *.
24961 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
24962 values are already initialised.
24963
d404ee56 249642009-08-14 Pavel Roskin <proski@gnu.org>
24965
24966 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
24967 ABS and APPLE_CC.
24968 * boot/i386/pc/diskboot.S: Likewise.
24969 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
24970 sectors allow compilation on MacOSX.
24971 * conf/i386-pc.rmk: Enable unconditional compilation of
24972 lnxboot.img.
24973
9a10df16 249742009-08-13 Colin Watson <cjwatson@ubuntu.com>
24975
24976 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
24977 * util/grub.d/00_header.in: Enter interruptible sleep if
24978 GRUB_HIDDEN_TIMEOUT is set.
24979
be3c9ca7 249802009-08-13 Yves Blusseau <blusseau@zetam.org>
24981
24982 * include/grub/symbol.h: Add the LOCAL macro.
24983 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
24984 starting with "L_".
24985
1f9e557e 249862009-08-13 Pavel Roskin <proski@gnu.org>
24987
9ca62843 24988 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
24989 any modern compilers we support.
24990
1f9e557e 24991 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
24992 Use local labels starting with "L_" so that Apple assembler
24993 knows they are local.
24994
81623db6 249952009-08-10 Robert Millan <rmh.grub@aybabtu.com>
24996
24997 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
24998 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
24999 (bsd_kernel_types): ... this enum.
25000
25001 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25002 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25003 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25004
25005 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25006 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25007 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25008 messages.
25009
f5d35e7a 250102009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25011
25012 * util/grub-dumpdevtree: Moved from here ...
25013 * util/i386/efi/grub-dumpdevtree: ... to here.
25014 (hexify): New function. Converts a string to its hex version.
25015 Generate hex versions of "efi" and "device-properties" by calling
25016 hexify() on the ASCII strings rather than by hardcoding numbers.
25017
d1e1d527 250182009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25019
25020 * fs/jfs.c: Update copyright year.
25021
1ebbe064 250222009-08-08 Felix Zielcke <fzielcke@z-51.de>
25023
25024 * util/grub.d/00_header.in: Fix a comment.
25025 * util/grub.d/10_linux.in: Likewise.
25026 * util/grub.d/10_windows.in: Likewise.
25027 * util/grub.d/10_hurd.in: Likewise.
25028
a78c8d24 250292009-08-08 Felix Zielcke <fzielcke@z-51.de>
25030
25031 * util/grub-mkconfig.in: Allow the user to specify the used font
25032 with GRUB_FONT.
25033
29a6b9e8 250342009-08-08 Pavel Roskin <proski@gnu.org>
25035
b5f16cc4 25036 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25037 available, xfs.mod needs it now.
25038
2f5cb827 25039 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25040 the "g" modifier in sed when the intention is to strip something
25041 once. This fixes comparison of kernels with multiple dashes.
25042
29a6b9e8 25043 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25044 on it. Add missing space before closing bracket. Fix
25045 misleading formatting.
25046
892a3d98 250472009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25048
25049 * docs/grub.texi: Major overhaul. Remove all sections that are
25050 specific to GRUB Legacy, or mostly composed of Legacy-specific
25051 information.
25052
ed94253f 250532009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25054
25055 * docs/version.texi: New file. Provides version information for
25056 grub.texi.
25057
126d6628 250582009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25059
25060 * docs/grub.texi: Update CVS information to SVN.
25061 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25062
998b5aa9 250632009-08-07 Felix Zielcke <fzielcke@z-51.de>
25064
25065 * util/grub-mkconfig.in: Remove a wrong `fi'.
25066
818e094a 250672009-08-07 Felix Zielcke <fzielcke@z-51.de>
25068
25069 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
25070 (grub_jfs_uuid): New function.
25071 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
25072
b969c52f 250732009-08-07 Felix Zielcke <fzielcke@z-51.de>
25074
25075 * util/grub-mkconfig_lib.in (font_path): Move the functionality
25076 of it to ...
25077 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
25078 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
25079
7a4894cc 250802009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25081
25082 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
25083 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
25084 Update all users.
25085
25086 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
25087 not just "vmlinu[zx]".
25088 Moved from here ...
25089 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
25090 all users.
25091
25092 * util/grub.d/10_linux.in (find_latest): Moved from here ...
25093 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
25094 all users.
25095
4e2171f8 250962009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25097
25098 * util/grub.d/10_freebsd.in: Use an absolute device path for
25099 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
25100
6dcfcb32 251012009-08-06 Felix Zielcke <fzielcke@z-51.de>
25102
25103 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
25104 handling of multiple abstraction modules.
25105
f56a8756 251062009-08-04 Robert Millan <rmh.grub@aybabtu.com>
25107
25108 Fix a bug resulting in black screen when loading Linux using a
25109 packed video mode.
25110
25111 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
25112 function.
25113
25114 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
25115 (grub_vbe_bios_getset_dac_palette_width): New function.
25116 (grub_vbe_bios_get_dac_palette_width)
25117 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
25118 grub_vbe_bios_getset_dac_palette_width()).
25119
25120 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
25121 check for return status.
25122 (grub_vbe_get_video_mode_info): When getting information for a packed
25123 mode (<= 8 bpp), obtain DAC palette width using
25124 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
25125 {red,green,blue}_mark_size.
25126
222671b2 251272009-08-04 Felix Zielcke <fzielcke@z-51.de>
25128
ecb1a6d9 25129 * commands/search.c (options): Fix help output to match actual code.
222671b2 25130
f84114f5 251312009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
25132
25133 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
25134 of homegrown code.
25135
bd288a20 251362009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 25137
25138 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
25139 on XFS or ReiserFS.
25140
8aab5e25 251412009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25142
25143 Support Apple partition map with sector size different from 512 bytes.
25144
25145 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
25146 (apple_partition_map_iterate): Respect 'aheader.blocksize'
25147 and 'apart.partmap_size'.
25148
6ad6258a 251492009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
251502009-08-01 Robert Millan <rmh.grub@aybabtu.com>
25151
25152 Fix cpuid command.
25153
25154 * commands/i386/cpuid.c (options): New variable.
25155 (grub_cmd_cpuid): Return real error.
25156 (GRUB_MOD_INIT(cpuid)): Declare options.
25157
67459bc6 251582009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
25159
25160 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
25161 valid.
25162
fbc6ab54 251632009-07-31 Bean <bean123ch@gmail.com>
25164
25165 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
25166 log2_inode.
25167 (grub_fshelp_node): Move inode field to the end.
25168 (grub_xfs_data): Remove inode field.
25169 (grub_xfs_inode_block): Calculate inode size using sblock.
25170 (grub_xfs_inode_offset): Likewise.
25171 (grub_xfs_read_inode): Calculate inode size using sblock.
25172 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
25173 (grub_xfs_iterate_dir): Calculate inode size using sblock.
25174 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
25175 to match inode size.
25176 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
25177 not accessible when data is null.
25178 (grub_xfs_open): Likewise.
25179
f45d6cfc 251802009-07-31 Bean <bean123ch@gmail.com>
25181
25182 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
25183 Don't change pv->disk if it's already set.
25184
25185 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
25186 (grub_raid_register): ... here.
25187 (grub_raid_rescan): Removed.
25188
25189 * include/grub/raid.h (grub_raid_rescan): Removed.
25190
25191 * util/grub-fstest.c: Remove include file <grub/raid.h>.
25192 (fstest): Replace grub_raid_rescan with module fini function followed
25193 by init function.
25194
25195 * util/grub-probe.c: Add include file <grub/raid.h>.
25196 (probe_raid_level): New function.
25197 (probe): Detect abstraction by walking the disk device, support two
25198 level of abstraction (LVM on RAID) when detecting partition map.
25199
24443b5a 252002009-07-31 Pavel Roskin <proski@gnu.org>
25201
25202 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
25203 to grub_zalloc(), it was erroneous.
25204 Reported by Bean <bean123ch@gmail.com>
25205
a275d9e7 252062009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
25207
25208 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 25209 embedding zone, not only the first one.
a275d9e7 25210
56c5a47f 252112009-07-29 Joe Auricchio <jauricchio@gmail.com>
25212
25213 * term/gfxterm.c (clear_char): New function.
25214 (grub_virtual_screen_setup): Use clear_char.
25215 (scroll_up): Likewise.
25216 (grub_virtual_screen_cls): Likewise.
25217
67bb323a 252182009-07-29 Felix Zielcke <fzielcke@z-51.de>
25219
25220 * util/deviceiter.c (get_acceleraid_disk_name): New static
25221 function.
25222 (grub_util_iterate_devices): Handle Accelraid devices.
25223 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
25224
388a7c75 252252009-07-28 Robert Millan <rmh.grub@aybabtu.com>
25226
25227 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
25228 separator for the suggested gfxpayload string (';' collides with the
25229 parser and needs escaping).
25230
3bb7abcf 252312009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25232
25233 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
25234 Clear direction flag before jumping to OS.
25235 (grub_multiboot2_real_boot): Likewise.
25236
2ddd36d7 252372009-07-28 Felix Zielcke <fzielcke@z-51.de>
25238
25239 * util/i386/pc/grub-install: Fix parsing of --disk-module
25240 option.
25241
c521b62b 252422009-07-28 Felix Zielcke <fzielcke@z-51.de>
25243
25244 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
25245 when embedding.
25246
880e0a0c 252472009-07-26 Felix Zielcke <fzielcke@z-51.de>
25248
25249 * util/grub-mkconfig.in (package_version): New variable.
25250 Use it do display the version.
25251
2366e356 252522009-07-25 Felix Zielcke <fzielcke@z-51.de>
25253
25254 * kern/file.c (grub_file_open): Revert to previous check with
25255 grub_errno.
25256
7ad8c80e 252572009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25258
25259 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
25260 from help line. It's out of sync with code.
25261
72b9658b 252622009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25263
25264 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
25265 entries on failed boot.
25266
77435277 252672009-07-25 Felix Zielcke <fzielcke@z-51.de>
25268
25269 * kern/file.c (grub_file_open): Fix an error check.
25270
fcaa8b21 252712009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
25272
35d16c74 25273 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
25274 partition map couldn't be identified.
fcaa8b21 25275
48904cd1 252762009-07-23 Pavel Roskin <proski@gnu.org>
25277
ef3c317f 25278 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
25279 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
25280 case of little endian words becomes just an optimization.
25281 Respect const modifier.
ad8ea1f4 25282 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 25283
48904cd1 25284 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
25285 to avoid loss of upper bits if align is unsigned and shorter
25286 than addr.
25287
260c9a89 252882009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25289
25290 UUID support for UFS
25291
25292 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
25293 (grub_ufs_uuid): New function.
25294 (grub_ufs_fs): add .uuid
25295
f76ce889 252962009-07-21 Pavel Roskin <proski@gnu.org>
25297
25298 * kern/dl.c (grub_dl_check_header): Make static.
25299
6a6cbcaf 253002009-07-21 Felix Zielcke <fzielcke@z-51.de>
25301
25302 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
25303 add drivemap for Vista. It breaks Windows 7.
25304
cffcddb2 253052009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25306
25307 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
25308 128 bytes
25309
1ef44b80 253102009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25311
25312 Add BFS support
25313
25314 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
25315 (grub_fstest_SOURCES): Likewise.
25316 (pkglib_MODULES): Add befs.mod.
25317 (befs_mod_SOURCES): New variable.
25318 (befs_mod_CFLAGS): Likewise.
25319 (befs_mod_LDFLAGS): Likewise.
25320 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25321 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25322 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25323 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25324 (grub_setup_SOURCES): Likewise.
25325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25326 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25327 (grub_setup_SOURCES): Likewise.
25328 * fs/befs.c: New file.
25329 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
25330 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
25331 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
25332 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
25333 (B_KEY_INDEX_ALIGN): New declaration.
25334 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
25335 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
25336 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
25337 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
25338 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
25339 (grub_afs_mount) [MODE_BFS]: Likewise.
25340 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
25341 (grub_afs_fs): Use GRUB_AFS_FSNAME
25342 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
25343 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
25344 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
25345 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
25346
4f253044 253472009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
25348
25349 * util/getroot.c (find_root_device): Add support for MacOSX.
25350 * util/hostdisk.c: Likewise.
25351
57a55913 253522009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25353
25354 * font/font.c (find_glyph): Check whether a font is present to avoid
25355 segmentation fault.
75421ca9 25356
253572009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 25358
25359 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
25360
e98cd0c2 253612009-07-20 Pavel Roskin <proski@gnu.org>
25362
25363 * configure.ac: Trim excessively wordy excuses.
25364
1d2d169a 253652009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25366
25367 Add symlink, mtime and label support to AtheFS.
25368
25369 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
25370 (grub_afs_iterate_dir): Handle symlinks.
25371 (grub_afs_open): Use grub_afs_read_symlink.
25372 (grub_afs_dir): Likewise.
25373 Pass mtime.
25374 (grub_afs_label): New function.
25375 (grub_afs_fs): Add grub_afs_label.
25376 (grub_afs_read_symlink): New function.
25377
186f3189 253782009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25379
25380 Fix AtheFS support.
25381
25382 * fs/afs.c: Fix comments style.
25383 (grub_afs_blockrun): Declare as packed.
25384 (grub_afs_datastream): Likewise.
25385 (grub_afs_bnode): Likewise.
25386 (grub_afs_btree): Likewise.
25387 (grub_afs_sblock): Likewise.
25388 Declare `name' as char.
25389 (grub_afs_inode): Declare as packed.
25390 Change void *vnode to grub_uint32_t unused.
25391 (grub_afs_iterate_dir): Check that key_size is positive.
25392 (grub_afs_mount): Don't read superblock twice.
75421ca9 25393 (grub_afs_dir): Don't free node in case of error,
186f3189 25394 grub_fshelp_find_file already handles this.
25395 (grub_afs_open): Likewise.
25396
5680109e 253972009-07-19 Pavel Roskin <proski@gnu.org>
25398
25399 * Makefile.in: Remove LIBLZO and enable_lzo.
25400 * conf/i386-pc.rmk: Remove lzo support.
25401 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
25402 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
25403 support.
25404 * kern/i386/pc/lzo1x.S: Remove.
25405 * kern/i386/pc/startup.S: Remove lzo support.
25406 * util/i386/pc/grub-mkimage.c: Likewise.
25407
ac70fa32 254082009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
25409
25410 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
25411 * fs/xfs.c (grub_xfs_dir): Likewise.
25412 * fs/afs.c (grub_afs_dir): Likewise.
25413 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
25414 (grub_iso9660_open): Likewise.
25415 * fs/jfs.c (grub_jfs_open): Likewise.
25416 * fs/ext2.c (grub_ext2_dir): Likewise.
25417 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
25418 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 25419
eab58da2 254202009-07-16 Pavel Roskin <proski@gnu.org>
25421
d2838156 25422 * configure.ac: Never add "-c" to CFLAGS.
25423
55c70904 25424 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
25425
43e6200c 25426 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
25427 grub_cv_cc_efiemu should be used.
25428
ce7a733d 25429 * configure.ac: Typo fixes.
25430
eab58da2 25431 * kern/mm.c (grub_zalloc): New function.
25432 (grub_debug_zalloc): Likewise.
25433 * include/grub/mm.h: Declare grub_zalloc() and
25434 grub_debug_zalloc().
25435 * util/misc.c (grub_zalloc): New function.
25436 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
25437 instead of grub_malloc(), remove unneeded initializations.
25438 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
25439 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
25440 * commands/parttool.c (grub_cmd_parttool): Likewise.
25441 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25442 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
25443 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
25444 * disk/usbms.c (grub_usbms_finddevs): Likewise.
25445 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
25446 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
25447 (grub_cmd_efiemu_pnvram): Likewise.
25448 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
25449 * fs/iso9660.c (grub_iso9660_mount): Likewise.
25450 (grub_iso9660_iterate_dir): Likewise.
25451 * fs/jfs.c (grub_jfs_opendir): Likewise.
25452 * fs/ntfs.c (list_file): Likewise.
25453 (grub_ntfs_mount): Likewise.
25454 * kern/disk.c (grub_disk_open): Likewise.
25455 * kern/dl.c (grub_dl_load_core): Likewise.
25456 * kern/elf.c (grub_elf_file): Likewise.
25457 * kern/env.c (grub_env_context_open): Likewise.
25458 (grub_env_set): Likewise.
25459 (grub_env_set_data_slot): Likewise.
25460 * kern/file.c (grub_file_open): Likewise.
25461 * kern/fs.c (grub_fs_blocklist_open): Likewise.
25462 * loader/i386/multiboot.c (grub_module): Likewise.
25463 * loader/xnu.c (grub_xnu_create_key): Likewise.
25464 (grub_xnu_create_value): Likewise.
25465 * normal/main.c (grub_normal_add_menu_entry): Likewise.
25466 (read_config_file): Likewise.
25467 * normal/menu_entry.c (make_screen): Likewise.
25468 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25469 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
25470 * script/sh/script.c (grub_script_parse): Likewise.
25471 * video/bitmap.c (grub_video_bitmap_create): Likewise.
25472 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
25473 * video/readers/png.c (grub_png_output_byte): Likewise.
25474 (grub_video_reader_png): Likewise.
25475
830afef7 254762009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 25477
25478 Enable all targets that can be built by default
25479
830afef7 25480 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 25481 grub-mkfont and grub-fstest if they can be built
25482
ee293aee 254832009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25484
25485 Fix hang and segmentation fault in grub-emu-usb
25486
25487 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
25488 * util/usb.c (grub_libusb_devices): likewise
25489 (grub_libusb_init): rename to ...
25490 (GRUB_MOD_INIT (libusb)):...this
25491 (grub_libusb_fini): rename to ..
25492 (GRUB_MOD_FINI (libusb)):...this
25493 * disk/usbms.c (grub_usbms_transfer): fix retry logic
25494 * include/grub/disk.h (grub_raid_init): removed, it's useless
25495 (grub_raid_fini): likewise
25496 (grub_lvm_init): likewise
25497 (grub_lvm_fini): likewise
25498 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
25499 by grub_init_all
25500
94414221 255012009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25502
25503 Fix libusb
25504
25505 * Makefile.in (LIBUSB): new macro
25506 * genmk.rb (Utility/print_tail): new method
25507 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
25508 (top level): call util.print_tail at the end.
25509
59ade63d 255102009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25511
25512 Make FreeBSD accept zpool.cache
25513
25514 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
25515 type is /boot/zfs/zpool.cache
25516
a58da8c7 255172009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25518
25519 Fix 64-bit efiemu
25520
25521 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
25522 correct wrong typedef
25523 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
25524
20591577 255252009-07-15 Pavel Roskin <proski@gnu.org>
25526
560ca572 25527 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
25528 * kern/disk.c (struct grub_disk_cache): Likewise.
25529
e8e8e4fd 25530 * commands/probe.c (options): Typo fix.
25531
fde24e10 25532 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
25533 Increase to 0x5a to accommodate FAT32. Adjust other offsets
25534 accordingly.
25535 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
25536
379c54c1 25537 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
25538 the end of "Error" to make the message more readable.
25539
7bd8f5bf 25540 * boot/i386/pc/boot.S (kernel_segment): Remove.
25541 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
25542 for destination.
25543
40b132c5 25544 * boot/i386/pc/boot.S (boot_version): Remove.
25545 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
25546 Remove.
25547
20591577 25548 * include/grub/i386/pc/boot.h: Sort all offsets.
25549 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
25550 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
25551 * boot/i386/pc/boot.S: Assert location of every offset listed in
25552 include/grub/i386/pc/boot.h.
25553
2df32b2c 255542009-07-13 Pavel Roskin <proski@gnu.org>
25555
44b5d879 25556 * include/grub/i386/coreboot/machine.h: Rename
25557 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
25558 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
25559 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
25560
17dc3751 25561 * kern/dl.c: Force native word size to suppress warnings when
25562 compiling grub-emu.
25563
2df32b2c 25564 * kern/device.c (grub_device_iterate): Change struct part_ent to
25565 hold the name, not a pointer to it. Use one grub_malloc() per
25566 partition, not two. Free partition_name if grub_malloc() fails.
25567 Set ents to NULL only before grub_partition_iterate() is called.
25568
75c59f59 255692009-07-11 Bean <bean123ch@gmail.com>
25570
25571 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
25572 childname.
25573
0ae1bf88 255742009-07-10 Bean <bean123ch@gmail.com>
255752009-07-10 Robert Millan <rmh.grub@aybabtu.com>
25576
25577 * kern/ieee1275/openfw.c (grub_children_iterate)
25578 (grub_devalias_iterate): Fix size evaluation for property or path
25579 strings, which was broken since r2132.
25580
8279cade 255812009-07-07 Pavel Roskin <proski@gnu.org>
25582
7d8a52d3 25583 * commands/search.c (search_file): Merge into ...
25584 (search_fs): ... this. Accept search type as argument.
25585 (grub_cmd_search): Pass search type to search_fs().
25586
25f9a05a 25587 * include/grub/util/console.h: New file.
25588 * util/console.c: Use it instead of grub/machine/console.h.
25589 * util/grub-emu.c: Likewise.
25590
8279cade 25591 * lib/arg.c (find_long_option): Remove.
25592 (find_long): Add `len' argument, make `s' const char *.
25593 (grub_arg_parse): Parse long options in place, not in a
25594 temporary buffer.
25595
4a11b60f 255962009-07-06 Pavel Roskin <proski@gnu.org>
25597
99f68041 25598 * commands/search.c (search_fs): Fix potential NULL pointer
25599 dereference.
25600
4a11b60f 25601 * commands/search.c (search_fs): Replace QUID macro with quid_fn
25602 function pointer.
25603
e110f4de 256042009-07-06 Daniel Mierswa <impulze@impulze.org>
25605
25606 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
25607 comparison.
25608
46eeb6a2 256092009-07-05 Pavel Roskin <proski@gnu.org>
25610
bab74958 25611 * include/grub/i386/linux.h (struct linux_kernel_params):
25612 Restore padding3, it's still needed.
25613
46eeb6a2 25614 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
25615 FreeBSD.
25616 * util/osdetect.lua: Likewise.
25617
b4a1dc79 256182009-07-05 Bean <bean123ch@gmail.com>
25619
25620 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
25621
25622 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
25623 (grub_lua_getenv): Likewise.
25624 (grub_lua_setenv): Likewise.
25625 (save_errno): New function.
25626 (push_result): Likewise.
25627 (grub_lua_enum_device): Likewise.
25628 (grub_lua_enum_file): Likewise.
25629 (grub_lua_file_open): Likewise.
25630 (grub_lua_file_close): Likewise.
25631 (grub_lua_file_seek): Likewise.
25632 (grub_lua_file_read): Likewise.
25633 (grub_lua_file_getline): Likewise.
25634 (grub_lua_file_getsize): Likewise.
25635 (grub_lua_file_getpos): Likewise.
25636 (grub_lua_file_eof): Likewise.
25637 (grub_lua_file_exist): Likewise.
25638 (grub_lua_add_menu): Likewise.
25639
25640 * script/lua/grub_lua.h (isupper): New inline function.
25641 (islower): Likewise.
25642 (ispunct): Likewise.
25643 (isxdigit): Likewise.
25644 (strcspn): Change to normal function.
25645 (strpbkr): New function declaration.
25646 (memchr): Likewise.
25647
25648 * script/lua/grub_main.c (scan_str): New function.
25649 (strcspn): Likewise.
25650 (strpbrk): Likewise.
25651 (memchr): Likewise.
25652
25653 * script/lua/linit.c (lualibs): Enable the string library.
25654
25655 * util/osdetect.lua: New file.
25656
2da92295 256572009-07-04 Robert Millan <rmh.grub@aybabtu.com>
25658
25659 * include/grub/i386/linux.h (struct linux_kernel_params): Add
25660 `capabilities' member.
25661
b2582ec9 256622009-07-02 Pavel Roskin <proski@gnu.org>
25663
25664 * genparttoollist.sh: Add missing newline at the end.
25665
32622956 256662009-07-01 Pavel Roskin <proski@gnu.org>
25667
87a7339e 25668 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
25669
d23af54e 25670 * util/hostdisk.c (open_device): Remove `const' from
25671 `sysctl_size', as sysctlbyname() can change it (in this case it
25672 doesn't actually happen).
25673
c94b18a9 25674 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
25675 using signed long int constants.
25676
c6cd3ef0 25677 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
25678 constant to avoid a warning on FreeBSD.
25679
0df63420 25680 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
25681 where it's needed.
25682
999577f1 25683 * Makefile.in: Install include/grub/machine symlink.
25684
6f41557f 25685 * Makefile.in: When installing symlinks, use "cp -fR", which
25686 works on FreeBSD and MacOSX.
25687 From Yves Blusseau <cl7m42e02@sneakemail.com>
25688
c8d22988 25689 * kern/dl.c (grub_dl_resolve_symbol): Make static.
25690 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
25691
1b96e952 25692 * util/misc.c: Move grub_reboot() and grub_halt() ...
25693 * util/grub-emu.c: ... here. Make main_env static.
25694 * include/grub/util/misc.h: Remove main_env.
25695
2ef0084d 25696 * kern/mm.c: Use correct format to print size_t.
25697
32622956 25698 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
25699 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
25700 * kern/powerpc/dl.c: Likewise.
25701 * kern/sparc64/dl.c: Likewise.
25702 * kern/x86_64/dl.c: Likewise.
25703
3f7f0cd0 257042009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25705
25706 Fix grub-emu build on sparc64-ieee1275.
25707
75421ca9 25708 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 25709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
25710
211d06b5 257112009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25712
25713 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
25714 (grub_reboot, grub_halt): New functions.
25715
25716 * util/i386/pc/misc.c: Delete. Update all users.
25717 * util/sparc64/ieee1275/misc.c: Likewise.
25718 * util/powerpc/ieee1275/misc.c: Likewise.
25719
aaf53e3c 257202009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25721
25722 * conf/i386.rmk (setjmp_mod_SOURCES)
25723 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
25724 * conf/common.rmk (setjmp_mod_SOURCES)
25725 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
25726 to use $(target_cpu).
25727 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
25728 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
25729 * conf/powerpc-ieee1275.rmk: Likewise.
25730 * conf/sparc64-ieee1275.rmk: Likewise.
25731
25732 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
25733 $(target_cpu) for kern/$(target_cpu)/dl.c.
25734 * conf/i386-efi.rmk: Likewise.
25735 * conf/i386-ieee1275.rmk: Likewise.
25736 * conf/x86_64-efi.rmk: Likewise.
25737 * conf/i386-coreboot.rmk: Likewise.
25738 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
25739 $(target_cpu) for kern/$(target_cpu)/dl.c and for
25740 kern/$(target_cpu)/cache.S.
25741 * conf/sparc64-ieee1275.rmk: Likewise.
25742
a337130b 257432009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25744
25745 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
25746 type to `grub_uint8_t', and adjust `padding9' accordingly.
25747
c6fe4d53 257482009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25749
b09db61d 25750 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
25751
c6fe4d53 25752 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
25753 assembly in final jump, using register constraints.
25754
b09db61d 25755 (grub_linux_boot): For text mode, initialize `have_vga' using
25756 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
25757
25758 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
25759 right before the final jump.
25760
25761 Set `video_mode' to 0x3.
25762
25763 Document initialization of `video_page', `video_mode' and
25764 `video_ega_bx'.
25765
28333ad0 257662009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25767
25768 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
25769 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 25770 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 25771
02164e1b 257722009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25773
25774 Fix build on Debian / sparc.
25775
25776 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
25777
18b6c557 257782009-06-28 Pavel Roskin <proski@gnu.org>
25779
85f2aab6 25780 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
25781 fix a warning.
25782
18b6c557 25783 * util/grub.d/10_linux.in: Match SUSE style initrd names.
25784
ad760f81 257852009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25786
25787 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
25788 `err'.
25789
87a4623b 257902009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25791
25792 Revert r2338.
25793
25794 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
25795 file can't be opened. grub_file_open() is already supposed to set
75421ca9 25796 grub_errno / grub_errmsg appropriately.
87a4623b 25797 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25798
8231fb77 257992009-06-27 Pavel Roskin <proski@gnu.org>
258002009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25801
25802 * include/grub/dl.h: Include grub/elf.h.
25803 (struct grub_dl): Add symtab field.
25804 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
25805 GRUB_MODULES_MACHINE_READONLY.
25806 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
25807 of the header for read-only modules.
25808 (grub_dl_unload): Free mod->symtab for read-only modules.
25809 * kern/i386/dl.c: Use mod->symtab.
25810 * kern/powerpc/dl.c: Likewise.
25811 * kern/sparc64/dl.c: Likewise.
25812 * kern/x86_64/dl.c: Likewise.
25813
25814 * conf/i386-qemu.rmk: New file.
25815 * kern/i386/qemu/startup.S: Likewise.
25816 * kern/i386/qemu/mmap.c: Likewise.
25817 * boot/i386/qemu/boot.S: Likewise.
25818 * include/grub/i386/qemu/time.h: Likewise.
25819 * include/grub/i386/qemu/serial.h: Likewise.
25820 * include/grub/i386/qemu/kernel.h: Likewise.
25821 * include/grub/i386/qemu/console.h: Likewise.
25822 * include/grub/i386/qemu/boot.h: Likewise.
25823 * include/grub/i386/qemu/init.h: Likewise.
25824 * include/grub/i386/qemu/machine.h: Likewise.
25825 * include/grub/i386/qemu/loader.h: Likewise.
25826 * include/grub/i386/qemu/memory.h: Likewise.
25827
25828 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
25829 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
25830 [qemu] (pkglib_IMAGES): Add `boot.img'.
25831 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
25832 [qemu] (boot_img_FORMAT): New variables.
25833 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
25834 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
25835 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
25836 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25837 [qemu] (kernel_img_FORMAT): New variables.
25838
25839 * configure.ac: Recognise `i386-qemu'.
25840
25841 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
25842 (for no compression).
25843 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
25844 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
25845 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
25846 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
25847 ifdefs).
25848
97fe384e 258492009-06-27 Pavel Roskin <proski@gnu.org>
25850
25851 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
25852 read.
25853 * efiemu/prepare32.c: Likewise.
25854 * efiemu/prepare64.c: Likewise.
25855
c402ab17 258562009-06-26 Pavel Roskin <proski@gnu.org>
25857
25858 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
25859 * include/grub/elf.h: Define symbols without "32" or "64" based
25860 on GRUB_TARGET_WORDSIZE.
25861 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
25862 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
25863 ELF definitions.
25864 * efiemu/loadcore64.c: Likewise.
25865 * loader/i386/bsd32.c: Likewise.
25866 * loader/i386/bsd64.c: Likewise.
25867 * kern/dl.c: Remove own ELF definitions.
25868 * util/i386/efi/grub-mkimage.c: Likewise.
25869
9bbdfd4d 258702009-06-23 Robert Millan <rmh.grub@aybabtu.com>
25871
25872 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
25873 segment 0x0 unconditionally, because the reference generated by
25874 GAS is an absolute address.
25875
a42ce6e9 258762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25877
25878 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
25879 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
25880
c952cf92 258812009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25882
25883 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
25884 indexes. Check for -f explicitly.
cc3752ad 25885 (search_file): Improve error message.
25886 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 25887
132a0a59 258882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25889
25890 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
25891 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
25892
387a140c 258932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25894
25895 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
25896 * conf/i386-ieee1275.rmk: Likewise.
25897 * conf/i386-coreboot.rmk: Likewise.
25898
25899 * kern/i386/pc/startup.S (grub_stop): Remove function.
25900 * kern/i386/ieee1275/startup.S: Likewise.
25901 * kern/i386/coreboot/startup.S: Likewise.
25902 * kern/i386/misc.S (grub_stop): New function.
25903
41da9665 259042009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25905
25906 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
25907 * kern/i386/realmode.S (real_to_prot): ... to here.
25908
bf337234 259092009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25910
25911 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
25912 with `kernel.img'.
25913 (kernel_elf_SOURCES): Rename to ...
25914 (kernel_img_SOURCES): ... this.
25915 (kernel_elf_HEADERS): Rename to ...
25916 (kernel_img_HEADERS): ... this. Update all users.
25917 (kernel_elf_ASFLAGS): Rename to ...
25918 (kernel_img_ASFLAGS): ... this.
25919 (kernel_elf_CFLAGS): Rename to ...
25920 (kernel_img_CFLAGS): ... this.
25921 (kernel_elf_LDFLAGS): Rename to ...
25922 (kernel_img_LDFLAGS): ... this.
25923 * conf/i386-coreboot.rmk: Likewise.
25924 * conf/powerpc-ieee1275.rmk: Likewise.
25925
25926 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
25927 with "kernel.img".
25928
f52196ff 259292009-06-21 Pavel Roskin <proski@gnu.org>
25930
c3cee413 25931 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
25932 to match nested functions.
25933 * loader/sparc64/ieee1275/linux.c: Likewise.
25934
f52196ff 25935 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
25936
58750afc 259372009-06-21 Robert Millan <rmh.grub@aybabtu.com>
25938
25939 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
25940 all i386 platforms.
25941
15355c7d 259422009-06-21 Robert Millan <rmh.grub@aybabtu.com>
25943
25944 Fix asm file handling on ELF, and remove workarounds.
25945
25946 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 25947 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 25948 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
25949 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
25950
3f3ec72b 259512009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
25952
25953 Load BSD ELF modules
25954
25955 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
25956 and loader/i386/bsd64.c
25957 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
25958 (FREEBSD_MODTYPE_ELF_MODULE): New definition
25959 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
25960 (grub_freebsd_load_elfmodule32): New declaration
25961 (grub_freebsd_load_elfmoduleobj64): Likewise
25962 (grub_freebsd_load_elf_meta32): Likewise
25963 (grub_freebsd_load_elf_meta64): Likewise
25964 (grub_freebsd_add_meta): Likewise
25965 (grub_freebsd_add_meta_module): Likewise
25966 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
25967 (grub_freebsd_add_meta_module): Likewise and move module-specific
25968 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
25969 (grub_cmd_freebsd): Add elf-kernel specific parts
25970 based on grub_freebsd_add_meta_module
25971 (grub_cmd_freebsd_module): Add type parsing moved from
25972 grub_freebsd_add_meta_module
25973 (grub_cmd_freebsd_module_elf): New function
25974 (cmd_freebsd_module_elf): New variable
25975 (GRUB_MOD_INIT): Register freebsd_module_elf
25976 * loader/i386/bsd32.c: New file
25977 * loader/i386/bsd64.c: Likewise
25978 * loader/i386/bsdXX.c: Likewise
25979 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
25980 (grub_elf64_load): Likewise
25981 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
25982 All users updated
25983 (grub_elf64_load_hook_t): Likewise
25984
0db15301 259852009-06-21 Colin Watson <cjwatson@ubuntu.com>
25986
25987 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
25988 variable.
25989 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
25990 don't write a menu entry for recovery mode.
25991
546796c1 259922009-06-20 Robert Millan <rmh.grub@aybabtu.com>
25993
25994 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
25995 after it's no longer needed.
25996
cd7310d5 259972009-06-20 Robert Millan <rmh.grub@aybabtu.com>
25998
25999 * include/grub/i386/loader.h (grub_linux_prot_size)
26000 (grub_linux_tmp_addr, grub_linux_real_addr)
26001 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26002 GRUB_MACHINE_PCBIOS.
26003 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26004 common grub_util_info() call to ...
26005 (generate_image): ... here.
26006 Fix use of uninitialized memory, comparison of signed with
26007 unsigned integers and memory leak.
26008 Remove bogus module address message.
26009
ab32d3b5 260102009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26011
26012 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26013 grub_raid_register
26014 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26015
024ef597 260162009-06-19 Pavel Roskin <proski@gnu.org>
26017
26018 * configure.ac: Remove stray AC_MSG_CHECKING.
26019
3ac72b51 260202009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26021
26022 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 26023
e14cd814 260242009-06-18 Pavel Roskin <proski@gnu.org>
26025
26026 * conf/common.rmk: Add fs_file.mod.
26027 * disk/fs_file.c: New file.
26028 * include/grub/disk.h (enum grub_disk_dev_id): Add
26029 GRUB_DISK_DEVICE_FILE_ID.
26030
26586d98 260312009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26032
26033 Fix build with Apple's toolchain. Part 2
26034
26035 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26036 a fake start
26037
26de2bcd 260382009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26039
26040 Fix build with Apple's toolchain. Part 1
26041
26042 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26043 for long calls
26044 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 26045 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 26046 Apple's toolchain
26047
09b3490b 260482009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26049
26050 Fix warnings
26051
26052 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26053 (decomp_block): initialize ch
26054 use grub_memcpy instead of memcpy
26055
c22a006a 260562009-06-17 Pavel Roskin <proski@gnu.org>
26057
d3638678 26058 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26059 version, use declarations needed to use vga_text as the startup
26060 console.
26061
c22a006a 26062 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26063 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
26064 the kernel.
26065 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
26066 and grub_at_keyboard_fini(), it's done on module load and
26067 unload.
26068
05b129e0 260692009-06-17 Felix Zielcke <fzielcke@z-51.de>
26070
26071 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
26072 file can't be found.
26073 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26074
cf24ed9e 260752009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26076
26077 Fix newline handling
26078
26079 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 26080 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 26081 (grub_script_yylex): don't segfault on unterminated script
26082 newline terminates command and variable
26083
74aa8e4b 260842009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26085
26086 avoid double grub_adjust_range call. Bug reported by David Simner
26087
26088 * kern/disk.c (grub_disk_write): change to raw disk access before
26089 calling disk_read
26090
1bd265f3 260912009-06-17 Colin Watson <cjwatson@ubuntu.com>
26092
26093 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
26094 spaces, for the benefit of help2man.
26095 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26096
a2d08c06 260972009-06-16 Pavel Roskin <proski@gnu.org>
26098
26099 * kern/i386/halt.c: Include grub/machine/init.h.
26100 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
26101
b97bcb19 261022009-06-16 Felix Zielcke <fzielcke@z-51.de>
26103
26104 * util/grub.d/30_os-prober.in: Use ${root} in the generated
26105 drivemap menuentry.
26106
0644f96c 261072009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
26108
26109 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
26110 `echo' command.
26111
3ef17a2e 261122009-06-16 Pavel Roskin <proski@gnu.org>
26113
26114 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
26115 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
26116 save %dx, we only need %dl and we never change it.
26117 * boot/i386/pc/cdboot.S: Don't set the root drive.
26118 * boot/i386/pc/pxeboot.S: Likewise.
26119 * include/grub/i386/pc/boot.h: Remove
26120 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
26121 GRUB_BOOT_MACHINE_DRIVE_CHECK.
26122 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
26123 * kern/i386/pc/init.c (make_install_device): Remove references
26124 to grub_root_drive.
26125 * kern/i386/pc/startup.S: Likewise.
26126 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
26127
693fe637 261282009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26129
26130 xnu_uuid command
26131
26132 * commands/xnu_uuid.c: new file
26133 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
26134 (xnu_uuid_mod_SOURCES): new variable
26135 (xnu_uuid_mod_CFLAGS): likewise
26136 (xnu_uuid_mod_LDFLAGS): likewise
26137 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26138 * conf/i386-ieee1275.rmk: likewise
26139 * conf/i386-pc.rmk: likewise
26140 * conf/powerpc-ieee1275.rmk: likewise
26141 * conf/sparc64-ieee1275.rmk: likewise
26142 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
26143
c9da87d0 261442009-06-16 Pavel Roskin <proski@gnu.org>
26145
26146 * configure.ac: Avoid '==' in test command, it's not portable.
26147
9c6f4596 261482009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26149
26150 Probe command
26151
26152 * commands/probe.c: new file
26153 * conf/common.rmk (pkglib_MODULES): add probe.mod
26154 (probe_mod_SOURCES): new variable
26155 (probe_mod_CFLAGS): likewise
26156 (probe_mod_LDFLAGS): likewise
26157 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26158 * conf/i386-ieee1275.rmk: likewise
26159 * conf/i386-pc.rmk: likewise
26160 * conf/powerpc-ieee1275.rmk: likewise
26161 * conf/sparc64-ieee1275.rmk: likewise
26162
70b7f9fd 261632009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
26164
26165 Fix handling of string like \"hello\" and "a
26166 b"
26167
26168 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
26169 (grub_script_yylex): fix parsing of quoting, escaping and newline
26170
71c79a6b 261712009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
26172
dd74360c 26173 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 26174 handling
dd74360c 26175
0644f96c 261762009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 26177
26178 * util/grub-mkconfig.in: Fix parsing of --output option.
26179
e40893c3 261802009-06-12 Pavel Roskin <proski@gnu.org>
26181
26182 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
26183 genmk.rb don't need to be generated or installed.
26184
3a1acfe2 261852009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26186
26187 * commands/i386/pc/drivemap_int13h.S: add more comments
26188
3a4575d4 261892009-06-11 Pavel Roskin <proski@gnu.org>
26190
0658e928 26191 * Makefile.in (uninstall): Uninstall manuals.
26192
ca0388f0 26193 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
26194 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
26195 and update-grub_lib in two places.
26196 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
26197
e3b27c39 26198 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
26199 a compiler warning.
26200
3a4575d4 26201 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
26202 `entry_lo' to fix variable shadowing.
26203
af1f4f55 262042009-06-11 Christian Franke <franke@computer.org>
26205
26206 * kern/misc.c (__enable_execute_stack): Add missing return type
26207 to prevent gcc warning.
26208
5225e649 262092009-06-11 Felix Zielcke <fzielcke@z-51.de>
26210
26211 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
26212
7d83bd47 262132009-06-11 Pavel Roskin <proski@gnu.org>
26214
c1cb63ba 26215 * Makefile.in: Don't rely on any scripts being executable.
26216 Always use $(SHELL) to run shell scripts.
26217
7d83bd47 26218 * configure.ac: Always define ___main if using -nostdlib. This
26219 fixes tests on Cygwin.
26220
948f48e7 262212009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
26222
26223 UDF fix
26224
7d83bd47 26225 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 26226 is in bytes and not in blocks
7d83bd47 26227
8ada9bc1 262282009-06-11 Pavel Roskin <proski@gnu.org>
26229
26230 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
26231 warning.
26232
25ad2323 262332009-06-11 Felix Zielcke <fzielcke@z-51.de>
26234
26235 * util/grub.d/30_os-prober.in: Fix a comment. Source
26236 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
26237 to set the root device. Place drivemap command in the generated
26238 chain entry.
26239
e65acb0c 262402009-06-11 Pavel Roskin <proski@gnu.org>
26241
26242 * configure.ac: Remove host_m32. Issues with 64-bit utilities
26243 have long been resolved.
26244
f285fe2d 262452009-06-11 Colin Watson <cjwatson@ubuntu.com>
26246
bd47b0b5 26247 * util/grub.d/10_linux.in: Capitalise "Linux".
26248
f285fe2d 26249 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
26250
a0c62e4e 262512009-06-11 Pavel Roskin <proski@gnu.org>
26252
b6783cb2 26253 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
26254 fix a gcc warning and ensure that the function won't ever exit.
26255
dde032e8 26256 * kern/i386/ieee1275/init.c: Add missing prototype for
26257 grub_stop_floppy().
26258
22cd079d 26259 * loader/ieee1275/multiboot2.c [__i386__]: Include
26260 grub/cpu/multiboot.h.
26261
a0c62e4e 26262 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
26263 casts to short - they are not portable and cause warnings. Fix
26264 use of uninitialized values in input_buf. Use ARRAY_SIZE.
26265
63963d17 262662009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
26267
26268 Drivemap fixes
26269
26270 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
26271 new function
26272 (grub_get_root_biosnumber_saved): new variable
26273 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
26274 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 26275 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 26276 %dx after the call if necessary
26277 * conf/common.rmk (pkglib_MODULES): remove boot.mod
26278 (boot_mod_SOURCES): remove
26279 (boot_mod_CFLAGS): remove
26280 (boot_mod_LDFLAGS): remove
26281 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
26282 (boot_mod_SOURCES): new variable
26283 (boot_mod_CFLAGS): likewise
26284 (boot_mod_LDFLAGS): likewise
26285 * conf/i386-efi.rmk: likewise
26286 * conf/i386-ieee1275.rmk: likewise
26287 * conf/i386-pc.rmk: likewise
26288 * conf/powerpc-ieee1275.rmk: likewise
26289 * conf/sparc64-ieee1275.rmk: likewise
26290 * conf/x86_64-efi.rmk: likewise
26291 * include/grub/i386/pc/biosnum.h: new file
26292 * lib/i386/pc/biosnum.c: likewise
26293 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
26294 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
26295 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 26296
33abf7ae 262972009-06-10 Pavel Roskin <proski@gnu.org>
26298
5ac35b35 26299 * io/gzio.c (test_header): Don't reuse one buffer for all data.
26300 Use separate variables. Read only the file size at the end, but
26301 not the checksum that we don't use.
26302
5c5215d5 26303 * kern/file.c (grub_file_read): Use void pointer for the buffer.
26304 Adjust all callers.
26305
27d5fef7 26306 * kern/ieee1275/openfw.c: Remove libc includes.
26307 * kern/ieee1275/cmain.c: Likewise.
26308 * include/grub/ieee1275/ieee1275.h: Likewise.
26309
33abf7ae 26310 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
26311 compiler warnings.
26312
19d50c2b 263132009-06-10 Felix Zielcke <fzielcke@z-51.de>
26314
26315 * Makefile.in: Remove all trailing whitespace.
26316 * conf/i386-pc.rmk: Likewise.
26317 * conf/powerpc-ieee1275.rmk: Likewise.
26318 * conf/sparc64-ieee1275.rmk: Likewise.
26319 * docs/grub.texi: Likewise.
26320 * docs/texinfo.tex: Likewise.
26321 * disk/fs_uuid.c: Likewise.
26322 * disk/lvm.c: Likewise.
26323 * disk/scsi.c: Likewise.
26324 * disk/ata.c: Likewise.
26325 * disk/ieee1275/ofdisk.c: Likewise.
26326 * disk/i386/pc/biosdisk.c: Likewise.
26327 * disk/host.c: Likewise.
26328 * disk/raid.c: Likewise.
26329 * disk/efi/efidisk.c: Likewise.
26330 * disk/usbms.c: Likewise.
26331 * disk/memdisk.c: Likewise.
26332 * disk/loopback.c: Likewise.
26333 * kern/powerpc/dl.c: Likewise.
26334 * kern/device.c: Likewise.
26335 * kern/dl.c: Likewise.
26336 * kern/sparc64/dl.c: Likewise.
26337 * kern/ieee1275/ieee1275.c: Likewise.
26338 * kern/term.c: Likewise.
26339 * kern/fs.c: Likewise.
26340 * kern/i386/dl.c: Likewise.
26341 * kern/i386/pc/startup.S: Likewise.
26342 * kern/i386/pc/init.c: Likewise.
26343 * kern/i386/pc/mmap.c: Likewise.
26344 * kern/i386/pc/lzo1x.S: Likewise.
26345 * kern/i386/ieee1275/init.c: Likewise.
26346 * kern/i386/realmode.S: Likewise.
26347 * kern/i386/tsc.c: Likewise.
26348 * kern/partition.c: Likewise.
26349 * kern/corecmd.c: Likewise.
26350 * kern/file.c: Likewise.
26351 * kern/efi/efi.c: Likewise.
26352 * kern/efi/init.c: Likewise.
26353 * kern/efi/mm.c: Likewise.
26354 * kern/main.c: Likewise.
26355 * kern/err.c: Likewise.
26356 * kern/env.c: Likewise.
26357 * kern/disk.c: Likewise.
26358 * kern/generic/millisleep.c: Likewise.
26359 * kern/generic/rtc_get_time_ms.c: Likewise.
26360 * kern/misc.c: Likewise.
26361 * kern/parser.c: Likewise.
26362 * genmk.rb: Likewise.
26363 * configure.ac: Likewise.
26364 * boot/i386/pc/diskboot.S: Likewise.
26365 * boot/i386/pc/pxeboot.S: Likewise.
26366 * boot/i386/pc/boot.S: Likewise.
26367 * boot/i386/pc/lnxboot.S: Likewise.
26368 * boot/i386/pc/cdboot.S: Likewise.
26369 * parttool/pcpart.c: Likewise.
26370 * video/readers/tga.c: Likewise.
26371 * video/video.c: Likewise.
26372 * video/bitmap.c: Likewise.
26373 * lib/envblk.c: Likewise.
26374 * lib/i386/setjmp.S: Likewise.
26375 * fs/xfs.c: Likewise.
26376 * fs/afs.c: Likewise.
26377 * fs/fat.c: Likewise.
26378 * fs/ntfs.c: Likewise.
26379 * fs/udf.c: Likewise.
26380 * fs/affs.c: Likewise.
26381 * fs/iso9660.c: Likewise.
26382 * fs/hfs.c: Likewise.
26383 * fs/fshelp.c: Likewise.
26384 * fs/ext2.c: Likewise.
26385 * fs/jfs.c: Likewise.
26386 * fs/reiserfs.c: Likewise.
26387 * fs/hfsplus.c: Likewise.
26388 * fs/minix.c: Likewise.
26389 * fs/cpio.c: Likewise.
26390 * fs/sfs.c: Likewise.
26391 * fs/ufs.c: Likewise.
26392 * efiemu/prepare.c: Likewise.
26393 * efiemu/loadcore_common.c: Likewise.
26394 * efiemu/runtime/efiemu.sh: Likewise.
26395 * efiemu/runtime/efiemu.S: Likewise.
26396 * efiemu/runtime/efiemu.c: Likewise.
26397 * efiemu/pnvram.c: Likewise.
26398 * efiemu/main.c: Likewise.
26399 * efiemu/i386/pc/cfgtables.c: Likewise.
26400 * efiemu/i386/loadcore64.c: Likewise.
26401 * efiemu/i386/loadcore32.c: Likewise.
26402 * efiemu/loadcore.c: Likewise.
26403 * efiemu/symbols.c: Likewise.
26404 * efiemu/mm.c: Likewise.
26405 * include/grub/autoefi.h: Likewise.
26406 * include/grub/datetime.h: Likewise.
26407 * include/grub/term.h: Likewise.
26408 * include/grub/hfs.h: Likewise.
26409 * include/grub/lvm.h: Likewise.
26410 * include/grub/i386/tsc.h: Likewise.
26411 * include/grub/i386/linux.h: Likewise.
26412 * include/grub/i386/xnu.h: Likewise.
26413 * include/grub/i386/efiemu.h: Likewise.
26414 * include/grub/i386/pc/biosdisk.h: Likewise.
26415 * include/grub/i386/pc/memory.h: Likewise.
26416 * include/grub/i386/pc/vbe.h: Likewise.
26417 * include/grub/parttool.h: Likewise.
26418 * include/grub/video.h: Likewise.
26419 * include/grub/memory.h: Likewise.
26420 * include/grub/fs.h: Likewise.
26421 * include/grub/partition.h: Likewise.
26422 * include/grub/xnu.h: Likewise.
26423 * include/grub/efi/api.h: Likewise.
26424 * include/grub/efi/pe32.h: Likewise.
26425 * include/grub/efi/memory.h: Likewise.
26426 * include/grub/multiboot.h: Likewise.
26427 * include/grub/usbdesc.h: Likewise.
26428 * include/grub/multiboot2.h: Likewise.
26429 * include/grub/acpi.h: Likewise.
26430 * include/grub/efiemu/efiemu.h: Likewise.
26431 * include/grub/disk.h: Likewise.
26432 * include/grub/ieee1275/ieee1275.h: Likewise.
26433 * include/grub/net.h: Likewise.
26434 * include/grub/machoload.h: Likewise.
26435 * include/grub/macho.h: Likewise.
26436 * include/multiboot.h: Likewise.
26437 * genmoddep.awk: Likewise.
26438 * normal/main.c: Likewise.
26439 * normal/menu_entry.c: Likewise.
26440 * normal/menu_viewer.c: Likewise.
26441 * normal/completion.c: Likewise.
26442 * normal/cmdline.c: Likewise.
26443 * normal/misc.c: Likewise.
26444 * normal/datetime.c: Likewise.
26445 * bus/usb/usbtrans.c: Likewise.
26446 * bus/usb/ohci.c: Likewise.
26447 * bus/usb/uhci.c: Likewise.
26448 * bus/usb/usb.c: Likewise.
26449 * mmap/efi/mmap.c: Likewise.
26450 * mmap/i386/pc/mmap_helper.S: Likewise.
26451 * mmap/i386/pc/mmap.c: Likewise.
26452 * mmap/i386/mmap.c: Likewise.
26453 * mmap/i386/uppermem.c: Likewise.
26454 * mmap/mmap.c: Likewise.
26455 * commands/acpi.c: Likewise.
26456 * commands/echo.c: Likewise.
26457 * commands/blocklist.c: Likewise.
26458 * commands/loadenv.c: Likewise.
26459 * commands/usbtest.c: Likewise.
26460 * commands/boot.c: Likewise.
26461 * commands/parttool.c: Likewise.
26462 * commands/search.c: Likewise.
26463 * commands/cat.c: Likewise.
26464 * commands/i386/pc/play.c: Likewise.
26465 * commands/i386/pc/drivemap.c: Likewise.
26466 * commands/i386/pc/vbeinfo.c: Likewise.
26467 * commands/i386/pc/acpi.c: Likewise.
26468 * commands/i386/pc/vbetest.c: Likewise.
26469 * commands/ls.c: Likewise.
26470 * commands/cmp.c: Likewise.
26471 * commands/test.c: Likewise.
26472 * commands/efi/acpi.c: Likewise.
26473 * commands/gptsync.c: Likewise.
26474 * commands/help.c: Likewise.
26475 * partmap/amiga.c: Likewise.
26476 * partmap/apple.c: Likewise.
26477 * partmap/acorn.c: Likewise.
26478 * partmap/pc.c: Likewise.
26479 * partmap/sun.c: Likewise.
26480 * partmap/gpt.c: Likewise.
26481 * script/sh/lexer.c: Likewise.
26482 * script/sh/function.c: Likewise.
26483 * font/font.c: Likewise.
26484 * font/font_cmd.c: Likewise.
26485 * loader/powerpc/ieee1275/linux.c: Likewise.
26486 * loader/efi/chainloader.c: Likewise.
26487 * loader/multiboot_loader.c: Likewise.
26488 * loader/macho.c: Likewise.
26489 * loader/i386/multiboot.c: Likewise.
26490 * loader/i386/linux.c: Likewise.
26491 * loader/i386/pc/linux.c: Likewise.
26492 * loader/i386/pc/multiboot2.c: Likewise.
26493 * loader/i386/pc/chainloader.c: Likewise.
26494 * loader/i386/pc/xnu.c: Likewise.
26495 * loader/i386/bsd_trampoline.S: Likewise.
26496 * loader/i386/efi/linux.c: Likewise.
26497 * loader/i386/multiboot_elfxx.c: Likewise.
26498 * loader/i386/bsd_helper.S: Likewise.
26499 * loader/i386/bsd.c: Likewise.
26500 * loader/i386/linux_trampoline.S: Likewise.
26501 * loader/i386/xnu_helper.S: Likewise.
26502 * loader/i386/xnu.c: Likewise.
26503 * loader/i386/bsd_pagetable.c: Likewise.
26504 * loader/i386/multiboot_helper.S: Likewise.
26505 * loader/xnu.c: Likewise.
26506 * loader/xnu_resume.c: Likewise.
26507 * io/gzio.c: Likewise.
26508 * term/efi/console.c: Likewise.
26509 * term/terminfo.c: Likewise.
26510 * term/ieee1275/ofconsole.c: Likewise.
26511 * term/i386/pc/serial.c: Likewise.
26512 * term/i386/pc/vesafb.c: Likewise.
26513 * term/i386/pc/vga.c: Likewise.
26514 * term/usb_keyboard.c: Likewise.
26515 * term/gfxterm.c: Likewise.
26516 * aclocal.m4: Likewise.
26517 * util/lvm.c: Likewise.
26518 * util/grub.d/30_os-prober.in: Likewise.
26519 * util/grub.d/10_hurd.in: Likewise.
26520 * util/console.c: Likewise.
26521 * util/grub-macho2img.c: Likewise.
26522 * util/grub-probe.c: Likewise.
26523 * util/hostfs.c: Likewise.
26524 * util/i386/pc/grub-mkimage.c: Likewise.
26525 * util/i386/pc/grub-setup.c: Likewise.
26526 * util/i386/efi/grub-mkimage.c: Likewise.
26527 * util/grub-mkconfig.in: Likewise.
26528 * util/raid.c: Likewise.
26529 * util/resolve.c: Likewise.
26530 * util/grub-mkdevicemap.c: Likewise.
26531 * util/grub-emu.c: Likewise.
26532 * util/getroot.c: Likewise.
26533 * util/hostdisk.c: Likewise.
26534 * util/usb.c: Likewise.
26535 * util/grub-editenv.c: Likewise.
26536 * util/misc.c: Likewise.
26537
d2d49665 265382009-06-10 Felix Zielcke <fzielcke@z-51.de>
26539
26540 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
26541 `genparttoollist.sh'.
26542 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
26543 Add `*.sh' to the list find searches for and change `mdate.sh'
26544 to `mdate-sh'.
26545
fe052e37 265462009-06-10 Pavel Roskin <proski@gnu.org>
26547
2763ac18 26548 * include/grub/multiboot2.h: Provide compatibility defines for
26549 multiboot2.h.
26550 * include/multiboot2.h: Include stdint.h only if needed, using
26551 angle brackets.
26552 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
26553 grub/multiboot2.h.
26554 * loader/ieee1275/multiboot2.c: Likewise.
26555 * loader/multiboot2.c: Likewise.
26556 * loader/multiboot_loader.c: Likewise.
26557
437e6adc 26558 * configure.ac: Use -nostdlib when probing for the target. It
26559 should not be required to have libc for the target.
26560
06a6836c 26561 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
26562 they fail without libc headers for the target.
26563 * include/grub/powerpc/libgcc.h: Use weak attribute for all
26564 exports.
26565 * include/grub/sparc64/libgcc.h: Likewise. Don't use
26566 preprocessor conditionals.
26567
fe052e37 26568 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
26569 build system doesn't need to be aware of the tar.c internals.
26570
afd22553 265712009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 26572
afd22553 26573 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 26574
6b787c4f 265752009-06-09 Robert Millan <rmh.grub@aybabtu.com>
26576
26577 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
26578 disk limit to 26 for IDE, Virtio, Xen and SCSI.
26579
265802009-06-09 Felix Zielcke <fzielcke@z-51.de>
26581
26582 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 26583 aren't available if ata.mod gets used.
6b787c4f 26584
473d1e45 265852009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 26586
473d1e45 26587 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 26588 initialising controller.
473d1e45 26589 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 26590
255a27d4 265912009-06-08 Felix Zielcke <fzielcke@z-51.de>
26592
26593 * util/i386/pc/grub-install.in: Add a parameter --disk-module
26594 to choose between ata and biosdisk module on i386-pc.
26595
473d1e45 265962009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 26597
d55842d8 26598 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
26599 Subclass and Programming Interface fields in terms of the 3 byte
26600 Class Code register.
26601 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26602
fa5db0b1 26603 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
26604 interface is OHCI. Add grub_dprintf for symmetry with
26605 bus/usb/uhci.c.
26606 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
26607 interface is UHCI. Add interf variable for programming
26608 interface. Print interface with class/subclass.
26609
c0947beb 26610 * bus/usb/ohci.c: Set interf with correct field.
26611
69da8877 26612 * bus/usb/uhci.c: Remove unneeded doubled lines.
26613 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
26614 Remove whitespace inside comment.
26615
9e172e30 266162009-06-08 Robert Millan <rmh.grub@aybabtu.com>
26617
26618 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
26619 as fallback an equivalent option without depth.
26620
de65ee2b 266212009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26622
26623 Not fail if unable to retrieve C/H/S on LBA disks
26624
473d1e45 26625 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 26626 if unable to retrieve C/H/S on LBA disks
26627
b57ea2c9 266282009-06-08 Pavel Roskin <proski@gnu.org>
26629
26630 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
26631 about aliasing.
26632
af361263 266332009-06-08 Felix Zielcke <fzielcke@z-51.de>
26634
26635 * Makefile.in (uninstall): Remove all $lib_DATA files.
26636
4c9ec6b3 266372009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26638
26639 Bugfix: install on partitionless device
26640
26641 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
26642 is a whole disk
26643
e76fc924 266442009-06-08 Felix Zielcke <fzielcke@z-51.de>
26645
26646 * Makefile.in (uninstall): Remove all $include_DATA files.
26647
ba5a0d05 266482009-06-08 Felix Zielcke <fzielcke@z-51.de>
26649
26650 * commands/true.c: New file. Implement the true and false commands.
26651 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
26652 (true_mod_SOURCES): New variable.
26653 (true_mod_CFLAGS): Likewise.
26654 (true_mod_LDFLAGS): Likewise.
26655
c8048e32 266562009-06-05 Colin D Bennett <colin@gibibit.com>
26657
26658 Optimized font character lookup using binary search instead of linear
26659 search. Fonts now are required to have the character index ordered by
26660 code point.
26661
26662 * font/font.c (load_font_index): Verify that fonts have ordered
26663 character indices.
26664 (find_glyph): Use binary search instead of linear search to find a
26665 character in a font.
26666
408305be 266672009-06-05 Michael Scherer <misc@mandriva.org>
26668
26669 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
26670 uses case sensitive btree.
26671 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
26672 only for case insensitive filesystems.
26673
8ee1e0d9 266742009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
26675
26676 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
26677 * conf/common.rmk (search_mod_CFLAGS): likewise
26678
a9966eb1 266792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26680
473d1e45 26681 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 26682 compensate a compiler bug
26683
9e7100fb 266842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26685
473d1e45 26686 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 26687 instead of '\b'
473d1e45 26688
ede21d71 266892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26690
26691 Definitions for creating asm symbols with Apple's CC
26692
26693 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
26694 [APPLE_CC] (VARIABLE): likewise
26695
9dbf7653 266962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26697
26698 Disable lnxboot.img when compiled
26699 with Apple's CC
26700
26701 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
26702 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
26703 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
26704 [! APPLE_CC] (CODE_LENG): skip
26705 [! APPLE_CC] (setup_sects): likewise
26706 [! APPLE_CC]: skip filling
473d1e45 26707
e93cdc3d 267082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26709
26710 Address in trampolines based on 32-bit registers when compiled
26711 with Apple's CC
26712
473d1e45 26713 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 26714 for addresses
26715 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
26716
6c688477 267172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26718
26719 Avoid aliases when compiling with Apple's CC for PCBIOS machine
26720
26721 * kern/misc.c [APPLE_CC] (memcpy): new function
26722 [APPLE_CC] (memmove): likewise
26723 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 26724 (memcpy): define alias conditionally on !APPLE_CC
6c688477 26725 (memset): likewise
26726 (abort): likewise
26727 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
26728 APPLE_CC are defined
26729 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
26730 (grub_assert_fail): make prototype conditional
26731
e37ffc5c 267322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26733
26734 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
26735
473d1e45 26736 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
26737 grub-macho2img
e37ffc5c 26738 (CLEANFILES): add grub-macho2img
26739 (grub_macho2img_SOURCES): new variable
26740 * kern/i386/pc/startup.S (bss_start): new variable
26741 (bss_end): likewise
26742 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
26743 * util/grub-macho2img.c: new file
26744
cf00df31 267452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26746
26747 Use objconv when compiling with Apple's CC
26748
26749 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
26750 (efiemu64.o): likewise
26751 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
26752 when compiling with Apple's CC
26753 (efiemu64_s.o): likewise
26754 * configure.ac: check for objconv when compiling with Apple's CC
26755 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 26756
d119a20c 267572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26758
26759 Define segment as well as section when compiling with
26760 Apple's CC
26761
26762 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
26763 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
26764 (efiemu_convert_pointer): likewise
26765 (efiemu_set_virtual_address_map): likewise
26766 (efiemu_convert_pointer): likewise
26767 (efiemu_getcrc32): likewise
26768 (init_crc32_table): likewise
26769 (reflect): likewise
26770 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
26771 (GRUB_MOD_DEP): likewise
473d1e45 26772
c8600122 267732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26774
26775 Allow a compilation without -mcmodel=large
26776
26777 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
26778 when compiled without -mcmodel=large
473d1e45 26779 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 26780 without -mcmodel=large
473d1e45 26781 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 26782 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 26783
e8df1d4e 267842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26785
26786 Remove nested functions in efiemu core
26787
26788 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 26789
cc6c3ac1 267902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26791
26792 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
26793
26794 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
26795 temporary storage
473d1e45 26796 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
26797 using Apple's CC
cc6c3ac1 26798 (grub_cpu_is_tsc_supported): likewise
26799 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 26800
3e325901 268012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26802
26803 Absolute addressing through constant with Apple's cc
26804
26805 * kern/i386/pc/startup.S: Define necessary constants
26806 and address through it when using ABS with Apple's CC
26807 * boot/i386/pc/diskboot.S: likewise
26808 * boot/i386/pc/boot.S: likewise
26809 * boot/i386/pc/lnxboot.S: likewise
26810 * boot/i386/pc/cdboot.S: likewise
26811 * mmap/i386/pc/mmap_helper.S: likewise
26812 * commands/i386/pc/drivemap_int13h.S: likewise
26813
2b167a72 268142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26815
26816 Check if compiler is apple cc
26817
26818 * Makefile.in (ASFLAGS): new variable
26819 (TARGET_ASFLAGS): likewise
26820 (TARGET_MODULE_FORMAT): likewise
26821 (TARGET_APPLE_CC): likewise
26822 (OBJCONV): likewise
26823 (TARGET_IMG_CFLAGS): likewise
26824 (TARGET_CPPFLAGS): add includedir
26825 * configure.ac: call grub_apple_cc and grub_apple_target_cc
26826 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
26827 Check for linker script only if compiler isn't Apple's CC
26828 (TARGET_MODULE_FORMAT): set
26829 (TARGET_APPLE_CC): likewise
26830 (TARGET_ASFLAGS): likewise
26831 (ASFLAGS): likewise
26832 Check for objcopy only if compiler isn't Apple's CC
26833 Check for BSS symbol only if compiler isn't Apple's CC
26834 * genmk.rb: adapt nm options if we use Apple's utils
26835 * aclocal.m4 (grub_apple_cc): new test
26836 (grub_apple_target_cc): likewise
473d1e45 26837
fb14123e 268382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26839
26840 Simplify sed expressions and improve awk
26841
26842 * Makefile.in (install-local): simplify sed expression
26843 * gencmdlist.sh: likewise
26844 * genmoddep.awk: avoid adding module as a dependency of itself
26845
5b889789 268462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26847
26848 Add missing start symbols
26849
26850 * boot/i386/pc/boot.S: add start
fb14123e 26851 * boot/i386/pc/pxeboot.S: likewise
473d1e45 26852
fd2bf2e3 268532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26854
26855 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 26856
26857 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 26858 (relocate_addresses): consider both r_addend and value at offset
26859 (make_mods_section): zerofill modinfo and header
26860 (convert_elf): write prefix here
473d1e45 26861
5389763d 268622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26863
26864 Use .asciz instead of .string
26865
26866 * i386/pc/diskboot.S: use .asciz instead of .string
26867 * i386/pc/boot.S: likewise
26868 * include/grub/dl.h (GRUB_MOD_DEP): likewise
26869 (GRUB_MOD_NAME): likewise
473d1e45 26870
3eb5ed4e 268712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26872
26873 gfxpayload support
26874
26875 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
26876 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
26877 (grub_video_setup): remove
26878 (grub_video_set_mode): new prototype
26879 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
26880 (vid_mode): remove
26881 (linux_vesafb_res): compile only on PCBIOS
26882 (grub_linux_boot): support gfxpayload
26883 * loader/i386/pc/xnu.c (video_hook): new function
26884 (grub_xnu_set_video): support gfxpayload
26885 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
26886 (DEFAULT_VIDEO_HEIGHT): likewise
26887 (DEFAULT_VIDEO_FLAGS): likewise
26888 (DEFAULT_VIDEO_MODE): new definition
26889 (video_hook): new function
26890 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 26891 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 26892 loading xnu
26893 * video/video.c (grub_video_setup): removed
473d1e45 26894 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 26895 grub_video_setup
26896
4b0e1143 268972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26898
26899 Avoid calling biosdisk in drivemap
26900
26901 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
26902 (revparse_biosdisk): likewise
26903 (list_mappings): derive name from id directly
26904 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 26905
fda6cb98 269062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26907
26908 Script fixes
26909
26910 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
26911 (grub_lexer_param): add tokenonhold
26912 (grub_script_create_cmdline): remove cmdline. All callers updated
26913 (grub_script_function_create): make functionname
26914 grub_script_arg. All callers updated
26915 (grub_script_execute_argument_to_string): new prototype
26916 * kern/parser.c (state_transitions): reorder
26917 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 26918 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 26919 make global
26920 (grub_script_execute_cmdline): use new format
26921 * script/sh/function.c (grub_script_function_create): make functionname
26922 grub_script_arg. All callers updated
473d1e45 26923 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 26924 (grub_script_yylex): remove
26925 (grub_script_yylex2): renamed to ...
26926 (grub_script_yylex): ...renamed
26927 parse the expressions like a${b}c
26928 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
26929 (GRUB_PARSER_TOKEN_VAR): remove
26930 (GRUB_PARSER_TOKEN_NAME): likewise
26931 ("if"): declare as typeless
26932 ("while"): likewise
26933 ("function"): likewise
26934 ("else"): likewise
26935 ("then"): likewise
26936 ("fi"): likewise
26937 (text): remove
26938 (argument): likewise
26939 (script): accept empty scripts and make exit on error
26940 (arguments): use GRUB_PARSER_TOKEN_ARG
26941 (function): likewise
26942 (command): move error handling to script
26943 (menuentry): move grub_script_lexer_ref before
473d1e45 26944 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 26945 argument. All callers updated
26946
f4448a07 269472009-06-04 Robert Millan <rmh.grub@aybabtu.com>
26948
26949 Prevent GRUB from probing floppies during boot.
26950
26951 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
26952 * commands/search.c (options): Add --no-floppy.
26953 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
26954 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
26955 --no-floppy when searching for UUIDs.
26956
2bf5885a 269572009-06-04 Robert Millan <rmh.grub@aybabtu.com>
26958
26959 Simplify the code duplication in commands/search.c.
26960
26961 * commands/search.c (search_label, search_fs_uuid): Merge into ...
26962 (search_fs): ... this. Update all users.
26963
f6fd460a 269642009-06-03 Felix Zielcke <fzielcke@z-51.de>
26965
26966 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
26967
cbb3c83e 269682009-05-28 Pavel Roskin <proski@gnu.org>
26969
57788cfd 26970 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
26971 Remove the original symlink explicitly.
26972
cbb3c83e 26973 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
26974 just one slash. That's how grub_fshelp_find_file() does it.
26975
cd0d5e30 269762009-05-26 Pavel Roskin <proski@gnu.org>
26977
f0f8bbe2 26978 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
26979 to `str'.
26980
cd0d5e30 26981 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
26982 possibly unused.
26983
8c2cab51 269842009-05-25 Christian Franke <franke@computer.org>
26985
26986 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
26987 register.
26988 (grub_atapi_identify): Add wait after drive select.
26989 (grub_ata_identify): Do more strict status register check before
26990 calling grub_atapi_identify (). Suppress error message if status
26991 register is 0x00 after command failure. Add status register
26992 check after PIO read to avoid bogus identify due to stuck DRQ.
26993 Thanks to Pavel Roskin for testing.
26994 (grub_device_initialize): Remove unsafe status register check.
26995 Thanks to 'phcoder' for problem report and patch.
26996 Prevent sign extension in debug message.
26997
230c0ad6 269982009-05-23 Colin D Bennett <colin@gibibit.com>
26999
27000 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27001 definition file, and functions defined in `normal/menu.c' have had
27002 their prototypes moved to `include/grub/menu.h' for consistency.
27003
27004 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27005 from normal.h.
27006 (grub_menu_get_entry): Likewise.
27007 (grub_menu_get_timeout): Likewise.
27008 (grub_menu_set_timeout): Likewise.
27009 (grub_menu_execute_entry): Likewise.
27010 (grub_menu_execute_with_fallback): Likewise.
27011 (grub_menu_entry_run): Likewise.
27012
27013 * include/grub/normal.h: Re-ordered and grouped function
27014 prototypes by file that the function is defined in.
27015 (grub_menu_execute_callback): Removed; moved to menu.h.
27016 (grub_menu_get_entry): Likewise.
27017 (grub_menu_get_timeout): Likewise.
27018 (grub_menu_set_timeout): Likewise.
27019 (grub_menu_execute_entry): Likewise.
27020 (grub_menu_execute_with_fallback): Likewise.
27021 (grub_menu_entry_run): Likewise.
27022 (grub_menu_addentry): Renamed from this ...
27023 (grub_normal_add_menu_entry): ... to this.
27024
27025 * normal/main.c (grub_menu_addentry): Renamed from this ...
27026 (grub_normal_add_menu_entry): ... to this.
27027
27028 * script/sh/execute.c (grub_script_execute_menuentry): Update
27029 reference to renamed grub_menu_addentry function.
27030
861f03a5 270312009-05-23 Felix Zielcke <fzielcke@z-51.de>
27032
27033 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27034
96b1619a 270352009-05-22 Pavel Roskin <proski@gnu.org>
27036
bf6a5fb2 27037 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27038 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27039 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27040 compiling for the i386 targets, but not for the utilities.
27041
96b1619a 27042 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27043 to grub_uint8_t.
27044 (grub_root_drive): Likewise.
27045 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27046 remove alignment.
27047 (grub_root_drive): Change size to byte.
27048 (grub_start_addr): Remove.
27049 (grub_end_addr): Likewise.
27050 (grub_apm_bios_info): Likewise.
27051
b729776b 270522009-05-21 Felix Zielcke <fzielcke@z-51.de>
27053
27054 * normal/i386: Remove.
27055 * normal/powerpc: Likewise.
27056 * normal/sparc64: Likewise.
27057 * normal/x86_64: Likewise.
27058
0a15ce80 270592009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27060
27061 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 27062 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 27063 * loader/i386/xnu_helper.S: Likewise
d6da58e6 27064
33db9015 270652009-05-18 Colin D Bennett <colin@gibibit.com>
27066
d6da58e6 27067 Display error messages when parsing a Lua statement fails.
27068 Previously, executing a syntactically invalid statement like
27069 ")foo" or "bar;" would silently fail.
33db9015 27070
27071 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 27072 (grub_lua_parse_line): Improved reporting of Lua parser and
27073 execution errors.
33db9015 27074
46422c89 270752009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27076
27077 Remove -Werror which causes build to fail on some systems
27078
27079 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
27080 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
27081 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 27082
22f53a96 270832009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27084
27085 trampoline for linux on 64-bit platform
27086
18f547ad 27087 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
27088 loader/i386/efi/linux_trampoline.S
27089 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 27090 declaration
d6da58e6 27091 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
27092 here
22f53a96 27093 * loader/i386/linux_trampoline.S: moved here
d6da58e6 27094 * loader/i386/efi/linux.c (allocate_pages): reserve space for
27095 trampoline
22f53a96 27096 (jumpvector): removed
27097 (grub_linux_trampoline_start): new declaration
27098 (grub_linux_trampoline_end): likewise
27099 (grub_linux_boot): use trampoline when on 64-bit platform
27100 * loader/i386/linux.c: likewise
27101
cb5a0f40 271022009-05-16 Pavel Roskin <proski@gnu.org>
27103
27104 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
27105 const to avoid a warning.
27106 (grub_lua_setenv): Likewise.
27107 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
27108 lmsg to fix a warning.
27109
334f2c28 271102009-05-16 Felix Zielcke <fzielcke@z-51.de>
27111
27112 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 27113 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27114 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
27115 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27116 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27117 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27118 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27119 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 27120
59e5d3ec 271212009-05-16 Felix Zielcke <fzielcke@z-51.de>
27122
27123 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
27124
9d87a1ba 271252009-05-16 Bean <bean123ch@gmail.com>
27126
27127 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
27128 (lua_mod_SOURCES): New variable.
27129 (lua_mod_CFLAGS): Likewise.
27130 (lua_mod_LDFLAGS): Likewise.
27131
27132 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
27133 (setjmp_mod_SOURCES): New variable.
27134 (setjmp_mod_CFLAGS): Likewise.
27135 (setjmp_LDFLAGS): Likewise.
27136
27137 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
27138 (setjmp_mod_SOURCES): New variable.
27139 (setjmp_mod_CFLAGS): Likewise.
27140 (setjmp_LDFLAGS): Likewise.
27141
27142 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27143 (setjmp_mod_SOURCES): New variable.
27144 (setjmp_mod_CFLAGS): Likewise.
27145 (setjmp_LDFLAGS): Likewise.
27146
27147 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27148 (setjmp_mod_SOURCES): New variable.
27149 (setjmp_mod_CFLAGS): Likewise.
27150 (setjmp_LDFLAGS): Likewise.
27151
27152 * normal/i386/setjmp.S: Moved from here ...
27153 * lib/i386/setjmp.S: ... Moved here
27154 * normal/x86_64/setjmp.S: Moved from here ...
27155 * lib/x86_64/setjmp.S: ... Moved here
27156 * normal/powerpc/setjmp.S: Moved from here ...
27157 * lib/powerpc/setjmp.S: ... Moved here
27158 * normal/sparc64/setjmp.S: Moved from here ...
27159 * lib/sparc64/setjmp.S: ... Moved here
27160
27161 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
27162 returns_twice in mingw.
27163
27164 * script/lua/grub_lib.c: New file.
27165 * script/lua/grub_lib.h: Likewise.
27166 * script/lua/grub_lua.h: Likewise.
27167 * script/lua/grub_main.c: Likewise.
27168 * script/lua/lapi.c: Likewise.
27169 * script/lua/lapi.h: Likewise.
27170 * script/lua/lauxlib.c: Likewise.
27171 * script/lua/lauxlib.h: Likewise.
27172 * script/lua/lbaselib.c: Likewise.
27173 * script/lua/lcode.c: Likewise.
27174 * script/lua/lcode.h: Likewise.
27175 * script/lua/ldblib.c: Likewise.
27176 * script/lua/ldebug.c: Likewise.
27177 * script/lua/ldebug.h: Likewise.
27178 * script/lua/ldo.c: Likewise.
27179 * script/lua/ldo.h: Likewise.
27180 * script/lua/ldump.c: Likewise.
27181 * script/lua/lfunc.c: Likewise.
27182 * script/lua/lfunc.h: Likewise.
27183 * script/lua/lgc.c: Likewise.
27184 * script/lua/lgc.h: Likewise.
27185 * script/lua/linit.c: Likewise.
27186 * script/lua/liolib.c: Likewise.
27187 * script/lua/llex.c: Likewise.
27188 * script/lua/llex.h: Likewise.
27189 * script/lua/llimits.h: Likewise.
27190 * script/lua/lmathlib.c: Likewise.
27191 * script/lua/lmem.c: Likewise.
27192 * script/lua/lmem.h: Likewise.
27193 * script/lua/loadlib.c: Likewise.
27194 * script/lua/lobject.c: Likewise.
27195 * script/lua/lobject.h: Likewise.
27196 * script/lua/lopcodes.c: Likewise.
27197 * script/lua/lopcodes.h: Likewise.
27198 * script/lua/loslib.c: Likewise.
27199 * script/lua/lparser.c: Likewise.
27200 * script/lua/lparser.h: Likewise.
27201 * script/lua/lstate.c: Likewise.
27202 * script/lua/lstate.h: Likewise.
27203 * script/lua/lstring.c: Likewise.
27204 * script/lua/lstring.h: Likewise.
27205 * script/lua/lstrlib.c: Likewise.
27206 * script/lua/ltable.c: Likewise.
27207 * script/lua/ltable.h: Likewise.
27208 * script/lua/ltablib.c: Likewise.
27209 * script/lua/ltm.c: Likewise.
27210 * script/lua/ltm.h: Likewise.
27211 * script/lua/lua.h: Likewise.
27212 * script/lua/luaconf.h: Likewise.
27213 * script/lua/lualib.h: Likewise.
27214 * script/lua/lundump.c: Likewise.
27215 * script/lua/lundump.h: Likewise.
27216 * script/lua/lvm.c: Likewise.
27217 * script/lua/lvm.h: Likewise.
27218 * script/lua/lzio.c: Likewise.
27219 * script/lua/lzio.h: Likewise.
27220
5e898c9d 272212009-05-16 Bean <bean123ch@gmail.com>
27222
27223 * include/grub/kernel.h (grub_module_header_types): Add type
27224 OBJ_TYPE_CONFIG.
27225
27226 * kern/main.c (grub_load_config): New function.
27227 (grub_main): Call grub_load_config to read boot config.
27228
27229 * grub-mkimage (generate_image): New parameter config_path.
27230 (options): New option --config.
27231 (main): Parse --config option, and pass it to generate_image.
27232
cf353a47 272332009-05-14 Christian Franke <franke@computer.org>
27234
27235 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
27236 This fixes build on Cygwin.
27237
3834887f 272382009-05-14 Pavel Roskin <proski@gnu.org>
27239
27240 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
27241 jump. This saves two bytes, so the typical case of 2 swapped
27242 drives would fit 32 bytes.
27243
8090fc01 272442009-05-13 Pavel Roskin <proski@gnu.org>
27245
ac963883 27246 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
27247 grub_uint32_t to avoid a warning.
27248
8090fc01 27249 * loader/i386/linux.c (allocate_pages): When assigning
27250 real_mode_mem, cast through grub_size_t to fix a warning. The
27251 code already makes sure that the value would fit a pointer.
27252 (grub_linux_setup_video): Cast render_target->data to
27253 grub_size_t to fix a warning.
27254
18f547ad 272552009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 27256
27257 * commands/i386/pc/drivemap.c: New file - implement drivemap
27258 command.
27259 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
27260 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
27261
6f6a8b28 272622009-05-13 Pavel Roskin <proski@gnu.org>
27263
27264 * util/i386/pc/grub-setup.c (setup): Remove unused variable
27265 embedding_area_exists.
27266
15fbf4c4 272672009-05-13 Robert Millan <rmh.grub@aybabtu.com>
27268
27269 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
27270 it easier to understand / work with.
59978c8a 27271 Improve warning messages for cases where there's no embedding area,
27272 or when it is too small (or core.img too large).
15fbf4c4 27273
238e871f 272742009-05-13 Pavel Roskin <proski@gnu.org>
27275
0ab3a9a4 27276 * loader/i386/pc/multiboot2.c: Add necessary includes for
27277 grub_multiboot2_real_boot().
27278
a2c8c5f8 27279 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
27280 PX record is always little-endian. We only need the lower 2
27281 bytes of the mode.
27282
faec96af 27283 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
27284 facilitate code reuse.
27285 (grub_cpio_mount): Use "struct head", not a char buffer. This
27286 fixes a warning reported by gcc 4.4.
27287
238e871f 27288 * kernel/disk.c (grub_disk_read): Use void pointer for the
27289 buffer.
27290 (grub_disk_write): Use const void pointer for the buffer.
27291 Adjust all callers. Remove unnecessary casts.
27292
901d2f0c 272932009-05-10 Robert Millan <rmh.grub@aybabtu.com>
27294
27295 * util/i386/pc/grub-install.in: Update copyright year.
27296
18f547ad 272972009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 27298
27299 gptsync
27300
27301 * commands/gptsync.c: new file
27302 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
27303 (gptsync_mod_SOURCES): new variable
27304 (gptsync_mod_CFLAGS): likewise
27305 (gptsync_mod_LDFLAGS): likewise
18f547ad 27306 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 27307 new definition
27308 (GRUB_PC_PARTITION_TYPE_HFS): likewise
27309 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
27310 * conf/i386-ieee1275.rmk: likewise
27311 * conf/i386-pc.rmk: likewise
27312 * conf/powerpc-ieee1275.rmk: likewise
27313
b4ba690a 273142009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27315
27316 Fixed grub-emu
27317
27318 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
27319 (grub_dl_ref): likewise
27320
317e1a44 273212009-05-08 Robert Millan <rmh.grub@aybabtu.com>
27322
27323 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
27324 split in two functions (one for msdos and one for gpt).
27325
041b8094 273262009-05-08 Pavel Roskin <proski@gnu.org>
27327
752473c2 27328 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
27329 not modified.
27330
041b8094 27331 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
27332 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
27333 Initialize them with -1. Add sanity check for bad1. Eliminate
27334 nerr variable.
27335
172800ce 273362009-05-08 David S. Miller <davem@davemloft.net>
27337
27338 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
27339
29aa5e81 273402009-05-06 Robert Millan <rmh.grub@aybabtu.com>
27341
27342 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 27343 existence.
29aa5e81 27344
96613b62 273452009-05-05 Felix Zielcke <fzielcke@z-51.de>
27346
27347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 27348 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 27349
eef73c8a 273502009-05-05 David S. Miller <davem@davemloft.net>
27351
27352 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
27353
119494b5 273542009-05-05 Pavel Roskin <proski@gnu.org>
27355
27356 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
27357 of grub_dl_ref() and grub_dl_unref().
27358 * commands/parttool.c: Remove preprocessor conditionals around
27359 grub_dl_ref() and grub_dl_unref().
27360 * fs/affs.c: Likewise.
27361 * fs/afs.c: Likewise.
27362 * fs/cpio.c: Likewise.
27363 * fs/ext2.c: Likewise.
27364 * fs/fat.c: Likewise.
27365 * fs/hfs.c: Likewise.
27366 * fs/hfsplus.c: Likewise.
27367 * fs/iso9660.c: Likewise.
27368 * fs/jfs.c: Likewise.
27369 * fs/minix.c: Likewise.
27370 * fs/ntfs.c: Likewise.
27371 * fs/reiserfs.c: Likewise.
27372 * fs/sfs.c: Likewise.
27373 * fs/udf.c: Likewise.
27374 * fs/ufs.c: Likewise.
27375 * fs/xfs.c: Likewise.
27376 * include/grub/dl.h: Likewise.
27377 * loader/xnu.c: Likewise.
27378
de5fd76e 273792009-05-04 Pavel Roskin <proski@gnu.org>
27380
27381 * commands/acpi.c: Remove unused variable my_mod.
27382 * partmap/amiga.c: Likewise.
27383 * partmap/apple.c: Likewise.
27384 * partmap/gpt.c: Likewise.
27385 * partmap/pc.c: Likewise.
27386 * partmap/sun.c: Likewise.
27387 * term/gfxterm.c: Likewise.
27388 * term/i386/pc/vesafb.c: Likewise.
27389 * term/i386/pc/vga.c: Likewise.
27390
983598ad 273912009-05-04 David S. Miller <davem@davemloft.net>
27392
27393 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
27394 pointer args to grub_ieee1275_get_property().
27395
8aadec43 27396 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
27397
9554b15e 27398 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
27399 devices, and do not traverse down under controller nodes.
27400
67e23c90 27401 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
27402 (grub_ofdisk_open): Use it to un-escape "," characters.
27403 * kern/disk.c (find_part_sep): New.
27404 (grub_disk_open): Use it to find the first non-escaped ','
27405 character in the disk name.
27406 * util/ieee1275/devicemap.c (escape_of_path): New.
27407 (grub_util_emit_devicemap_entry): Use it.
27408 * util/sparc64/ieee1275/grub-install.in: Update script to
27409 strip partition specifiers properly by not triggering on
27410 '\' escaped ',' characters.
27411
74bfdd2f 274122009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27413
27414 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
27415 to 0x300.
27416 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
27417 resolutions.
27418 (linux_vesafb_modes): Add a lot of additional modes to the list (based
27419 on documentation from Wikipedia).
27420
4241d2b1 274212009-05-04 Pavel Roskin <proski@gnu.org>
27422
27423 * disk/ata.c: Spelling fixes.
27424 * disk/raid.c: Likewise.
27425 * disk/usbms.c: Likewise.
27426 * disk/dmraid_nvidia.c: Likewise.
27427 * kern/ieee1275/openfw.c: Likewise.
27428 * kern/ieee1275/init.c: Likewise.
27429 * kern/ieee1275/cmain.c: Likewise.
27430 * boot/i386/pc/cdboot.S: Likewise.
27431 * video/readers/png.c: Likewise.
27432 * video/i386/pc/vbe.c: Likewise.
27433 * fs/udf.c: Likewise.
27434 * fs/hfs.c: Likewise.
27435 * fs/reiserfs.c: Likewise.
27436 * efiemu/runtime/efiemu.c: Likewise.
27437 * efiemu/main.c: Likewise.
27438 * efiemu/mm.c: Likewise.
27439 * include/grub/elf.h: Likewise.
27440 * include/grub/xnu.h: Likewise.
27441 * include/grub/usbdesc.h: Likewise.
27442 * include/grub/usb.h: Likewise.
27443 * include/grub/script_sh.h: Likewise.
27444 * include/grub/lib/LzmaEnc.h: Likewise.
27445 * include/grub/efiemu/efiemu.h: Likewise.
27446 * include/grub/command.h: Likewise.
27447 * normal/menu.c: Likewise.
27448 * normal/main.c: Likewise.
27449 * normal/datetime.c: Likewise.
27450 * bus/usb/uhci.c: Likewise.
27451 * mmap/i386/uppermem.c: Likewise.
27452 * mmap/mmap.c: Likewise.
27453 * commands/acpi.c: Likewise.
27454 * commands/test.c: Likewise.
27455 * partmap/apple.c: Likewise.
27456 * font/font.c: Likewise.
27457 * loader/sparc64/ieee1275/linux.c: Likewise.
27458 * loader/macho.c: Likewise.
27459 * loader/i386/bsd_trampoline.S: Likewise.
27460 * loader/i386/bsd.c: Likewise.
27461 * loader/xnu.c: Likewise.
27462 * term/i386/pc/vesafb.c: Likewise.
27463 * term/usb_keyboard.c: Likewise.
27464 * util/resolve.c: Likewise.
27465 * util/getroot.c: Likewise.
27466
0cfc0083 274672009-05-04 Felix Zielcke <fzielcke@z-51.de>
27468
27469 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
27470
7c1d00cd 274712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27472
27473 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
27474 build error.
27475
b01f0548 274762009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27477
27478 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
27479 parameter only available on BIOS.
27480
ecc3eb22 274812009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27482
27483 Removed wrong semicolon in declaration
27484
27485 * grub/misc.h (grub_dprintf): remove semicolon
27486
112972a9 274872009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27488
27489 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
27490 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
27491 is done by grub_cmd_linux() now).
27492 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
27493 restore video to text mode.
27494 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
27495 indicates lack of "vga=" parameter. "vga=0" is mapped to
27496 `GRUB_LINUX_VID_MODE_NORMAL'.
27497
afd5c115 274982009-05-04 Felix Zielcke <fzielcke@z-51.de>
27499
27500 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
27501 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
27502 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 27503 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 27504 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
27505 `grub_script.tab.c'.
27506
27507 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27508 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27510 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27511 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27512
faa517ce 27513 * Makefile.in: Remove duplicated 2008 in Copyright line.
27514
ae0c0bdc 275152009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27516
473d1e45 27517 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 27518 unconditionally.
27519 * include/grub/util/misc.h (grub_util_warn): New declaration.
27520
27521 * util/i386/pc/grub-install.in: Understand --force and pass it down
27522 to grub-setup.
27523
27524 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
27525 down to setup().
27526 (setup): Improve error messages and add warnings when requested to
27527 install in odd layouts. Refuse to install using blocklists unless
27528 --force was set.
27529
18f547ad 275302009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 27531
27532 * disk/raid.c (grub_raid_scan_device): Improve debug message.
27533
6d260daa 275342009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27535
27536 Updated copyright year
27537
27538 * fs/hfsplus.c: updated copyright year
18f547ad 27539
69f853f8 275402009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27541
27542 HFS+ UUID
27543
18f547ad 27544 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 27545 in the space previously used by unused3
27546 (grub_hfsplus_uuid): new function
27547 (grub_hfsplus_fs): added uuid field
27548
4c402e73 275492009-05-03 Pavel Roskin <proski@gnu.org>
27550
27551 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
27552 suppress warnings. It's no longer needed.
27553 * disk/host.c: Likewise.
27554 * disk/ata_pthru.c: Likewise.
27555 * disk/loopback.c: Likewise.
27556 * hook/datehook.c: Likewise.
27557 * parttool/pcpart.c: Likewise.
27558 * fs/i386/pc/pxe.c: Likewise.
27559 * fs/ntfscomp.c: Likewise.
27560 * efiemu/main.c: Likewise.
27561 * mmap/mmap.c: Likewise.
27562 * commands/crc.c: Likewise.
27563 * commands/hexdump.c: Likewise.
27564 * commands/hdparm.c: Likewise.
27565 * commands/acpi.c: Likewise.
27566 * commands/echo.c: Likewise.
27567 * commands/minicmd.c: Likewise.
27568 * commands/blocklist.c: Likewise.
27569 * commands/memrw.c: Likewise.
27570 * commands/loadenv.c: Likewise.
27571 * commands/usbtest.c: Likewise.
27572 * commands/lsmmap.c: Likewise.
27573 * commands/boot.c: Likewise.
27574 * commands/parttool.c: Likewise.
27575 * commands/configfile.c: Likewise.
27576 * commands/search.c: Likewise.
27577 * commands/ieee1275/suspend.c: Likewise.
27578 * commands/cat.c: Likewise.
27579 * commands/i386/pc/pxecmd.c: Likewise.
27580 * commands/i386/pc/play.c: Likewise.
27581 * commands/i386/pc/halt.c: Likewise.
27582 * commands/i386/pc/vbeinfo.c: Likewise.
27583 * commands/i386/pc/vbetest.c: Likewise.
27584 * commands/lspci.c: Likewise.
27585 * commands/date.c: Likewise.
27586 * commands/handler.c: Likewise.
27587 * commands/ls.c: Likewise.
27588 * commands/test.c: Likewise.
27589 * commands/cmp.c: Likewise.
27590 * commands/efi/loadbios.c: Likewise.
27591 * commands/efi/fixvideo.c: Likewise.
27592 * commands/halt.c: Likewise.
27593 * commands/help.c: Likewise.
27594 * commands/reboot.c: Likewise.
27595 * hello/hello.c: Likewise.
27596 * script/sh/main.c: Likewise.
27597 * loader/xnu.c: Likewise.
27598 * term/terminfo.c: Likewise.
27599 * term/i386/pc/serial.c: Likewise.
27600 * term/usb_keyboard.c: Likewise.
27601
515b5079 276022009-05-03 David S. Miller <davem@davemloft.net>
27603
27604 * normal/menu.c: Include grub/parser.h
27605
dfc31a22 276062009-05-03 Pavel Roskin <proski@gnu.org>
27607
2fee74f1 27608 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
27609 not char*.
27610 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
27611 Suggested by Javier Martín <lordhabbit@gmail.com>
27612
dfc31a22 27613 * util/i386/pc/grub-mkrescue.in: Allow for the case when
27614 efiemu??.o doesn't exist.
27615 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
27616 copying.
27617
18f547ad 276182009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 27619
27620 FreeBSD 64-bit support
27621
18f547ad 27622 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 27623 and loader/i386/bsd_trampoline.S
27624 (bsd_mod_ASFLAGS): new variable
27625 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
27626 (FREEBSD_MODTYPE_KERNEL64): likewise
27627 (grub_bsd64_trampoline_start): likewise
27628 (grub_bsd64_trampoline_end): likewise
27629 (grub_bsd64_trampoline_selfjump): likewise
27630 (grub_bsd64_trampoline_gdt): likewise
27631 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
27632 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
27633 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
27634 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 27635 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 27636 of "attrib" member
27637 * loader/i386/bsd_pagetable.c: new file
27638 * loader/i386/bsd_trampoline.S: likewise
27639 * loader/i386/bsd.c (ALIGN_QWORD): new macro
27640 (ALIGN_VAR): likewise
27641 (entry_hi): new variable
27642 (kern_end_mdofs): likewise
27643 (is_64bit): likewise
27644 (grub_freebsd_add_meta): use ALIGN_VAR
27645 (grub_e820_mmap): new declaration
27646 (grub_freebsd_add_mmap): new function
27647 (grub_freebsd_add_meta_module): support 64 bit kernels
27648 (grub_freebsd_list_modules): use ALIGN_VAR
27649 (gdt_descriptor): new declaration
27650 (grub_freebsd_boot): support 64 bit kernels
27651 (grub_bsd_elf64_hook): new function
27652 (grub_bsd_load_elf): support elf64
27653
038c5720 276542009-05-03 Bean <bean123ch@gmail.com>
27655
27656 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
27657 after we get the result of if statement.
27658
fc45fb58 276592009-05-03 Bean <bean123ch@gmail.com>
27660
27661 * Makefile.in (enable_efiemu): New variable.
27662
27663 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
27664 set.
27665 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
27666 path.
27667 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
27668 path, add -mno-red-zone option.
27669 (efiemu64_s.o): Likewise.
27670 (efiemu64.o): Use macro $^ for source file.
27671
27672 * configure.ac (--enable-efiemu): New option.
27673
bbee0f2b 276742009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27675
27676 xnu support
27677
27678 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
27679 (pkglib_MODULES): add xnu.mod
27680 (xnu_mod_SOURCES): new variable
27681 (xnu_mod_CFLAGS): likewise
27682 (xnu_mod_LDFLAGS): likewise
27683 (xnu_mod_ASFLAGS): likewise
27684 * conf/i386-pc.rmk: likewise
27685 * conf/x86_64-efi.rmk: likewise
7dd4a573 27686 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 27687 new declaration
27688 * include/grub/i386/macho.h: new file
27689 * include/grub/i386/xnu.h: likewise
27690 * include/grub/macho.h: likewise
27691 * include/grub/machoload.h: likewise
27692 * include/grub/x86_64/macho.h: likewise
27693 * include/grub/x86_64/xnu.h: likewise
27694 * include/grub/xnu.h: likewise
27695 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
27696 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
27697 * loader/i386/efi/xnu.c: new file
27698 * loader/i386/pc/xnu.c: likewise
27699 * loader/i386/xnu.c: likewise
27700 * loader/i386/xnu_helper.S: likewise
27701 * loader/macho.c: likewise
27702 * loader/xnu.c: likewise
27703 * loader/xnu_resume.c: likewise
27704 * util/grub-dumpdevtree: likewise
27705 * include/grub/i386/pit.h: include grub/err.h
27706 (grub_pit_wait): export
27707 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 27708
5caf964d 277092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27710
27711 Efiemu
7dd4a573 27712
5caf964d 27713 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 27714 _linux_efi, linux_efi.
27715 new files in grub-emu
5caf964d 27716 new targets efiemu32.o and efiemu64.o
27717 * loader/linux_normal_efiemu.c: likewise
27718 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 27719 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 27720 files to copy
27721 * include/grub/autoefi.h: new file
7dd4a573 27722 * include/grub/i386/efiemu.h: likewise
5caf964d 27723 * include/grub/i386/pc/efiemu.h: likewise
27724 * include/grub/efi/api.h: add LL suffix when necessary
27725 new definitions relating to tables
27726 * include/grub/efiemu/efiemu.h: new file
27727 * include/grub/efiemu/runtime.h: likewise
27728 * efiemu/prepare.c: likewise
27729 * efiemu/loadcore_common.c: likewise
27730 * efiemu/loadcore64.c: likewise
27731 * efiemu/runtime/efiemu.sh: likewise
27732 * efiemu/runtime/efiemu.S: likewise
27733 * efiemu/runtime/efiemu.c: likewise
27734 * efiemu/runtime/config.h: likewise
27735 * efiemu/prepare32.c: likewise
27736 * efiemu/main.c: likewise
27737 * efiemu/modules/pnvram.c: likewise
27738 * efiemu/modules/i386: likewise
27739 * efiemu/modules/i386/pc: likewise
27740 * efiemu/modules/acpi.c: likewise
27741 * efiemu/i386/pc/cfgtables.c: likewise
27742 * efiemu/i386/loadcore64.c: likewise
27743 * efiemu/i386/loadcore32.c: likewise
27744 * efiemu/prepare64.c: likewise
27745 * efiemu/loadcore.c: likewise
27746 * efiemu/symbols.c: likewise
27747 * efiemu/mm.c: likewise
27748 * efiemu/loadcore32.c: likewise
7dd4a573 27749
277502009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 27751
27752 ACPI spoofing
27753
27754 * commands/acpi.c: new file
27755 * commands/i386/pc/acpi.c: likewise
27756 * commands/efi/acpi.c: likewise
27757 * include/grub/acpi.h: likewise
27758 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
27759 (acpi_mod_SOURCES): new variable
27760 (acpi_mod_CFLAGS): likewise
27761 (acpi_mod_LDFLAGS): likewise
27762 * conf/i386-efi.rmk: likewise
27763 * conf/x86_64-efi.rmk: likewise
27764
7dd4a573 277652009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 27766
27767 Missing part from mmap patch
27768
27769 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
27770 (grub_mmap_unregister)
27771 (grub_mmap_free_and_unregister): use grub_mmap_register
27772
7dd4a573 277732009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 27774
27775 Mmap services
27776
27777 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
27778 * loader/i386/linux.c (find_mmap_size): likewise
27779 (allocate_pages): likewise
27780 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
27781 (grub_fill_multiboot_mmap): likewise
27782 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
27783 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
27784 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
27785 (OPENBSD_MMAP_RESERVED): likewise
27786 * include/grub/i386/pc/memory.h: include grub/memory.h
27787 (grub_lower_mem): removed
27788 (grub_upper_mem): likewise
27789 (GRUB_MACHINE_MEMORY_ACPI): new definition
27790 (GRUB_MACHINE_MEMORY_NVS): likewise
27791 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
27792 (GRUB_MACHINE_MEMORY_HOLE): likewise
27793 (grub_machine_mmap_register): likewise
27794 (grub_machine_mmap_unregister): likewise
27795 (grub_machine_get_upper): likewise
27796 (grub_machine_get_lower): likewise
27797 (grub_machine_get_post64): likewise
27798 * include/grub/i386/efi/memory.h: new file
27799 * include/grub/x86_64/efi/memory.h: likewise
27800 * include/grub/efi/memory.h: likewise
27801 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
27802 (mmap_mod_SOURCES): new variable
27803 (mmap_mod_LDFLAGS): likewise
27804 (mmap_mod_ASFLAGS): likewise
27805 * conf/i386-coreboot.rmk: likewise
27806 * conf/i386-ieee1275.rmk: likewise
27807 * conf/i386-efi.rmk: likewise
27808 * conf/x86_64-efi.rmk: likewise
27809 * include/grub/types.h (UINT_TO_PTR): new macro
27810 (PTR_TO_UINT32): likewise
27811 (PTR_TO_UINT64): likewise
27812 * include/grub/memory.h: new file
27813 * mmap/i386/pc/mmap.c: likewise
27814 * mmap/i386/pc/mmap_helper.S: likewise
27815 * mmap/i386/uppermem.c: likewise
27816 * mmap/mmap.c: likewise
27817 * mmap/efi/mmap.c: likewise
7dd4a573 27818 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 27819 grub_upper_mem
27820 * kern/i386/pc/init.c (grub_lower_mem): removed variable
27821 (grub_upper_mem): likewise
27822 (grub_machine_init): don't use grub_upper_mem,
27823 make grub_lower_mem local
27824 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
27825 grub_mmap_iterate and grub_mmap_get_upper
27826 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
27827
d558e6b5 278282009-05-02 Bean <bean123ch@gmail.com>
27829
27830 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
27831 script/sh/parser.y.
27832 (pkglib_MODULES): Add normal.mod and sh.mod.
27833 (normal_SOURCES): New variable.
27834 (normal_mod_CFLAGS): Likewise.
27835 (normal_mod_LDFLAGS): Likewise.
27836 (sh_mod_SOURCES): Likewise.
27837 (sh_mod_CFLAGS): Likewise.
27838 (sh_mod_LDFLAGS): Likewise.
27839
27840 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
27841 script/sh/lexer.c_DEPENDENCIES.
27842 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
27843 kern/rescue_reader.c and kern/rescue_parser.c.
27844 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
27845 (grub_emu_SOURCES): Change source files.
27846 (pkglib_MODULES): Remove normal.mod.
27847 (normal_SOURCES): Removed.
27848 (normal_mod_CFLAGS): Likewise.
27849 (normal_mod_LDFLAGS): Likewise.
27850 * conf/i386-coreboot.rmk: Likewise.
27851 * conf/i386-efi.rmk: Likewise.
27852 * conf/i386-ieee1276.rmk: Likewise.
27853 * conf/powerpc-ieee1275.rmk: Likewise.
27854 * conf/sparc64-ieee1275.rmk: Likewise.
27855 * conf/x86_64-efi.rmk: Likewise.
27856
27857 * include/grub/command.h (grub_command_execute): New inline function.
27858
27859 * include/grub/menu.h (grub_menu_entry): Removed commands field.
27860
27861 * include/grub/normal.h: Remove <grub/setjmp.h>.
27862 (grub_fs_module_list): Moved to normal/autofs.c.
27863 (grub_exit_env): Removed.
27864 (grub_command_execute): Likewise.
27865 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
27866 parameter script.
27867 (read_command_list): New function declaration.
27868 (read_fs_list): Likewise.
27869
27870 * include/parser.h: Include <grub/reader.h>.
27871 (grub_parser_split_cmdline): Change type of getline parameter.
27872 (grub_parser): New structure.
27873 (grub_parser_class): New variable.
27874 (grub_parser_execute): New function declaration.
27875 (grub_register_rescue_parser): Likewise.
27876 (grub_parser_register): New inline function.
27877 (grub_parser_unregister): Likewise.
27878 (grub_parser_get_current): Likewise.
27879 (grub_parser_set_current): Likewise.
27880
27881 * include/grub/reader.h: New file.
27882 * kern/reader.c: Likewise.
27883 * kern/rescue_parser.c: Likewise.
27884 * kern/rescue_reader.c: Likewise.
27885 * normal/autofs.c: Likewise.
27886 * normal/dyncmd.c: Likewise.
27887
27888 * include/grub/rescue.h: Removed.
27889 * normal/command.h: Likewise.
27890
27891 * include/grub/script.h: Moved to ...
27892 * include/grub/script_sh.h: ... Moved here.
27893 * normal/execute.c: Moved to ...
27894 * script/sh/execute.c: ... Moved here.
27895 * normal/function.c: Moved to ...
27896 * script/sh/function.c: ... Moved here.
27897 * normal/lexer.c: Moved to ...
27898 * script/sh/lexer.c: ... Moved here.
27899 * normal/parser.y: Moved to ...
27900 * script/sh/parser.y: ... Moved here.
27901 * normal/script.c: Moved to ...
27902 * script/sh/script.c: ... Moved here.
27903
27904 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
27905 <grub/reader.h>.
27906 (grub_exit_env): Removed.
27907 (fs_module_list): Moved to normal/autofs.c.
27908 (grub_file_getline): Don't handle comment here.
27909 (free_menu): Skip removed field entry->commands.
27910 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
27911 script parameter.
27912 (read_config_file): Removed nested parameter, change getline function.
27913 (grub_enter_normal_mode): Removed.
27914 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
27915 (read_command_list): Likewise.
27916 (autoload_fs_module): Moved to normal/autofs.c.
27917 (read_fs_list): Likewise.
27918 (reader_nested): New variable.
27919 (grub_normal_execute): Run parser.sh to switch to sh parser.
27920 (grub_cmd_rescue): Removed.
27921 (cmd_normal): Removed.
27922 (grub_cmd_normal): Unregister itself at the beginning. Don't register
27923 rescue command.
27924 (grub_cmdline_run): New function.
27925 (grub_normal_reader_init): Likewise.
27926 (grub_normal_read_line): Likewise.
27927 (grub_env_write_pager): Likewise.
27928 (cmdline): New variable.
27929 (grub_normal_reader): Likewise.
27930 (GRUB_MOD_INIT): Register normal reader and set as current, register
27931 pager hook, register normal command with grub_register_command_prio,
27932 so that it won't show up in command.lst.
27933 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
27934 grub_fs_autoload_hook.
27935
27936 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
27937 (grub_menu_execute_entry): Replace grub_script_execute with
27938 grub_parser_execute, change parameter to grub_command_execute.
27939
27940 * normal/menu_text.c: Remove <grub/script.h>.
27941
27942 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
27943 and <grub/parser.h>.
27944 (run): Change editor_getline to use new parser interface. Change
27945 parameter to grub_command_execute.
27946
27947 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
27948 <grub/reader.h> and <grub/parser.h>.
27949 (grub_load_normal_mode): Execute normal command.
27950 (grub_main): Call grub_register_core_commands,
27951 grub_register_rescue_parser and grub_register_rescue_reader, use
27952 grub_reader_loop to enter input loop.
27953
7dd4a573 27954 * kern/parser.c (grub_parser_split_cmdline): Change type of
27955 getline parameter.
d558e6b5 27956 (grub_parser_class): New variable.
27957 (grub_parser_execute): New function.
27958
27959 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
27960 * loader/multiboot2.c: Likewise.
27961 * loader/sparc64/ieee1275/linux.c: Likewise.
27962
27963 * util/grub-emu.c (read_command_list): New dummy function.
27964
18db813d 279652009-05-02 Robert Millan <rmh.grub@aybabtu.com>
27966
27967 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
27968 count to 16 for CCISS and IDA.
27969
6c67de15 279702009-05-02 Robert Millan <rmh.grub@aybabtu.com>
27971
27972 * normal/menu_text.c (grub_wait_after_message): Print a newline
27973 after waiting for user input.
27974
27975 * loader/i386/linux.c: Include `<grub/normal.h>'.
27976 (grub_cmd_linux): Improve the error message about `ask' mode, by
27977 waiting for user input so it's not missed (we can do this, since
27978 user requested interaction).
27979
d9dc87b0 279802009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27981
27982 Added missing lst to grub-mkrescue
27983
27984 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
27985 and ${input_dir}/parttool.lst
27986
ac8a2baa 279872009-04-30 David S. Miller <davem@davemloft.net>
27988
ad22a610 27989 * util/hostdisk.c (device_is_wholedisk): New function.
27990 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
27991 zero only if device_is_wholedisk() returns true.
27992
6966215d 27993 * util/hostdisk.c (convert_system_partition_to_system_disk):
27994 Handle virtual disk devices named /dev/vdiskX as found on sparc
27995 and powerpc.
27996
ac8a2baa 27997 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
27998 lettered partition specifier is found, convert to numbered.
27999
979b4fb4 280002009-04-29 David S. Miller <davem@davemloft.net>
28001
e2bf39b2 28002 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28003 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28004
3c64e104 28005 * normal/command.c: Add missing newline at end of file.
28006
979b4fb4 28007 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28008 warnings.
28009 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28010 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28011 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28012 ihandles have a 32-bit type but need to be stored in a "void *".
28013
136d9f82 280142009-04-28 Pavel Roskin <proski@gnu.org>
28015
9459c306 28016 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28017 not disk. Adjust all dependencies.
2e08a26a 28018 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 28019 grub_disk_close().
28020
136d9f82 28021 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28022 parent's partition, don't copy it by reference, as it gets freed
28023 on close.
28024
7dd4a573 280252009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 28026
28027 Preboot hooks support
28028
28029 * commands/boot.c (struct grub_preboot_t): new declaration
28030 (preboots_head): new variable
28031 (preboots_tail): likewise
28032 (grub_loader_register_preboot_hook): new function
28033 (grub_loader_unregister_preboot_hook): likewise
28034 (grub_loader_set): launch preboot hooks
28035 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28036 (grub_loader_register_preboot_hook): new declaration
28037 (grub_loader_unregister_preboot_hook): likewise
28038
5af922b5 280392009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28040
28041 Warning fix
28042
7dd4a573 28043 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 28044 calling grub_dprintf
28045
a5562c30 280462009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28047
28048 Bug and warning fixes
28049
7dd4a573 28050 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 28051 declaration
28052 * commands/test.c (test_parse): fixed bug with file tests and corrected
28053 declaration of find_file
28054
4006f85c 280552009-04-26 Pavel Roskin <proski@gnu.org>
28056
28057 * Makefile.in: Don't install empty manual pages if help2man is
28058 missing. Use help2man option for output, not shell redirection.
28059
5c77c3de 280602009-04-26 David S. Miller <davem@davemloft.net>
28061
28062 * util/grub-mkdevicemap.c (make_device_map): Add missing
28063 NESTED_FUNC_ATTR to process_device().
28064
033b10a8 280652009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28066
28067 Test command
28068
28069 * commands/test.c: rewritten to use bash-like test
28070
e4343593 280712009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28072
28073 Parttool autoloading and improvements
28074
7dd4a573 28075 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 28076 (parttool.lst): new target
28077 * genmk.rb: generate parttool-*
28078 (CLEANFILES): add #{parttool}
28079 (PARTTOOLFILES): new variable
28080 * genparttoollist.sh: new file
7dd4a573 28081 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 28082 (grub_pcpart_type): likewise
28083 * commands/parttool.c (helpmsg): new variable
28084 (grub_cmd_parttool): output help if not enough arguments are supplied
28085 autoload modules
28086 (GRUB_MOD_INIT(parttool)): use helpmsg
28087
0d312500 280882009-04-24 David S. Miller <davem@davemloft.net>
28089
7dd4a573 28090 Avoiding opening same device multiple times in device iterator.
0d312500 28091
28092 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 28093 and use it to build a list of partitions in iterate_disk() and
0d312500 28094 iterate_partition().
28095
ac20caff 28096 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
28097 on disk->data.
28098
0dcf7495 28099 * disk/ieee1275/nand.c (grub_nand_iterate): Return
28100 grub_devalias_iterate() result instead of unconditional 0.
28101 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
28102 Also, capture hook return value, either directly or via
28103 grub_children_iterate(), and propagate to caller.
28104 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
28105 grub_children_iterate): Return value is now 'int' instead of
28106 'grub_err_t'.
28107 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
28108 like a proper iterator, stopping when hooks return non-zero.
28109 (grub_devalias_iterate): Likewise.
28110
c8c08833 281112009-04-23 David S. Miller <davem@davemloft.net>
28112
28113 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
28114
f01005a8 281152009-04-22 David S. Miller <davem@davemloft.net>
28116
28117 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
28118 is larger than address_cells, use that value for address_cells too.
28119
4e8269da 28120 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
28121 IEEE1275_MAX_PATH_LEN): Define.
28122 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
28123 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
28124 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
28125 'devtype'. Explicitly NULL terminate devalias expansion.
28126
a1447506 28127 * util/sparc64/ieee1275/misc.c: New file.
28128 * util/sparc64/ieee1275/grub-setup.c: New file.
28129 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
28130 * util/sparc64/ieee1275/grub-mkimage.c: New file.
28131 * util/sparc64/ieee1275/grub-install.in: New file.
28132 * util/ieee1275/ofpath.c: New file.
28133 * util/ieee1275/devicemap.c: New file.
28134 * util/devicemap.c: New file.
28135 * util/deviceiter.c: New file.
28136 * kern/sparc64/ieee1275/init.c: New file.
28137 * include/grub/util/ofpath.h: New file.
28138 * include/grub/util/deviceiter.h: New file.
28139 * util/grub-mkdevicemap.c: Include deviceiter.h.
28140 Implement using grub_util_emit_devicemap_entry and
28141 grub_util_iterate_devices.
28142 * conf/i386-corebook.rmk: Build util/deviceiter.c and
28143 util/devicemap.c into grub-mkdevicemap
28144 * conf/i386-efi.rmk: Likewise.
28145 * conf/i386-ieee1275.rmk: Likewise.
28146 * conf/i386-pc.rmk: Likewise.
28147 * conf/powerpc-ieee1275.rmk: Likewise.
28148 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
28149 images and installation utilities. Build kernel as image
28150 instead of as elf binary. Use common rules as much as possible.
28151
7dd4a573 281522009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 28153
28154 Correct GPT definition
28155
7dd4a573 28156 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 28157 of "attrib" member
28158
c6c5219f 281592009-04-19 Felix Zielcke <fzielcke@z-51.de>
28160
28161 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
28162
0552ff9f 281632009-04-19 David S. Miller <davem@davemloft.net>
28164
28165 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
28166 (grub_rescue_cmd_linux): Rename to...
28167 (grub_cmd_linux): and fix prototype.
28168 (grub_rescue_cmd_initrd): Rename to...
28169 (grub_cmd_initrd): and fix prototype.
28170 (cmd_linux, cmd_initrd): New.
28171 (GRUB_MOD_INIT(linux)): Use grub_register_command().
28172 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
28173
d1a282fc 281742009-04-17 Pavel Roskin <proski@gnu.org>
28175
07c5039f 28176 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
28177 format.
28178 (grub_ohci_transfer): Likewise.
28179
b012002d 28180 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
28181
1bc09c35 28182 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
28183 return without a value. Fix inconsistent indentation.
28184
e0ff9126 28185 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
28186 match struct grub_fs.
28187
d1a282fc 28188 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
28189 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
28190 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28191 * commands/lspci.c (grub_lspci_iter): Likewise.
28192
a96df3f2 281932009-04-16 Bean <bean123ch@gmail.com>
28194
28195 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
28196 value.
28197
41bb0fe9 281982009-04-15 Pavel Roskin <proski@gnu.org>
28199
28200 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
28201 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
28202 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
28203 definitions.
28204
596c6970 282052009-04-15 Felix Zielcke <fzielcke@z-51.de>
28206
28207 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 28208 that no multiple data or metadata areas are supported and `Unknown
596c6970 28209 metadata header'.
28210
7dd4a573 282112009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 28212
28213 Move loader out of the kernel
28214
28215 * kern/loader.c: moved to ...
28216 * commands/boot.c: ... moved here
28217 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
28218 * commands/boot.c (grub_cmd_boot): moved here. All users updated
28219 * include/grub/kernel.h (grub_machine_fini): export
28220 * include/grub/loader.h (grub_loader_is_loaded): update declaration
28221 (grub_loader_set): likewise
28222 (grub_loader_unset): likewise
28223 (grub_loader_boot): likewise
28224 * conf/common.rmk: new module boot.mod
28225 (pkglib_MODULES): add boot.mod
28226 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
28227 (grub_emu_SOURCES): likewise
28228 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
28229 (grub_emu_SOURCES): likewise
28230 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
28231 (grub_emu_SOURCES): likewise
28232 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
28233 (grub_emu_SOURCES): likewise
28234 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
28235 (grub_emu_SOURCES): likewise
7dd4a573 28236 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
28237 (grub_emu_SOURCES): likewise
0d5d5653 28238 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 28239 (grub_emu_SOURCES): likewise
0d5d5653 28240
7dd4a573 282412009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 28242
28243 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 28244
5999d619 28245 * kern/misc.c (grub_itoa): Removed function
28246 (grub_ltoa): likewise
28247 (grub_vsprintf): use grub_lltoa
28248
7dd4a573 282492009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 28250
28251 Restore grub-emu
28252
28253 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
28254 * conf/i386-coreboot.rmk: likewise
28255 * conf/i386-ieee1275.rmk: likewise
28256 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28257
20318222 282582009-04-15 Felix Zielcke <fzielcke@z-51.de>
28259
28260 * INSTALL: Add that `./autogen.sh' needs to be run before
28261 `./configure.'.
28262
d05f0df3 282632009-04-14 Bean <bean123ch@gmail.com>
28264
28265 * Makefile.in (pkglib_DATA): Add handler.lst.
28266 (handler.lst): New rule.
28267
28268 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
28269 * conf/i386-coreboot.rmk: Likewise.
28270 * conf/i386-ieee1275.rmk: Likewise.
28271 * conf/i386-efi.rmk: Likewise.
28272 * conf/x86_64-efi.rmk: Likewise.
28273 * conf/powerpc-ieee1275.rmk: Likewise.
28274 * conf/sparc64-ieee1275.rmk: Likewise.
28275
28276 * genhandlerlist.sh: New file.
28277
28278 * genmk.rb: Add rules to generate handler.lst.
28279
28280 * include/grub/normal.h (grub_file_getline): New function definition.
28281 (read_handler_list): Likewise.
28282 (free_handler_list): Likewise.
28283
28284 * include/grub/term.h (grub_term_register_input): Add name parameter
28285 for auto generation of handler.lst.
28286 (grub_term_register_output): Likewise.
28287
28288 * normal/handler.c: New file.
28289
28290 * normal/main.c (get_line): Renamed to grub_file_getline.
28291 (read_config_file): Use the newly renamed grub_file_getline.
28292 (read_command_list): Likewise.
28293 (read_fs_list): Likewise.
28294 (grub_normal_execute): Call read_handler_list to parse handler.lst.
28295 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
28296
28297 * term/efi/console.c (grub_console_init): Add name parameter for auto
28298 generation of handler.lst.
28299 * term/gfxterm.c: Likewise.
28300 * term/i386/pc/at_keyboard.c: Likewise.
28301 * term/i386/pc/console.c: Likewise.
28302 * term/i386/pc/serial.c: Likewise.
28303 * term/i386/pc/vesafb.c: Likewise.
28304 * term/i386/pc/vga.c: Likewise.
28305 * term/i386/pc/vga_text.c: Likewise.
28306 * term/ieee1275/ofconsole.c: Likewise.
28307 * term/usb_keyboard.c: Likewise.
28308
33c846be 283092009-04-14 Bean <bean123ch@gmail.com>
28310
28311 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
28312 properly with null character.
28313
4484e01e 283142009-04-14 Felix Zielcke <fzielcke@z-51.de>
28315
28316 * configure: Remove.
28317 * config.h.in: Likewise.
f93d668e 28318 * stamp-h.in: Likewise.
4484e01e 28319 * DISTLIST: Likewise.
28320 * conf/common.mk: Likewise.
28321 * conf/i386-coreboot.mk: Likewise.
28322 * conf/i386-efi.mk: Likewise.
28323 * conf/i386-ieee1275.mk: Likewise.
28324 * conf/i386.mk: Likewise.
28325 * conf/i386-pc.mk: Likewise.
28326 * conf/powerpc-ieee1275.mk: Likewise.
28327 * conf/sparc64-ieee1275.mk: Likewise.
28328 * conf/x86_64-efi.mk: Likewise.
28329
28330 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
28331 develop on GRUB.
28332
7dd4a573 283332009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 28334 David S. Miller <davem@davemloft.net>
28335
28336 * util/hostdisk.c (make_device_name): Fix buffer length
28337 calculations.
28338
e25b5a8c 283392009-04-14 Felix Zielcke <fzielcke@z-51.de>
28340
28341 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
28342 <sys/param.h> and <sys/sysctl.h>.
28343 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
28344 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
28345 opening the device and reset them afterwards.
28346
1f1f580c 283472009-04-13 Pavel Roskin <proski@gnu.org>
28348
28349 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
28350 Reported by John Stanley <jpsinthemix@verizon.net>
28351
7ebc2d6b 283522009-04-13 Robert Millan <rmh@aybabtu.com>
28353
28354 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 28355 that name for menuentries when appropriate.
7ebc2d6b 28356
d8ba3667 283572009-04-13 Felix Zielcke <fzielcke@z-51.de>
28358
28359 * util/grub.d/10_freebsd.in: Add a missing `fi'.
28360
cba416eb 283612009-04-13 Robert Millan <rmh@aybabtu.com>
28362
28363 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
28364 to Linux, simply abort telling the user it's no longer supported.
28365
a547a745 283662009-04-13 Felix Zielcke <fzielcke@z-51.de>
28367
28368 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 28369 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 28370 `freebsd_loadenv' only when devices.hints exist.
28371
232a769c 283722009-04-13 Pavel Roskin <proski@gnu.org>
28373
28374 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
28375
c3012039 283762009-04-13 Felix Zielcke <fzielcke@z-51.de>
28377
28378 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
28379 partition number.
28380 (grub_drive): Likewise.
28381
234022fe 283822009-04-13 David S. Miller <davem@davemloft.net>
28383
28384 * kern/sparc64/ieee1275/ieee1275.c: New file.
28385 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
28386 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
28387 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
28388 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
28389 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
28390 grub_ieee1275_alloc_physmem): Declare new exported functions.
28391
d8e1836c 28392 * include/grub/sparc64/ieee1275/loader.h: New file.
28393 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28394 * include/grub/sparc64/kernel.h: Likewise.
28395 * loader/sparc64/ieee1275/linux.c: Likewise.
28396
96bd81ec 28397 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
28398 (grub_fstest_SOURCES): Likewise.
28399
6a4737e5 28400 * util/hostdisk.c (make_device_name): Do not make any assumptions
28401 about the length of drive names.
28402
1d7a72fd 28403 * kern/dl.c (grub_dl_load_file): Close file immediately when
28404 we are done using it.
28405
56bc2471 284062009-04-12 David S. Miller <davem@davemloft.net>
28407
28408 * kern/misc.c (grub_ltoa): Fix cast when handling negative
28409 values. Noticed by Pavel Roskin.
28410
df38d0bb 28411 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
28412 target compiler.
7dd4a573 28413
e382e93a 28414 * genmk.rb: Add more flexible image type specification, also
28415 pass --strip-unneeded to objcopy.
28416 * conf/i386-pc.rmk: Use *_FORMAT.
28417 * conf/i386-pc.mk: Rebuilt.
28418
f5dbbca9 28419 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
28420 (OFDISK_HASH_SZ): Define.
28421 (ofdisk_hash): New hash table.
28422 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
28423 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
28424 instead of device phandle which is not unique.
28425
91c88b12 28426 * kern/sparc64/ieee1275/init.c: Delete, replace with...
28427 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
28428 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
28429 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
28430 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
28431 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
28432 GRUB_KERNEL_MACHINE_DATA_END): Define.
28433 (grub_kernel_image_size, grub_total_module_size): Declare.
28434
5b5d4aa5 284352009-04-12 Pavel Roskin <proski@gnu.org>
28436
7dd4a573 28437 * configure.ac: Change the logic when we check for target tools.
28438 Do it when the target is specified and it's different from the
28439 specified value of the host.
5b5d4aa5 28440
c91e1793 284412009-04-11 Felix Zielcke <fzielcke@z-51.de>
28442
28443 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
28444 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
28445 GNU/kFreeBSD. Check if a device is a character device. Use
28446 DIOCGMEDIASIZE to get the size.
28447 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
28448 support for GNU/kFreeBSD.
28449 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
28450 is a character device instead of a block device. Add support for
28451 FreeBSD device names.
28452
28453 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
28454 is a character device instead of a block device.
28455
28456 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
28457 is a character device instead of a block device.
28458
b1ac8644 284592009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
28460
28461 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
28462 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
28463 FreeBSD. Check if a device is a character device. Use
28464 DIOCGMEDIASIZE to get the size.
28465 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
28466 support for FreeBSD.
28467 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
28468 is a character device instead of a block device. Add support for
28469 FreeBSD device names.
28470
28471 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
28472 a character device instead of a block device.
28473 (grub_util_check_char_device): New function.
28474
28475 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
28476 a character device instead of a block device.
28477
28478 * include/grub/util/getroot.h (grub_util_check_char_device): New
28479 prototype.
28480
a3f7515a 284812009-04-11 David S. Miller <davem@davemloft.net>
28482
28483 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
28484 static libgcc.
28485 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
28486 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
28487 function, if present.
28488 (__bswapdi2): Likewise.
28489
0d44993d 28490 * include/grub/sparc64/ieee1275/boot.h: New file.
28491 * boot/sparc64/ieee1275/boot.S: Likewise.
28492 * boot/sparc64/ieee1275/diskboot.S: Likewise.
28493
ed3d2bc2 28494 * kern/misc.c (grub_ltoa): New function.
28495 (grub_vsprintf): Use it to format 'long' integers.
28496
d3bfb59c 284972009-04-10 David S. Miller <davem@davemloft.net>
28498
28499 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
28500 slots are of type grub_ieee1275_cell_t.
28501 (grub_nand_read): Likewise.
28502 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
28503 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
28504 macros are used to compare values in arg/ret block of the call.
28505 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28506 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
28507 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
28508 grub_ieee1275_instance_to_path, grub_ieee1275_write,
28509 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
28510 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
28511 grub_ieee1275_close, grub_ieee1275_set_property,
28512 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
28513 grub_ieee1275_cell_t.
28514 * kern/ieee1275/openfw.c (grub_map): Likewise.
28515 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
28516 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
28517
450e2238 28518 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
28519 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
28520 (grub_devalias_iterate): Likewise.
28521
7dd4a573 285222009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 28523
28524 UFS improvements
28525
28526 * fs/ufs.c (INODE_NBLOCKS): new definition
28527 (struct grub_ufs_dirent): added fields for non-BSD dirents
28528 (grub_ufs_get_file_block): fixed double indirect handling
28529 (grub_ufs_lookup_symlink): use more robust way to determine whether
28530 symlink is inline
28531 (grub_ufs_find_file): support for non-BSD dirents
28532 (grub_ufs_dir): support for non-BSD dirents
28533
e7e6862a 285342009-04-10 Bean <bean123ch@gnail.com>
28535
28536 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
28537 attribute, otherwise the size would be wrong for i386 platform.
28538
28539 * include/grub/pci.h (grub_pci_read_word): New inline function.
28540 (grub_pci_read_byte): Likewise.
28541 (grub_pci_write): Likewise.
28542 (grub_pci_write_word): Likewise.
28543 (grub_pci_write_byte): Likewise.
28544
28545 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
28546
28547 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
28548 (find_framebuf): Scan pci to locate the frame buffer address.
28549
28550 * commands/efi/fixvideo.c: New file.
28551
28552 * commands/efi/loadbios.c: Likewise.
28553
28554 * commands/memrw.c: Likewise.
28555
28556 * util/grub-dumpbios.in: Likewise.
28557
28558 * conf/common.rmk (grub-dumpbios): New utility.
28559 (pkglib_MODULES): New module memrw.mod.
28560 (memrw_mod_SOURCE): New macro.
28561 (memrw_mod_CFLAGS): Likewise.
28562 (memrw_mod_LDFLAGS): Likewise.
28563
7dd4a573 28564 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28565 fixvideo.mod.
28566 (loadbios_mod_SOURCE): New macro.
28567 (loadbios_mod_CFLAGS): Likewise.
28568 (loadbios_mod_LDFLAGS): Likewise.
28569 (fixvideo_mod_SOURCE): Likewise.
28570 (fixvideo_mod_CFLAGS): Likewise.
28571 (fixvideo_mod_LDFLAGS): Likewise.
28572
7dd4a573 28573 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28574 fixvideo.mod.
28575 (loadbios_mod_SOURCE): New macro.
28576 (loadbios_mod_CFLAGS): Likewise.
28577 (loadbios_mod_LDFLAGS): Likewise.
28578 (fixvideo_mod_SOURCE): Likewise.
28579 (fixvideo_mod_CFLAGS): Likewise.
28580 (fixvideo_mod_LDFLAGS): Likewise.
28581
af63ada2 285822009-04-08 Felix Zielcke <fzielcke@z-51.de>
28583
28584 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
28585
c2cdde70 285862009-04-07 David S. Miller <davem@davemloft.net>
28587
28588 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
28589 support for R_SPARC_OLO10 relocations. Fix compile warning for
28590 R_SPARC_WDISP30 case.
ea3f72cf 28591 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 28592
761319cf 285932009-04-06 Pavel Roskin <proski@gnu.org>
28594
1007d1f5 28595 * include/grub/misc.h (ARRAY_SIZE): New macro.
28596 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
28597 New macro.
28598 * loader/i386/linux.c (allocate_pages): Use free_pages().
28599 (grub_linux_unload): Don't use free_pages().
28600 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
28601 wrong index. Treat all other modes as text modes.
28602 (grub_cmd_linux): Initialize vid_mode unconditionally to
28603 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
28604
761319cf 28605 * commands/help.c (print_command_help): Use cmd->prio, not
28606 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
28607
ea761d40 286082009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 28609
ea761d40 28610 Parttool
28611
28612 * parttool/pcpart.c: new file
28613 * commands/parttool.c: likewise
28614 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
28615 (parttool_mod_SOURCES): new variable
28616 (parttool_mod_CFLAGS): likewise
28617 (parttool_mod_LDFLAGS): likewise
28618 (pcpart_mod_SOURCES): likewise
28619 (pcpart_mod_CFLAGS): likewise
28620 (pcpart_mod_LDFLAGS): likewise
7dd4a573 28621 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 28622 and parttool/pcpart.c
28623 * conf/i386-efi.rmk: likewise
28624 * conf/i386-ieee1275.rmk: likewise
28625 * conf/i386-pc.rmk: likewise
28626 * conf/powerpc-ieee1275.rmk: likewise
28627 * conf/sparc64-ieee1275.rmk: likewise
28628 * conf/x86_64-ieee1275.rmk: likewise
28629
05aaebfb 286302009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28631
28632 Support for mtime and further expandability of dir command
28633
28634 * include/grub/lib/datetime.h: moved to ...
7dd4a573 28635 * include/grub/datetime.h: ... moved here and added
05aaebfb 28636 declaration of grub_unixtime2datetime. All users updated
7dd4a573 28637 * include/grub/fs.h: new syntax for dir and mtime functions in
28638 struct grub_fs
05aaebfb 28639 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
28640 and GRUB_FSHELP_FLAGS_MASK
28641 * commands/ls.c (grub_ls_list_files): Write mtime in long format
28642 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
28643 (grub_ext2_mtime): new function
28644 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
28645 (grub_hfsplus_mtime): new function
28646 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
28647 (GRUB_UFS_ATTR_FILE): likewise
28648 (GRUB_UFS_ATTR_LNK): likewise
28649 (struct grub_ufs_sblock): new fields mtime
28650 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
28651 all users updated
28652 (grub_ufs_dir): mtime support
28653 (grub_ufs_mtime): new function
28654 * fs/affs.c (grub_affs_dir): use new dir syntax
28655 * fs/afs.c (grub_afs_dir): likewise
28656 * fs/cpio.c (grub_cpio_dir): likewise
28657 * fs/fat.c (grub_fat_find_dir): likewise
28658 * fs/hfs.c (grub_hfs_dir): likewise
28659 * fs/iso9660.c (grub_iso9660_dir): likewise
28660 * fs/jfs.c (grub_jfs_dir): likewise
28661 * fs/minix.c (grub_minix_dir): likewise
28662 * fs/ntfs.c (grub_ntfs_dir): likewise
28663 * fs/reiserfs.c (grub_reiserfs_dir): likewise
28664 * fs/sfs.c (grub_sfs_dir): likewise
28665 * fs/xfs.c (grub_xfs_dir): likewise
28666 * util/hostfs.c (grub_hostfs_dir): likewise
28667 * lib/datetime.c: moved to ...
28668 * normal/datetime.c: ... moved here
28669 (grub_unixtime2datetime): new function
28670 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 28671 * normal/completion.c (iterate_dir): use new dir syntax
28672 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 28673 last modification time of a volume
7dd4a573 28674 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 28675 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 28676 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 28677 (normal_mod_SOURCES): likewise
28678 (datetime_mod_SOURCES): Removed lib/datetime.c
28679 * conf/i386-efi.rmk: likewise
7dd4a573 28680 * conf/i386-ieee1275.rmk: likewise
05aaebfb 28681 * conf/i386-pc.rmk: likewise
28682 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28683 * conf/sparc64-ieee1275.rmk: likewise
28684 * conf/x86_64-efi.rmk: likewise
05aaebfb 28685
8a7e1a14 286862009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28687
28688 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 28689
28690 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 28691 on grub_fat_find_dir
28692 (grub_fat_find_dir): use grub_fat_iterate_dir
28693 (grub_fat_label): likewise
28694
04186a9c 286952009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28696
7dd4a573 28697 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 28698 and command.h
28699 remove extraneous kernel_elf_HEADERS
28700
da4c0bb6 287012009-04-04 Bean <bean123ch@gnail.com>
28702
28703 * include/grub/util/misc.h: Add dummy function fsync for mingw.
28704
28705 * util/misc.c: Likewise.
28706
54ad9555 287072009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28708
28709 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
28710 instead of grub_printf.
28711
7a6bf9f2 287122009-04-03 Robert Millan <rmh@aybabtu.com>
28713
28714 * loader/i386/linux.c (grub_linux_setup_video): Fill
28715 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
28716 values from `mode info' structure instead of hardcoded
28717 values.
28718
3fcc2083 287192009-04-01 Pavel Roskin <proski@gnu.org>
28720
28721 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
28722 unused now.
28723 * genmk.rb: Likewise.
28724 * configure.ac: Likewise.
28725
5ec9740b 287262009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
28727
28728 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
28729 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
28730
5270cec8 287312009-04-01 David S. Miller <davem@davemloft.net>
28732
28733 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 28734 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 28735 (grub_setjmp): Mark with 'returns_twice' attribute.
28736 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
28737 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
28738 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
28739
9c3dd854 287402009-04-01 Robert Millan <rmh@aybabtu.com>
28741
28742 Reapply fix from 2008-07-28 which was accidentally reverted; also
28743 perform the same fix to a similar check in same function.
28744
28745 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28746 with the same number are found, just use issue a warning with
28747 grub_dprintf(), as this error has been reported to be non-fatal.
28748
0d818b7e 287492009-03-31 Pavel Roskin <proski@gnu.org>
28750
28751 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
28752 for cross-compilation.
28753
95646d92 287542009-03-30 Robert Millan <rmh@aybabtu.com>
28755
28756 Fix i386-ieee1275 build.
28757
28758 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
28759 Remove declaration.
28760
6a003ed1 287612009-03-30 Pavel Roskin <proski@gnu.org>
28762
28763 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
28764 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
28765 zero-terminated, rely only on the strlen value. Fix comparison
28766 of strings differing in length.
28767
92f33540 287682009-03-30 Robert Millan <rmh@aybabtu.com>
28769
28770 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
28771 checking for abi version. Improve error messages on BIOS to notify
28772 user about `linux16' command.
28773
a8c48fd5 287742009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
28775
f968172e 28776 Leak fixes
a8c48fd5 28777
f968172e 28778 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
28779 in case of collision
28780 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 28781
9c323f09 287822009-03-29 Robert Millan <rmh@aybabtu.com>
28783
28784 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
28785 set `vid_mode' accordingly.
28786 (grub_linux_boot): Process `vid_mode' and set video mode.
28787
ae68f423 287882009-03-29 Robert Millan <rmh@aybabtu.com>
28789
28790 * util/grub.d/10_linux.in (linux_entry): New function.
28791 Factorize generation of Linux boot entries.
28792
5709cfc4 287932009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
28794
28795 Make the format of Environment Block plain text. The boot loader
28796 part is not tested well yet.
7dd4a573 28797
5709cfc4 28798 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
28799 (buffer): Removed.
28800 (envblk): Likewise.
28801 (usage): Remove "info" and "clear". Add "unset". Update the
28802 description of "set", as this does not delete variables any
28803 longer.
28804 (create_envblk_file): Complete rewrite.
28805 (open_envblk_file): Likewise.
28806 (cmd_info): Removed.
28807 (cmd_list): Likewise.
28808 (cmd_set): Likewise.
28809 (cmd_clear): Likewise.
28810 (list_variables): New function.
28811 (write_envblk): Likewise.
28812 (set_variables): Likewise.
28813 (unset_variables): Likewise.
28814 (main): Complete rewrite.
28815
28816 * commands/loadenv.c (buffer): Removed.
28817 (envblk): Likewise.
28818 (open_envblk_file): New function.
28819 (read_envblk_file): Complete rewrite.
28820 (grub_cmd_load_env): Likewise.
28821 (grub_cmd_list_env): Likewise.
28822 (struct blocklist): New struct.
28823 (free_blocklists): New function.
28824 (check_blocklists): Likewise.
28825 (write_blocklists): Likewise.
28826 (grub_cmd_save_env): Complete rewrite.
28827
28828 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
28829 a plain text signature.
28830 (GRUB_ENVBLK_MAXLEN): Removed.
28831 (struct grub_envblk): Complete rewrite.
28832 (grub_envblk_find): Removed.
28833 (grub_envblk_insert): Likewise.
28834 (grub_envblk_open): New prototype.
28835 (grub_envblk_set): Likewise.
28836 (grub_envblk_delete): Put const to VALUE.
28837 (grub_envblk_iterate): Put const to NAME and VALUE.
28838 (grub_envblk_close): New prototype.
28839 (grub_envblk_buffer): New inline function.
28840 (grub_envblk_size): Likewise.
28841
28842 * lib/envblk.c: Include grub/mm.h.
28843 (grub_env_find): Removed.
28844 (grub_envblk_open): New function.
28845 (grub_envblk_close): Likewise.
28846 (escaped_value_len): Likewise.
28847 (find_next_line): Likewise.
28848 (grub_envblk_insert): Removed.
28849 (grub_envblk_set): New function.
28850 (grub_envblk_delete): Complete rewrite.
28851 (grub_envblk_iterate): Likewise.
28852
a9368fd3 288532009-03-28 Robert Millan <rmh@aybabtu.com>
28854
28855 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
28856 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
28857 variables. Use 16-bit loader.
28858 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
28859 loader.
28860 * kern/i386/loader.S (grub_linux_boot): Rename to ...
28861 (grub_linux16_boot): ... this. Update all users.
28862 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
28863 (grub_linux_boot): ... this. Update all users.
28864
28865 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
28866 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
28867 commands to `linux16' and `initrd16'.
28868 (GRUB_MOD_FINI(linux)): Rename to ...
28869 (GRUB_MOD_FINI(linux16)): ... this.
28870
e4dd5a7e 288712009-03-24 Pavel Roskin <proski@gnu.org>
28872
28873 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
28874 not just for compilation.
28875
c04d6e05 288762009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
28877
28878 Move multiboot helper out of kernel
28879
28880 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
28881 `loader/i386/multiboot_helper.S'.
28882 * conf/i386-coreboot.rmk: Likewise
28883 * conf/i386-ieee1275.rmk: Likewise
28884
28885 * kern/i386/loader.S: Move multiboot helpers from here...
28886 * loader/i386/multiboot_helper.S: ...moved here
28887 * include/grub/i386/loader.h: Move declarations of multiboot
28888 helpers from here...
28889 * include/grub/i386/multiboot.h: ...moved here
28890 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
28891
42a5b3fc 288922009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28893
28894 * kern/env.c (grub_env_context_open): Added an argument to specify
28895 whether a new context inherits exported variables from current
28896 one. This is useful when making a sandbox to interpret a config
28897 file.
28898 All callers updated.
28899
28900 * include/grub/env.h (grub_env_context_open): Updated the prototype.
28901
b28bbc4e 289022009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28903
28904 * kern/env.c (grub_env_context_close): Fix memory leaks.
28905
f04f02e4 289062009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28907
28908 * normal/main.c (grub_normal_execute): Added an argument
28909 BATCH to specify if an interactive interface should be provided
28910 after reading a config file.
28911 All callers updated.
28912 (read_command_list): Prevent being executed twice.
28913 (read_fs_list): Likewise.
28914
42a5b3fc 28915 * include/grub/normal.h (grub_normal_execute): Updated the
28916 prototype.
f04f02e4 28917
41473ac2 289182009-03-22 Pavel Roskin <proski@gno.org>
28919
fbc00b0c 28920 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
28921 _start.
28922 * kern/i386/pc/startup.S: Likewise.
28923 * kern/i386/efi/startup.S: Likewise.
28924 * kern/i386/ieee1275/startup.S: Likewise.
28925 * kern/i386/coreboot/startup.S: Likewise.
28926 * kern/x86_64/efi/startup.S: Likewise.
28927
41473ac2 28928 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
28929 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
28930 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
28931
2274cc8f 289322009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
28933
28934 Bugfixes in multiboot for bugs uncovered by solaris kernel.
28935
28936 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
28937 limit detection.
28938 Use vaddr of correct segment for entry_point.
28939
b1b797cb 289402009-03-21 Bean <bean123ch@gmail.com>
28941
28942 * commands/blocklist.c: Add include file <grub/command.h>, remove
28943 <grub/normal.h> and <grub/arg.h>.
28944 (grub_cmd_blocklist): Use the new command interface.
28945 (GRUB_MOD_INIT): Likewise.
28946 (GRUB_MOD_FINI): Likewise.
28947 * commands/boot.c: Likewise.
28948 * commands/cat.c: Likewise.
28949 * commands/cmp.c: Likewise.
28950 * commands/configfile.c: Likewise.
28951 * commands/crc.c: Likewise.
28952 * commands/echo.c: Likewise.
28953 * commands/halt.c: Likewise.
28954 * commands/handler.c: Likewise.
28955 * commands/hdparm.c: Likewise.
28956 * commands/help.c: Likewise.
28957 * commands/hexdump.c: Likewise.
28958 * commands/loadenv.c: Likewise.
28959 * commands/ls.c: Likewise.
28960 * commands/lsmmap.c: Likewise.
28961 * commands/lspci.c: Likewise.
28962 * commands/loadenv.c: Likewise.
28963 * commands/read.c: Likewise.
28964 * commands/reboot.c: Likewise.
28965 * commands/search.c: Likewise.
28966 * commands/sleep.c: Likewise.
28967 * commands/test.c: Likewise.
28968 * commands/usbtest.c: Likewise.
28969 * commands/videotest.c: Likewise.
28970 * commands/i386/cpuid.c: Likewise.
28971 * commands/i386/pc/halt.c: Likewise.
28972 * commands/i386/pc/play.c: Likewise.
28973 * commands/i386/pc/pxecmd.c: Likewise.
28974 * commands/i386/pc/vbeinfo.c: Likewise.
28975 * commands/i386/pc/vbetest.c: Likewise.
28976 * commands/ieee1275/suspend.c: Likewise.
28977 * disk/loopback.c: Likewise.
28978 * font/font_cmd.c: Likewise.
28979 * hello/hello.c: Likewise.
28980 * loader/efi/appleloader.c: Likewise.
28981 * loader/efi/chainloader.c: Likewise.
28982 * loader/i386/bsd.c: Likewise.
28983 * loader/i386/efi/linux.c: Likewise.
28984 * loader/i386/ieee1275/linux.c: Likewise.
28985 * loader/i386/linux.c: Likewise.
28986 * loader/i386/pc/chainloader.c: Likewise.
28987 * loader/i386/pc/linux.c: Likewise.
28988 * loader/powerpc/ieee1275/linux.c: Likewise.
28989 * loader/multiboot_loader.c: Likewise.
28990 * term/gfxterm.c: Likewise.
28991 * term/i386/pc/serial.c: Likewise.
28992 * term/terminfo.c: Likewise.
28993
28994 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
28995 * term/i386/pc/vga.c: Likewise.
28996 * video/readers/jpeg.c: Likewise.
28997 * video/readers/png.c: Likewise.
28998 * video/readers/tga.c: Likewise.
28999
29000 * util/grub-fstest (cmd_loopback): Removed.
29001 (cmd_blocklist): Likewise.
29002 (cmd_ls): Likewise.
29003 (grub_register_command): Likewise.
29004 (grub_unregister_command): Likewise.
29005 (execute_command): Use grub_command_find to locate command and execute
29006 it.
29007
29008 * include/grub/efi/chainloader.h: Removed.
29009 * loader/efi/chainloader_normal.c: Likewise.
29010 * loader/i386/bsd_normal.c: Likewise.
29011 * loader/i386/pc/chainloader_normal.c: Likewise.
29012 * loader/i386/pc/multiboot_normal.c: Likewise.
29013 * loader/linux_normal.c: Likewise.
29014 * loader/multiboot_loader_normal.c: Likewise.
29015 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29016
29017 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29018 and grub_register_command_p1.
29019
29020 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29021 kern/command.c, lib/arg.c and commands/extcmd.c.
29022 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29023 (minicmd_mod_SOURCES): New variable.
29024 (minicmd_mod_CFLAGS): Likewise.
29025 (minicmd_mod_LDFLAGS): Likewise.
29026 (extcmd_mod_SOURCES): Likewise.
29027 (extcmd_mod_CFLAGS): Likewise.
29028 (extcmd_mod_LDFLAGS): Likewise.
29029 (boot_mod_SOURCES): Removed.
29030 (boot_mod_CFLAGS): Likewise.
29031 (boot_mod_LDFLAGS): Likewise.
29032
29033 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29034 kern/corecmd.c.
29035 (kernel_img_HEADERS): Add command.h.
29036 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29037 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29038 and lib/arg.c.
29039 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29040 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29041 remove the corresponding normal mode command.
29042 (normal_mod_SOURCES): Remove normal/arg.c.
29043 * conf/i386-coreboot.rmk: Likewise.
29044 * conf/i386-efi.rmk: Likewise.
29045 * conf/i386-ieee1275.rmk: Likewise.
29046 * conf/powerpc-ieee1275.rmk: Likewise.
29047 * conf/x86_64-efi.rmk: Likewise.
29048
29049 * include/grub/arg.h: Move from here ...
29050 * include/grub/lib/arg.h: ... to here.
29051
29052 * normal/arg.c: Move from here ...
29053 * lib/arg.c: ... to here.
29054
29055 * commands/extcmd.c: New file.
29056 * commands/minicmd.c: Likewise.
29057 * include/grub/command.h: Likewise.
29058 * include/grub/extcmd.h: Likewise.
29059 * kern/command.c: Likewise.
29060 * kern/corecmd.c: Likewise.
29061
29062 * kern/list.c (grub_list_iterate): Return int instead of void.
29063 (grub_list_insert): New function.
29064 (grub_prio_list_insert): Likewise.
29065
29066 * kern/rescue.c (grub_rescue_command): Removed.
29067 (grub_rescue_command_list): Likewise.
29068 (grub_rescue_register_command): Likewise.
29069 (grub_rescue_unregister_command): Likewise.
29070 (grub_rescue_cmd_boot): Move to minicmd.c
29071 (grub_rescue_cmd_help): Likewise.
29072 (grub_rescue_cmd_info): Likewise.
29073 (grub_rescue_cmd_boot): Likewise.
29074 (grub_rescue_cmd_testload): Likewise.
29075 (grub_rescue_cmd_dump): Likewise.
29076 (grub_rescue_cmd_rmmod): Likewise.
29077 (grub_rescue_cmd_lsmod): Likewise.
29078 (grub_rescue_cmd_exit): Likewise.
29079 (grub_rescue_print_devices): Moved to corecmd.c.
29080 (grub_rescue_print_files): Likewise.
29081 (grub_rescue_cmd_ls): Likewise.
29082 (grub_rescue_cmd_insmod): Likewise.
29083 (grub_rescue_cmd_set): Likewise.
29084 (grub_rescue_cmd_unset): Likewise.
7d074e3c 29085 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 29086 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 29087 commands, remove grub_rescue_register_command calls.
b1b797cb 29088
7d074e3c 29089 * normal/command.c (grub_register_command): Removed.
b1b797cb 29090 (grub_unregister_command): Likewise.
29091 (grub_command_find): Likewise.
29092 (grub_iterate_commands): Likewise.
29093 (rescue_command): Likewise.
29094 (export_command): Moved to corecmd.c.
29095 (set_command): Removed.
29096 (unset_command): Likewise.
29097 (insmod_command): Likewise.
29098 (rmmod_command): Likewise.
29099 (lsmod_command): Likewise.
29100 (grub_command_init): Likewise.
29101
29102 * normal/completion.c (iterate_command): Use cmd->prio to check for
29103 active command.
29104 (complete_arguments): Use grub_extcmd_t structure to find options.
29105 (grub_normal_do_completion): Change function grub_iterate_commands to
29106 grub_command_iterate.
29107
29108 * normal/execute.c (grub_script_execute_cmd): No need to parse
29109 argument here.
29110
29111 * normal/main.c (grub_dyncmd_dispatcher): New function.
29112 (read_command_list): Register unload commands as dyncmd.
29113 (grub_cmd_normal): Use new command interface, register rescue,
29114 unregister normal at entry, register normal, unregister rescue at exit.
29115
29116 * include/grub/list.h (grub_list_test_t): New type.
29117 (grub_list_iterate): Return int instead of void.
29118 (grub_list_insert): New function.
29119 (GRUB_AS_NAMED_LIST_P): New macro.
29120 (GRUB_AS_PRIO_LIST): Likewise.
29121 (GRUB_AS_PRIO_LIST_P): Likewise.
29122 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
29123 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
29124 (grub_prio_list): New structure.
29125 (grub_prio_list_insert): New function.
29126 (grub_prio_list_remove): New inline function.
29127
29128 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
29129 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
29130 (GRUB_COMMAND_FLAG_MENU): Likewise.
29131 (GRUB_COMMAND_FLAG_BOTH): Likewise.
29132 (GRUB_COMMAND_FLAG_TITLE): Likewise.
29133 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
29134 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
29135 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
29136 (grub_command): Likewise.
29137 (grub_register_command): Likewise.
29138 (grub_command_find): Likewise.
29139 (grub_iterate_commands): Likewise.
29140 (grub_command_init): Likewise.
29141 (grub_arg_parse): Likewise.
29142 (grub_arg_show_help): Likewise.
29143
29144 * include/grub/rescue.h (grub_rescue_register_command): Removed.
29145 (grub_rescue_unregister_command): Likewise.
29146
29147 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
29148 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
29149 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
29150
29151 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
29152 grub_rescue_cmd_initrd.
29153 * include/grub/i386/loader.h: Likewise.
29154 * include/grub/x86_64/loader.h: Likewise.
29155
29156 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
29157
1f4147aa 291582009-03-21 Bean <bean123ch@gmail.com>
29159
29160 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
29161 instead of stat in mingw environment.
29162
29163 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
29164
29165 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
29166
29167 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
29168 AC_CONFIG_LINKS.
29169
2156d5ba 291702009-03-21 Bean <bean123ch@gmail.com>
29171
29172 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
29173 out of range error.
29174
177b82ca 291752009-03-18 Michel Dänzer <michel@daenzer.net>
29176
29177 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
29178 checking inode flags for EXT4_EXTENTS_FLAG.
29179
14aad807 291802009-03-18 Robert Millan <rmh@aybabtu.com>
29181
29182 * loader/i386/linux.c: Include `<grub/video.h>' and
29183 `<grub/i386/pc/vbe.h>'..
29184 (grub_linux_setup_video): New function. Loosely based on the EFI one.
29185 (grub_linux32_boot): Attempt to configure video settings with
29186 grub_linux_setup_video().
29187 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
29188 to avoid grub_console_fini() which would step out of graphical mode
29189 unconditionally.
29190
8cf83a27 291912009-03-14 Robert Millan <rmh@aybabtu.com>
29192
29193 Fix build on powerpc.
29194 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
29195
40164e75 291962009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
29197
29198 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
29199 background image command.
29200
c58bc32a 292012009-03-12 Colin D Bennett <colin@gibibit.com>
29202
29203 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
29204 (grub_gfxterm_putchar): Extract pairs of identical calls to
29205 draw_cursor out of conditional blocks.
29206
5415144a 292072009-03-11 Pavel Roskin <proski@gnu.org>
29208
29209 * fs/hfs.c (grub_hfs_strncasecmp): New function.
29210 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
29211
6394042e 292122009-03-11 Robert Millan <rmh@aybabtu.com>
29213
29214 * loader/i386/multiboot_elfxx.c
29215 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
29216
b7b50e5f 292172009-03-11 Felix Zielcke <fzielcke@z-51.de>
29218
29219 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
29220 `kern/handler.c'.
29221
1ca7fc96 292222009-03-11 Robert Millan <rmh@aybabtu.com>
29223
29224 * loader/i386/multiboot.c (code_size): New variable.
29225 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 29226 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 29227 4-byte alignment to MBI and others by increasing
7d074e3c 29228 `boot_loader_name_length' appropriately.
1ca7fc96 29229
29230 * loader/i386/multiboot_elfxx.c
29231 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
29232
a83ea1d2 292332009-03-09 Felix Zielcke <fzielcke@z-51.de>
29234
29235 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
29236 `fs/ext2.c'.
29237
aa9f3bff 292382009-03-08 Robert Millan <rmh@aybabtu.com>
29239
29240 Make loader/i386/linux.c usable on i386-pc again.
29241
29242 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
29243 memory to heap.
29244 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
29245 `#error' stanza.
29246
d8b3b60e 292472009-03-07 Bean <bean123ch@gmail.com>
29248
29249 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
29250 allocation.
29251
b362c9e9 292522009-03-06 Robert Millan <rmh@aybabtu.com>
29253
29254 Fix display issue on terminals with screen size other than 80x25
29255 (e.g. gfxterm with resolution higher than 640x480).
29256
29257 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 29258 position relative to the center of the terminal instead of relying
b362c9e9 29259 on a hardcoded offset.
29260
9304eef1 292612009-03-04 Robert Millan <rmh@aybabtu.com>
29262
29263 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
29264 installed.
29265
29266 * Makefile.in (host_kernel): New variable.
29267 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
29268 scripts instead of just the windows one.
29269 * configure.ac: Initialize and AC_SUBST `host_kernel'.
29270
eabc95fb 292712009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 29272
29273 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
29274 `kern/handler.c'.
29275 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29276 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29277 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29279 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29280 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29281
ceb1223c 292822009-03-04 Felix Zielcke <fzielcke@z-51.de>
29283
29284 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
29285 or if there's no space for the disk label and print the partition number on a
29286 invalid magic.
29287
4910684a 292882009-03-04 Felix Zielcke <fzielcke@z-51.de>
29289
29290 * util/misc.c: Include <time.h>.
29291 (grub_millisleep): New function.
29292
7e9ca17a 292932009-03-04 Bean <bean123ch@gmail.com>
29294
29295 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
29296 another option -mno-red-zone.
29297
29298 * commands/handler.c: Change module description.
29299
29300 * kern/handler.c: Add missing space at the end of description line.
29301
29302 * kern/list.c: Likewise.
29303
f501677c 293042009-03-03 Robert Millan <rmh@aybabtu.com>
29305
29306 Move more components to the relocation area, and fix mbi pointer
29307 handling to use the destination rather than the origin (thanks to
29308 Vladimir Serbinenko for spotting).
29309
29310 * loader/i386/multiboot.c (mbi_dest): New variable.
29311 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
29312 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
29313 relocation area.
29314
9902d047 293152009-03-01 Bean <bean123ch@gmail.com>
29316
50fb7002 29317 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 29318 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
29319 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
29320 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
29321
29322 * loader/i386/efi/linux.c (acpi_guid): New variable.
29323 (acpi_guid): Likewise.
29324 (EBDA_SEG_ADDR): New constant.
29325 (LOW_MEM_ADDR): Likewise.
29326 (FAKE_EBDA_SEG): Likewise.
29327 (fake_bios_data): New function.
29328 (grub_linux_boot): Call fake_bios_data.
29329
71b9f361 293302009-03-01 Bean <bean123ch@gmail.com>
29331
29332 * commands/terminal.c: Removed.
29333
29334 * commands/handler.c: New file.
29335
29336 * include/grub/list.h: Likewise.
29337
29338 * include/grub/handler.h: Likewise.
29339
29340 * kern/list.c: Likewise.
29341
29342 * kern/handler.c: Likewise.
29343
29344 * kern/term.h: Include header file <grub/handler.h>.
29345 (grub_term_input): Move next field to the beginning.
29346 (grub_term_output): Likewise.
29347 (grub_term_input_class): New variable.
29348 (grub_term_output_class): Likewise.
29349 (grub_term_register_input): Changed to inline function.
29350 (grub_term_register_output): Likewise.
29351 (grub_term_unregister_input): Likewise.
29352 (grub_term_unregister_output): Likewise.
29353 (grub_term_set_current_input): Likewise.
29354 (grub_term_set_current_output): Likewise.
29355 (grub_term_get_current_input): Likewise.
29356 (grub_term_get_current_output): Likewise.
29357 (grub_term_iterate_input): Removed.
29358 (grub_term_iterate_output): Likewise.
29359
29360 * kern/term.c (grub_term_list_input): Removed.
29361 (grub_term_list_output): Likewise.
29362 (grub_term_input_class): New variable.
29363 (grub_term_output_class): Likewise.
50fb7002 29364 (grub_cur_term_input): Change variable as macro.
71b9f361 29365 (grub_cur_term_output): Likewise.
29366 (grub_term_register_input): Removed.
29367 (grub_term_register_output): Likewise.
29368 (grub_term_unregister_input): Likewise.
29369 (grub_term_unregister_output): Likewise.
29370 (grub_term_set_current_input): Likewise.
29371 (grub_term_set_current_output): Likewise.
29372 (grub_term_iterate_input): Likewise.
29373 (grub_term_iterate_output): Likewise.
29374 (grub_term_get_current_input): Likewise.
29375 (grub_term_get_current_output): Likewise.
29376
29377 * util/grub-editenv.c: Include header file <grub/handler.h>.
29378 (grub_term_get_current_input): Removed.
29379 (grub_term_get_current_output): Likewise.
29380 (grub_term_input_class): New variable.
50fb7002 29381 (grub_term_output_class): Likewise.
71b9f361 29382
29383 * util/grub-fstest.c (grub_term_get_current_input): Removed.
29384 (grub_term_get_current_output): Likewise.
29385 (grub_term_input_class): New variable.
50fb7002 29386 (grub_term_output_class): Likewise.
71b9f361 29387
29388 * util/grub-probe.c (grub_term_get_current_input): Removed.
29389 (grub_term_get_current_output): Likewise.
29390 (grub_term_input_class): New variable.
50fb7002 29391 (grub_term_output_class): Likewise.
71b9f361 29392
29393 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
29394 (grub_term_get_current_output): Likewise.
29395 (grub_term_input_class): New variable.
50fb7002 29396 (grub_term_output_class): Likewise.
71b9f361 29397
29398 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
29399 (terminal_mod_SOURCES): Likewise.
29400 (terminal_mod_CFLAGS): Likewise.
29401 (terminal_mod_LDFLAGS): Likewise.
29402
29403 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
29404 handler.c.
29405 (kernel_img_SOURCES): Add list.c and handler.c.
29406 (kernel_img_HEADERS): Add list.h and handler.h.
29407
29408 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29409 handler.c.
29410 (kernel_mod_SOURCES): Add list.c and handler.c.
29411 (kernel_mod_HEADERS): Add list.h and handler.h.
29412
29413 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
29414 handler.c.
29415 (kernel_elf_SOURCES): Add list.c and handler.c.
29416 (kernel_elf_HEADERS): Add list.h and handler.h.
29417
29418 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29419 handler.c.
29420 (kernel_elf_SOURCES): Add list.c and handler.c.
29421 (kernel_elf_HEADERS): Add list.h and handler.h.
29422
29423 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29424 handler.c.
29425 (kernel_mod_SOURCES): Add list.c and handler.c.
29426 (kernel_mod_HEADERS): Add list.h and handler.h.
29427
29428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29429 handler.c.
29430 (kernel_elf_SOURCES): Add list.c and handler.c.
29431 (kernel_elf_HEADERS): Add list.h and handler.h.
29432
8a31787f 294332009-02-27 Robert Millan <rmh@aybabtu.com>
29434
29435 Factorize elf32 / elf64 code in Multiboot loader. This will
29436 prevent it from getting out of sync again.
29437
29438 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
29439 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
29440 grub_multiboot_load_elf64): Move from here ...
29441 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
29442 grub_multiboot_load_elf): ... to here (new file).
29443
51cd3dfc 294442009-02-27 Robert Millan <rmh@aybabtu.com>
29445
29446 * util/grub.d/10_linux.in: Rename "single-user mode" to
29447 "recovery mode".
29448
6e8c9c3a 294492009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
29450
29451 Don't leak in SCSI code.
29452 * disk/scsi.c (grub_scsi_close): free `scsi'.
29453
4b6bf4f9 294542009-02-27 Robert Millan <rmh@aybabtu.com>
29455
29456 * loader/i386/pc/multiboot.c: Move from here ...
29457 * loader/i386/multiboot.c: ... to here. Update all users.
29458
b9413424 294592009-02-27 Robert Millan <rmh@aybabtu.com>
29460
29461 Patch from Alexandre Bique <bique.alexandre@gmail.com>
29462 * util/i386/pc/grub-setup.c (setup): Fix directory path.
29463
50fb7002 294642009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 29465
29466 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
29467 b-tree.
29468
8cc50345 294692009-02-27 Robert Millan <rmh@aybabtu.com>
29470
29471 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
29472 `0x' qualifier as 0 when base is specified as parameter).
29473
6e09b8b7 294742009-02-24 Bean <bean123ch@gmail.com>
29475
29476 * configure.ac: Check for -mcmodel=large in x86_64 target.
29477
29478 * include/grub/efi/api.h (efi_call_10): New macro.
29479 (efi_wrap_10): New function.
29480
29481 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
29482 (GRUB_PE32_REL_BASED_HIGH): Likewise.
29483 (GRUB_PE32_REL_BASED_LOW): Likewise.
29484 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
29485 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
29486 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
29487 (GRUB_PE32_REL_BASED_SECTION): Likewise.
29488 (GRUB_PE32_REL_BASED_REL): Likewise.
29489 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
29490 (GRUB_PE32_REL_BASED_DIR64): Likewise.
29491 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
29492
29493 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
29494 issue.
29495
29496 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
29497 (efi_wrap_10): New function.
29498
29499 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
29500
29501 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
29502 MB/MBP model (NV chipset).
29503 (devdata_devs): Add devpath_5 to the list.
29504
29505 * load/i386/efi/linux.c (video_base): Remove variable.
29506 (RGB_MASK): New macro.
29507 (RGB_MAGIC): Likewise.
29508 (LINE_MIN): Likewise.
29509 (LINE_MAX): Likewise.
29510 (FBTEST_STEP): Likewise.
29511 (FBTEST_COUNT): Likewise.
29512 (fb_list): New variable.
29513 (grub_find_video_card): Remove function.
29514 (find_framebuf): New function.
29515 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
29516 line length.
29517
29518 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
29519 problem for x86_64.
29520
74b21bee 295212009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
29522
29523 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
29524
29525 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
29526 coding tool name.
29527
a455f472 295282009-02-22 Robert Millan <rmh@aybabtu.com>
29529
29530 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
29531 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
29532 in our relocation, instead of using it directly from heap. Also
29533 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
29534
6374daf3 295352009-02-21 Robert Millan <rmh@aybabtu.com>
29536
29537 Implement USB keyboard support (based on patch by Marco Gerards)
29538
29539 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
29540 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
29541 (usb_keyboard_mod_LDFLAGS): New variables.
29542
29543 * term/usb_keyboard.c: New file.
29544
8fa4ea70 295452009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29546
29547 Corrected wrong declaration
29548
29549 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
29550
353976ac 295512009-02-14 Christian Franke <franke@computer.org>
29552
29553 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
29554 (grub_lspci_iter): Print class code and programming interface byte.
29555
6aa1169b 295562009-02-14 Christian Franke <franke@computer.org>
29557
29558 * gendistlist.sh: Ignore `.svn' directories.
29559
265372ca 295602009-02-14 Felix Zielcke <fzielcke@z-51.de>
29561
29562 * fs/fat.c: Add 2009 to Copyright line.
29563
9ff516f3 295642009-02-14 Christian Franke <franke@computer.org>
29565
29566 * commands/hdparm.c: New file. Provides `hdparm' command
29567 which sends ATA commands via grub_disk_ata_pass_through ().
29568
29569 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
29570
29571 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
29572 and <grub/cpu/io.h> to include/grub/ata.h.
29573 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
29574 (GRUB_CDROM_SECTOR_SIZE): Remove.
29575 (GRUB_ATA_*): Move to include/grub/ata.h.
29576 (GRUB_ATAPI_*): Likewise.
29577 (enum grub_ata_commands): Likewise.
29578 (enum grub_ata_timeout_milliseconds): Likewise.
29579 (struct grub_ata_device): Likewise.
29580 (grub_ata_regset): Likewise.
29581 (grub_ata_regget): Likewise.
29582 (grub_ata_regset2): Likewise.
29583 (grub_ata_regget2): Likewise.
29584 (grub_ata_check_ready): Likewise.
29585 (grub_ata_wait_not_busy): Remove static, exported in
29586 include/grub/ata.h.
29587 (grub_ata_wait_drq): Likewise.
29588 (grub_ata_pio_read): Likewise.
29589
29590 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
29591 function for hdparm.mod.
29592
29593 * include/grub/ata.h: New file, contains declarations from
29594 disk/ata.c.
29595 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
29596
29597 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
29598 (grub_disk_ata_pass_through): New exported variable.
29599
29600 * kern/disk.c (grub_disk_ata_pass_through): New variable.
29601
772e23da 296022009-02-13 Colin D Bennett <colin@gibibit.com>
29603
29604 Support multiple fallback entries, and provide an API to support
29605 executing default+fallback menu entries. Renamed the `terminal' menu
29606 viewer to `text'.
29607
29608 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
29609 variable declaration.
29610 (grub_menu_execute_callback): New structure declaration.
29611 (grub_menu_execute_callback_t): New typedef.
29612 (grub_menu_execute_with_fallback): New function declaration.
29613 (grub_menu_get_entry): Likewise.
29614 (grub_menu_get_timeout): Likewise.
29615 (grub_menu_set_timeout): Likewise.
29616
29617 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
29618
29619 * normal/menu.c (grub_wait_after_message): Moved to
29620 `normal/menu_text.c'.
29621 (draw_border): Likewise.
29622 (print_message): Likewise.
29623 (print_entry): Likewise.
29624 (print_entries): Likewise.
29625 (grub_menu_init_page): Likewise.
29626 (get_entry_number): Likewise.
29627 (print_timeout): Likewise.
29628 (run_menu): Likewise.
29629 (grub_menu_execute_entry): Likewise.
29630 (show_text_menu): Likewise.
29631 (get_and_remove_first_entry_number): New function.
29632 (grub_menu_execute_with_fallback): Likewise.
29633 (get_entry): Renamed to ...
29634 (grub_menu_get_entry): .. this and made it global.
29635 (get_timeout): Renamed to ...
29636 (grub_menu_get_timeout): ... this and made it global.
29637 (set_timeout): Renamed to ...
29638 (grub_menu_set_timeout): ... this and made it global.
29639 (grub_normal_terminal_menu_viewer): Renamed to ...
29640 (grub_normal_text_menu_viewer): ... this.
29641
29642 * normal/menu_text.c: New file. Extracted text-menu-specific code
29643 from normal/menu.c.
29644
29645 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
29646 (normal_mod_SOURCES): Likewise.
29647
29648 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29649 (normal_mod_SOURCES): Likewise.
29650
29651 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29652 (normal_mod_SOURCES): Likewise.
29653
29654 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
29655 (normal_mod_SOURCES): Likewise.
29656
29657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29658 (normal_mod_SOURCES): Likewise.
29659
29660 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29661 (normal_mod_SOURCES): Likewise.
29662
29663 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29664 (normal_mod_SOURCES): Likewise.
29665
16ac430e 296662009-02-11 Robert Millan <rmh@aybabtu.com>
29667
29668 * util/grub.d/00_header.in: Update old reference to `font' command.
29669
06ff20fc 296702009-02-10 Felix Zielcke <fzielcke@z-51.de>
29671
29672 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
29673
29674 Based on patch from Javier Martín.
29675
96da9407 296762009-02-09 Felix Zielcke <fzielcke@z-51.de>
29677
29678 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 29679 to avoid false positives with FAT.
96da9407 29680 (grub_fstest_SOURCES): Likewise.
29681 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29682 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29684 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29685 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29686 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29687
6dca6fe4 296882009-02-09 Felix Zielcke <fzielcke@z-51.de>
29689
06ff20fc 29690 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 29691 bpb.version_specific.fat12_or_fat16.fstype and
29692 bpb.version_specific.fat32.fstype.
29693
2550c62f 296942009-02-08 Robert Millan <rmh@aybabtu.com>
29695
be110b30 29696 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 29697
56978920 296982009-02-08 Robert Millan <rmh@aybabtu.com>
29699
29700 * Makefile.in (host_os, host_cpu): New variables.
29701 (target_os): Remove. Update all users.
29702
d64399b5 297032009-02-08 Marco Gerards <marco@gnu.org>
29704
29705 * Makefile.in (enable_grub_emu_usb): New variable.
29706 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
29707 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
29708 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
29709 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
29710 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
29711 `usbtest.mod' and `usbms.mod'.
29712 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
29713 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
29714 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
29715 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
29716 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
29717 variables.
29718
29719 * disk/usbms.c: New file.
29720
29721 * include/grub/usb.h: Likewise.
29722
29723 * include/grub/usbtrans.h: Likewise.
29724
29725 * include/grub/usbdesc.h: Likewise.
29726
29727 * bus/usb/usbtrans.c: Likewise.
29728
29729 * bus/usb/ohci.c: Likewise.
29730
29731 * bus/usb/uhci.c: Likewise.
29732
29733 * bus/usb/usbhub.c: Likewise.
29734
29735 * bus/usb/usb.c: Likewise.
29736
29737 * commands/usbtest.c: Likewise.
29738
29739 * util/usb.c: Likewise.
50fb7002 29740
d64399b5 29741 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
29742
29743 * configure.ac: Test for libusb presence.
50fb7002 29744
d64399b5 29745 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
29746
2b40d6bb 297472009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
29748
29749 * kern/mm.c: Add more comments.
29750
73a4ce81 297512009-02-08 Robert Millan <rmh@aybabtu.com>
29752
29753 Patch from Javier Martín.
29754 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
29755 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
29756
f821ce59 297572009-02-08 Robert Millan <rmh@aybabtu.com>
29758
29759 * fs/cpio.c: Split tar functionality to ...
29760 * fs/tar.c: ... here (new file). Update all users.
29761
aebfc4b0 297622009-02-07 Robert Millan <rmh@aybabtu.com>
29763
29764 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
29765 backward-incompatible features.
29766
29767 Based on patch from Javier Martín, with some adjustments.
29768
50fb7002 297692009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 29770
29771 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
29772
0bb5115e 297732009-02-07 Robert Millan <rmh@aybabtu.com>
29774
29775 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
29776 position of `disk/lvm.c' to ensure grub_init_all() always picks it
29777 after the RAID stuff.
29778
38a0f8e7 297792009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
29780
50fb7002 29781 Fixes problem when running vbetest command as reported by
38a0f8e7 29782 Vladimir Serbinenko <phcoder@gmail.com>.
29783
29784 * (grub_vbe_set_video_mode): Fixed problem with text modes.
29785
3143cc1c 297862009-02-04 Felix Zielcke <fzielcke@z-51.de>
29787
29788 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
29789 /dev/md/NpN style mdraid devices.
29790
9cba6fce 297912009-02-03 Felix Zielcke <fzielcke@z-51.de>
29792
29793 * util/unifont2pff.rb: Remove.
29794
e507a2c1 297952009-02-03 Felix Zielcke <fzielcke@z-51.de>
29796
29797 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
29798 `#'.
29799
d2c2b4cd 298002009-02-03 Felix Zielcke <fzielcke@z-51.de>
29801
29802 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
29803 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29804 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29805 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29807 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29808 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29809
b4315fb0 298102009-02-02 Christian Franke <franke@computer.org>
29811
29812 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
29813
de3aa260 298142009-02-01 Felix Zielcke <fzielcke@z-51.de>
29815
7c3ff286 29816 * INSTALL: Note that we now require at least autoconf 2.59 and
29817 that LZO is optional.
de3aa260 29818
825a182b 298192009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29820
29821 Base on patch on bug #24154 created by Tomas Tintera
29822 <trosos@seznam.cz>.
29823
29824 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
29825
a69ef770 298262009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29827
7c3ff286 29828 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 29829 <bero@arklinux.org>.
29830
29831 * normal/parser.y (script_init): Add missing semicolon.
29832
6fa42fa6 298332009-01-31 Colin D Bennett <colin@gibibit.com>
29834
7c3ff286 29835 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 29836 (free_menu_entry_classes): Added.
29837 (grub_normal_menu_addentry): Added class property handling.
29838 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
29839 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
29840
29841 * normal/menu_viewer.c: New file.
29842
29843 * normal/menu.c (run_menu_entry): Renamed to ...
29844 (grub_menu_execute_entry): ... this and made it as global.
29845 (grub_menu_run): Renamed to ...
29846 (show_text_menu): ... this and made it local.
29847 (show_text_menu): Adapt to new function names.
29848 (grub_normal_terminal_menu_viewer): New global variable.
29849
29850 * include/grub/menu.h: New file.
29851
29852 * include/grub/menu_viewer.h: New file.
29853
29854 * include/grub/normal.h: Added include to grub/menu.h.
29855 (grub_menu_entry): Moved to include/grub/menu.h.
29856 (grub_menu_entry_t): Likewise.
29857 (grub_menu): Likewise.
29858 (grub_menu_t): Likewise.
29859 (grub_normal_terminal_menu_viewer): Added.
29860 (grub_menu_execute_entry): Likewise.
29861 (grub_menu_run): Removed.
29862
29863 * DISTLIST: Added include/grub/menu.h.
29864 Added include/grub/menu_viewer.h.
29865 Added normal/menu_viewer.c.
29866
298672009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
29868
29869 * normal/execute.c (grub_script_execute_menuentry): Changed to use
29870 arglist for menutitle arguments.
29871
29872 * normal/main.c (grub_normal_menu_addentry): Likewise.
29873
29874 * normal/parser.y (menuentry): Likewise.
29875
29876 * normal/script.c (grub_script_create_cmdmenu): Likewise.
29877
29878 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
29879 (grub_script_create_cmdmenu): Likewise.
29880
29881 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
29882
29883 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
29884 changes.
29885
29886 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
29887
29888 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
29889
29890 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
29891
29892 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29893
29894 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29895
29896 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29897
56192c23 298982009-01-30 Christian Franke <franke@computer.org>
29899
29900 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
29901 in option help text.
29902
d72521b3 299032009-01-27 Pavel Roskin <proski@gnu.org>
29904
29905 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
29906
994b5e84 299072009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
29908
29909 * commands/lsmmap.c: Add include to grub/machine/memory.h.
29910
29911 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
29912
29913 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
29914 unregister function.
29915
6a7eab2c 299162009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
29917
29918 * disk/scsi.c (grub_scsi_read): Fix sign problem.
29919
29920 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
29921
29922 * util/grub-mkfont.c (usage): Fix typo.
29923
29924 * util/elf/grub-mkimage.c (load_modules): Fix warning.
29925
1806b56e 299262009-01-26 Daniel Mierswa <impulze@impulze.org>
29927
3fb18f09 29928 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
29929
336e1fb9 29930 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
29931
1806b56e 29932 * kern/misc.c (grub_strcasecmp): New function.
29933 (grub_strcasecmp): Use grub_size_t instead of int for length.
29934 Fix return value.
29935 * include/grub/misc.h: Update function prototypes.
29936
580b2a0f 299372009-01-26 Robert Millan <rmh@aybabtu.com>
29938
29939 * configure.ac: Fix cross-compilation check.
ef257b36 29940
d31c24f1 299412009-01-22 Christian Franke <franke@computer.org>
29942
29943 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
29944 (precision) digit string. Allow `.format2' without `format1' (width).
29945 Limit input chars for `%s' output to `format2' if specified. This is
29946 compatible with standard printf ().
29947
3138b44c 299482009-01-22 Christian Franke <franke@computer.org>
29949
29950 * disk/ata.c (grub_ata_wait_status): Replace by ...
29951 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
29952 other status bits may be invalid while BSY is asserted.
29953 (grub_ata_check_ready): New function.
29954 (grub_ata_cmd): Removed.
29955 (grub_ata_wait_drq): New function.
29956 (grub_ata_strncpy): Remove inline.
29957 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
29958 and error check now done by grub_ata_wait_drq ().
29959 (grub_ata_pio_write): Likewise.
29960 (grub_atapi_identify): Set DEV before check for !BSY. Use
29961 grub_ata_wait_drq () to wait for data.
29962 (grub_ata_device_initialize): Add status register check to
29963 detect missing SATA slave devices. Add debug messages.
29964 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
29965 (grub_atapi_packet): Set DEV before check for !BSY. Replace
29966 transfer loop by grub_ata_pio_write ().
29967 (grub_ata_identify): Set DEV before check for !BSY. Use
29968 grub_ata_wait_drq () to wait for data.
ef257b36 29969 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 29970 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
29971 read/write in one loop. Fix invalid command on write. Fix incomplete
29972 command on (size % batch) == 0. Add missing error check after write of
29973 last block. Add debug messages.
29974 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
29975
59a64ef6 299762009-01-19 Christian Franke <franke@computer.org>
29977
29978 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
29979 (GRUB_ATAPI_IREASON_*): Likewise.
29980 (grub_ata_pio_write): Fix timeout error return.
29981 (grub_atapi_identify): Add grub_ata_wait () after cmd.
29982 (grub_atapi_wait_drq): New function.
29983 (grub_atapi_packet): New parameter `size'.
29984 Use grub_atapi_wait_drq () and direct write instead of
29985 grub_ata_pio_write ().
29986 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
29987 reads the number of bytes requested by the device for each DRQ
29988 assertion.
29989 (grub_atapi_write): Remove old implementation, return not
29990 implemented instead.
29991
1cfe20b3 299922009-01-19 Christian Franke <franke@computer.org>
29993
29994 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
29995 of 512 to calculate data size.
29996 (grub_scsi_read12): Likewise.
29997 (grub_scsi_write10): Likewise.
29998 (grub_scsi_write12): Likewise.
29999 (grub_scsi_read): Adjust size according to blocksize.
30000 Add checks for invalid blocksize and unaligned transfer.
30001
bee5fe5d 300022009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30003
30004 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30005
ef257b36 30006 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 30007 width glyphs.
30008
3e643f8c 300092009-01-19 Robert Millan <rmh@aybabtu.com>
30010
30011 * config.guess: Update to latest version from config git.
30012 * config.sub: Likewise.
30013
4fa80998 300142009-01-17 Felix Zielcke <fzielcke@z-51.de>
30015
30016 * Makefile.in: Change font compilation to use new grub-mkfont instead
30017 of java version.
30018
30019 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30020 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30021 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30022 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30023 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30024 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30025 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30026 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30027 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30028
7086085b 300292009-01-16 Christian Franke <franke@computer.org>
30030
30031 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30032 (enum grub_ata_timeout_milliseconds): New enum.
30033 (grub_ata_wait_status): Add parameter milliseconds.
30034 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30035 recovery from timed-out commands.
30036 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30037 return grub_errno instead of REG_ERROR.
30038 (grub_ata_pio_write): Add parameter milliseconds.
30039 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30040 Pass milliseconds to grub_ata_wait_status () and
30041 grub_ata_pio_read ().
30042 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30043 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30044 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30045 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30046 It is not suitable for device detection, because DEV bit is ignored,
30047 the command may run too long, and not all devices set the signature
30048 properly.
30049 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30050 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30051 Fix device selection, DEV bit must be set first to address the registers
30052 of the correct device.
30053 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30054 grub_ata_pio_read/write ().
30055 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30056 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30057
4a412913 300582009-01-13 Carles Pina i Estany <carles@pina.cat>
30059
30060 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30061
7795c55e 300622009-01-13 Bean <bean123ch@gmail.com>
d913988c 30063
30064 * util/grub-mkfont.c (write_font): forget to remove some debug code.
30065
7795c55e 300662009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 30067
30068 * Makefile.in: (enable_grub_mkfont): New variable.
30069 (freetype_cflags): Likewise.
30070 (freetype_libs): Likewise.
30071
30072 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
30073 (grub_mkfont_SOURCES): New variable.
30074 (grub_mkfont_CFLAGS): Likewise.
30075 (grub_mkfont_LDFLAGS): Likewise.
30076
30077 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
30078 library if `--enable-grub-mkfont' is requested.
30079 (enable_grub_mkfont): New variable.
30080 (freetype_cflags): Likewise.
30081 (freetype_libs): Likewise.
30082
30083 * util/grub-mkfont.c: New file.
30084
093af1fe 300852009-01-12 Christian Franke <franke@computer.org>
30086
30087 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
30088 mode check. Fix setting of compat_use[].
30089
f36cc108 300902009-01-10 Robert Millan <rmh@aybabtu.com>
30091
30092 Update a few copyright years which we forgot to do in 2008 (only for
30093 files whose changes made in 2008 were copyright-significant)
30094
30095 * Makefile.in: Add 2008 to Copyright line.
30096 * disk/ieee1275/ofdisk.c: Likewise.
30097 * disk/efi/efidisk.c: Likewise.
30098 * kern/dl.c: Likewise.
30099 * kern/sparc64/ieee1275/init.c: Likewise.
30100 * kern/mm.c: Likewise.
30101 * kern/efi/mm.c: Likewise.
30102 * boot/i386/pc/boot.S: Likewise.
30103 * genfslist.sh: Likewise.
30104 * fs/iso9660.c: Likewise.
30105 * fs/hfs.c: Likewise.
30106 * fs/jfs.c: Likewise.
30107 * fs/minix.c: Likewise.
30108 * fs/ufs.c: Likewise.
30109 * gensymlist.sh.in: Likewise.
30110 * genkernsyms.sh.in: Likewise.
30111 * include/grub/misc.h: Likewise.
30112 * include/grub/types.h: Likewise.
30113 * include/grub/symbol.h: Likewise.
30114 * include/grub/elf.h: Likewise.
30115 * include/grub/kernel.h: Likewise.
30116 * include/grub/disk.h: Likewise.
30117 * include/grub/dl.h: Likewise.
30118 * include/grub/i386/linux.h: Likewise.
30119 * include/grub/i386/pc/biosdisk.h: Likewise.
30120 * include/grub/efi/api.h: Likewise.
30121 * include/grub/efi/pe32.h: Likewise.
30122 * include/grub/util/misc.h: Likewise.
30123 * normal/execute.c: Likewise.
30124 * normal/arg.c: Likewise.
30125 * normal/completion.c: Likewise.
30126 * normal/lexer.c: Likewise.
30127 * normal/parser.y: Likewise.
30128 * normal/misc.c: Likewise.
30129 * commands/i386/pc/vbeinfo.c: Likewise.
30130 * commands/hexdump.c: Likewise.
30131 * commands/terminal.c: Likewise.
30132 * commands/ls.c: Likewise.
30133 * commands/help.c: Likewise.
30134 * partmap/pc.c: Likewise.
30135 * loader/efi/chainloader.c: Likewise.
30136 * loader/multiboot_loader.c: Likewise.
30137 * loader/i386/pc/multiboot2.c: Likewise.
30138 * term/efi/console.c: Likewise.
30139 * term/i386/pc/serial.c: Likewise.
30140 * util/lvm.c: Likewise.
30141 * util/console.c: Likewise.
30142 * util/i386/efi/grub-mkimage.c: Likewise.
30143 * util/raid.c: Likewise.
30144
7f02114b 301452009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
30146
30147 * commands/videotest.c: Removed include to grub/machine/memory.h.
30148
30149 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
30150 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
30151 (video_mod_SOURCES): Removed.
30152 (video_mod_CFLAGS): Likewise.
30153 (video_mod_LDFLAGS): Likewise.
30154 (gfxterm_mod_SOURCES): Likewise.
30155 (gfxterm_mod_CFLAGS): Likewise.
30156 (gfxterm_mod_LDFLAGS): Likewise.
30157 (videotest_mod_SOURCES): Likewise.
30158 (videotest_mod_CFLAGS): Likewise.
30159 (videotest_mod_LDFLAGS): Likewise.
30160 (bitmap_mod_SOURCES): Likewise.
30161 (bitmap_mod_CFLAGS): Likewise.
30162 (bitmap_mod_LDFLAGS): Likewise.
30163 (tga_mod_SOURCES): Likewise.
30164 (tga_mod_CFLAGS): Likewise.
30165 (tga_mod_LDFLAGS): Likewise.
30166 (jpeg_mod_SOURCES): Likewise.
30167 (jpeg_mod_CFLAGS): Likewise.
30168 (jpeg_mod_LDFLAGS): Likewise.
30169 (png_mod_SOURCES): Likewise.
30170 (png_mod_CFLAGS): Likewise.
30171 (png_mod_LDFLAGS): Likewise.
30172
30173 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
30174 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
30175 (video_mod_SOURCES): Added.
30176 (video_mod_CFLAGS): Likewise.
30177 (video_mod_LDFLAGS): Likewise.
30178 (videotest_mod_SOURCES): Likewise.
30179 (videotest_mod_CFLAGS): Likewise.
30180 (videotest_mod_LDFLAGS): Likewise.
30181 (bitmap_mod_SOURCES): Likewise.
30182 (bitmap_mod_CFLAGS): Likewise.
30183 (bitmap_mod_LDFLAGS): Likewise.
30184 (tga_mod_SOURCES): Likewise.
30185 (tga_mod_CFLAGS): Likewise.
30186 (tga_mod_LDFLAGS): Likewise.
30187 (jpeg_mod_SOURCES): Likewise.
30188 (jpeg_mod_CFLAGS): Likewise.
30189 (jpeg_mod_LDFLAGS): Likewise.
30190 (png_mod_SOURCES): Likewise.
30191 (png_mod_CFLAGS): Likewise.
30192 (png_mod_LDFLAGS): Likewise.
30193 (gfxterm_mod_SOURCES): Likewise.
30194 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 30195 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 30196
30197 * term/gfxterm.c: Removed include to grub/machine/memory.h,
30198 grub/machine/console.h.
30199
644fff97 302002009-01-04 Jerone Young <jerone@gmail.com>
30201
30202 Make on screen instructions clearer
30203
30204 Based on patch created by Jidanni <jidanni@jidanni.org>
30205
30206 * normal/menu.c: print clearer instructions on the screen
30207
1e901a75 302082009-01-02 Colin D Bennett <colin@gibibit.com>
30209
30210 New font engine.
34c44600 30211
1e901a75 30212 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
30213 build system and fixed gfxterm.c to work with different sized fonts.
30214
30215 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 30216
1e901a75 30217 * configure: Re-generated.
34c44600 30218
1e901a75 30219 * DISTLIST: Removed font/manager.c.
30220 Added font/font.c.
30221 Added font/font_cmd.c.
34c44600 30222
1e901a75 30223 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
30224 compilation.
34c44600 30225
1e901a75 30226 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 30227
30228 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 30229
30230 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 30231
1e901a75 30232 * normal/menu.c: Likewise.
34c44600 30233
1e901a75 30234 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
30235 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 30236
1e901a75 30237 * include/grub/font.h: Replaced with new file.
34c44600 30238
1e901a75 30239 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
30240 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
30241 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
30242 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
30243 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 30244 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 30245 fg_red, fg_green, fg_blue, fg_alpha.
30246 (grub_video_adapter): Removed blit_glyph.
34c44600 30247 (grub_video_blit_glyph): Removed.
30248
1e901a75 30249 * font/manager.c: Removed file.
34c44600 30250
30251 * font/font.c: New file.
30252
1e901a75 30253 * font/font_cmd.c: Likewise.
34c44600 30254
1e901a75 30255 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 30256
1e901a75 30257 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
30258 (grub_video_vbe_map_rgba): Likewise.
30259 (grub_video_vbe_unmap_color_int): Likewise.
30260 (grub_video_vbe_blit_glyph): Removed.
30261 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 30262
1e901a75 30263 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
30264 (get_pixel): Likewise.
34c44600 30265 (set_pixel): Likewise.
30266
1e901a75 30267 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 30268
1e901a75 30269 * term/gfxterm.c: Adapted to new font engine.
34c44600 30270
1e901a75 30271 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 30272
1e901a75 30273 * term/i386/pc/vga.c: Likewise.
34c44600 30274
1e901a75 30275 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 30276
1e901a75 30277 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 30278
1e901a75 30279 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30280
1e901a75 30281 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30282
1e901a75 30283 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 30284
1e901a75 30285 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 30286
1e901a75 30287 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 30288
1e901a75 30289 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 30290
1e901a75 30291 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30292
30293 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 30294
1e901a75 30295 * util/grub-mkconfig_lib.in: Changed font extension.
30296
278922e8 302972008-12-28 Felix Zielcke <fzielcke@z-51.de>
30298
30299 * util/getroot.c (grub_util_get_grub_dev): Add support for
30300 /dev/md/dNNpNN style partitionable mdraid devices.
30301
3ced05cf 303022008-12-12 Alex Smith <alex@alex-smith.me.uk>
30303
30304 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
30305 at a time limit of the PXE TFTP API correctly.
30306 (grub_pxefs_close): Likewise.
30307
7fd0ee30 303082008-11-29 Robert Millan <rmh@aybabtu.com>
30309
34c44600 30310 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 30311 grub_ata_device_initialize() calls.
30312
34c44600 303132008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 30314
30315 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
30316 iteration failed.
30317 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
30318
89313780 303192008-11-28 Robert Millan <rmh@aybabtu.com>
30320
30321 Fix build on powerpc-ieee1275. Based on patch created by
30322 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
30323 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30324 `kern/ieee1275/mmap.c'.
30325 * include/grub/powerpc/ieee1275/memory.h: New file.
30326
15257703 30327 Provide grub-install on coreboot.
30328 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
30329 (grub_install_SOURCES): New variable.
30330 * util/i386/pc/grub-install.in: Add a few condition checks to make it
30331 usable on coreboot.
30332
9fc5388a 303332008-11-25 Felix Zielcke <fzielcke@z-51.de>
30334
30335 * util/grub-fstest.c (grub_term_get_current_input): Change return type
30336 to `grub_term_input_t'.
30337 (grub_term_get_current_output): Change return type to
30338 `grub_term_output_t'.
30339
bc3a2f31 303402008-11-22 Robert Millan <rmh@aybabtu.com>
30341
34c44600 30342 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 30343 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
30344 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
30345 grub_vga_text_cls().
30346
80fc88f2 30347 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 30348 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 30349
cbf36fd3 30350 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
30351 to 0x200000 (avoids trouble with some OFW implementations, and matches
30352 with the one in Yaboot).
30353 Reported by Manoel Abranches
30354
73e8e268 303552008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 30356
30357 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
30358 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
30359
73e8e268 30360 * util/grub-mkconfig_lib.in (grub_warn): New function.
30361 (convert_system_path_to_grub_path): Use grub_warn() when issuing
30362 warnings, to obtain consistent formatting.
30363 * util/grub.d/00_header.in: Likewise.
30364 * util/update-grub_lib.in: Likewise.
30365
e94045a1 30366 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 30367 Move comment text to `#error' stanza.
e94045a1 30368
79d29fd7 30369 Harmonize ieee1275's grub_available_iterate() with the generic
30370 grub_machine_mmap_iterate() interface (fixes a recently-introduced
30371 build problem on i386-ieee1275):
30372 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
30373 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
30374 parameter `type'. Update all users of this function.
30375 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30376 `kern/ieee1275/mmap.c'.
30377 * kern/ieee1275/init.c
30378 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
30379 with ...
30380 (grub_machine_mmap_iterate): ... this.
30381 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
30382 return type to `grub_err_t'. Update all implementations of this
30383 function prototype.
30384 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
30385 Likewise.
30386
60d6b16e 30387 Add `lsmmap' command (lists firmware-provided memory map):
30388 * commands/lsmmap.c: New file.
30389 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
30390 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
30391 variables.
30392 * conf/powerpc-ieee1275.rmk: Likewise.
30393 * conf/i386-coreboot.rmk: Likewise.
30394 * conf/i386-ieee1275.rmk: Likewise.
30395
ebaaf49b 303962008-11-19 Robert Millan <rmh@aybabtu.com>
30397
30398 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 30399 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
30400 constraints to initrd allocation (based on code from
30401 loader/i386/pc/linux.c). Without them, initrd was allocated too high
30402 for Linux to find it.
ebaaf49b 30403
dfab719f 304042008-11-14 Robert Millan <rmh@aybabtu.com>
30405
30406 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
30407 order to cope with duplicate slashes.
30408
10fc3eb9 304092008-11-14 Robert Millan <rmh@aybabtu.com>
30410
30411 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
30412 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
30413 don't want to mess with lower memory, because it is used in the Linux
30414 loader.
30415
30416 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 30417 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 30418 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
30419 is in our heap (probably as a result of it being corrupted during
2f2a3442 30420 decompression). Add #error instance with comment to explain why this
30421 loader isn't currently usable on PC/BIOS.
10fc3eb9 30422
e2e07847 304232008-11-14 Robert Millan <rmh@aybabtu.com>
30424
30425 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 30426 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 30427
fe8e8d69 304282008-11-12 Robert Millan <rmh@aybabtu.com>
30429
30430 Make loader/i386/linux.c buildable on i386-pc (although disabled).
30431
30432 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
30433 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
30434 from here ...
30435 * include/grub/i386/pc/memory.h: ... to here.
30436
976b07d0 304372008-11-12 Robert Millan <rmh@aybabtu.com>
30438
30439 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
30440 split).
30441
30442 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
30443 (grub_console_cur_color, grub_console_real_putchar)
30444 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30445 (grub_console_setcolorstate, grub_console_setcolor)
30446 (grub_console_getcolor): Move from here ...
30447 * include/grub/i386/vga_common.h: ... to here (new file).
30448
30449 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
30450 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
30451 `<grub/i386/io.h>'.
30452 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
30453 `<grub/i386/vga_common.h>'.
30454
76679cd3 304552008-11-12 Robert Millan <rmh@aybabtu.com>
30456
30457 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
30458 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
30459 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
30460 variables.
30461 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30462 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
30463
30464 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
30465 grub_console_init() with call to grub_vga_text_init().
30466 (grub_machine_fini): Replace call to
30467 grub_console_fini() with call to grub_vga_text_fini() and
30468 grub_at_keyboard_fini().
30469
30470 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
30471 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30472 (grub_console_setcolorstate, grub_console_setcolor)
30473 (grub_console_getcolor): New function prototypes.
30474
30475 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
30476 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
30477 (grub_vga_text_setcursor): Static-ize.
30478 (grub_vga_text_term): New structure.
30479 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
30480
30481 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
30482 (grub_console_cur_color, grub_console_standard_color)
30483 (grub_console_normal_color, grub_console_highlight_color)
30484 (map_char, grub_console_putchar, grub_console_getcharwidth)
30485 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
30486 (grub_console_getcolor): Move from here ...
30487 * term/i386/vga_common.c: ... to here (same function names).
30488
95b841d3 304892008-11-12 Robert Millan <rmh@aybabtu.com>
30490
30491 Use newly-added Multiboot support in coreboot.
30492
30493 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30494 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
30495
30496 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
30497 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
30498 (codestart): Store the MBI in `startup_multiboot_info' when we're
30499 being loaded using Multiboot.
30500
30501 * kern/i386/coreboot/init.c (grub_machine_init): Move
30502 grub_at_keyboard_init() call to beginning of function (useful for
30503 debugging). Call grub_machine_mmap_init() before attempting to use
30504 grub_machine_mmap_iterate().
30505 (grub_lower_mem, grub_upper_mem): Move from here ...
30506 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
30507 here (new file).
30508
30509 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
30510 function prototype.
30511
761ca975 305122008-11-12 Robert Millan <rmh@aybabtu.com>
30513
30514 Fix a regression introduced by the at_keyboard.mod split. Because
30515 some terminals are default on some platforms and non-default on
30516 others, the first terminal being registered determines which is
30517 going to be default.
30518
30519 * kern/term.c (grub_term_register_input): If this is the first
30520 terminal being registered, set it as the current one.
30521 (grub_term_register_output): Likewise.
30522
30523 * term/efi/console.c (grub_console_init): Do not call
30524 grub_term_set_current_output() or grub_term_set_current_input().
30525 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
30526 * term/i386/pc/console.c (grub_console_init): Likewise.
30527 (grub_console_fini): Do not call grub_term_set_current_input()
30528 (but leave grub_term_set_current_output() to restore text mode).
30529
6c529df7 305302008-11-10 Robert Millan <rmh@aybabtu.com>
30531
30532 * util/grub.d/00_header.in: Add backward compatibility check for
30533 versions of terminal.mod that don't understand `terminal_input' or
30534 `terminal_output'.
30535
132e4113 305362008-11-09 Robert Millan <rmh@aybabtu.com>
30537
30538 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
30539 `terminal_input' / `terminal_output', not `terminal'.
30540
ac293d50 305412008-11-08 Robert Millan <rmh@aybabtu.com>
30542
30543 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 30544 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 30545
0025933a 305462008-11-08 Robert Millan <rmh@aybabtu.com>
30547
30548 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 30549 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 30550 members. Update all users.
30551 * util/console.c (grub_ncurses_term): Split in ...
30552 (grub_ncurses_term_input): ... this, and ...
30553 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 30554 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 30555
37c86336 305562008-11-08 Robert Millan <rmh@aybabtu.com>
30557
30558 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
30559 (PKGDATA): Add $(pkgdata_SRCDIR).
30560 (pkglib_BUILDDIR): New variable.
30561 (pkgdata_SRCDIR): New variable.
30562 (build_env.mk): New target.
30563 (include_DATA): New variable.
30564 (install-local): Install $(include_DATA) files in $(includedir).
30565
b6c15a2d 305662008-11-07 Pavel Roskin <proski@gnu.org>
30567
d99d46f1 30568 * gendistlist.sh: Use C locale for sorting to ensure consistent
30569 output on all systems.
30570
b6c15a2d 30571 * util/grub.d/00_header.in: Remove incorrect space before
30572 "serial".
30573
c32ee8c9 305742008-11-07 Robert Millan <rmh@aybabtu.com>
30575
30576 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
30577 per specification.
30578 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
30579 * loader/multiboot_loader.c (find_multi_boot2_header): New function
30580 (based on find_multi_boot1_header).
30581 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
30582 using find_multi_boot2_header(), and abort if neither Multiboot or
30583 Multiboot headers were found.
30584
651c29b7 305852008-11-07 Robert Millan <rmh@aybabtu.com>
30586
30587 Modularize at_keyboard.mod:
30588
30589 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
30590 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30591 (at_keyboard_mod_LDFLAGS): New variables.
30592
30593 Actual terminal split:
30594
30595 * include/grub/term.h (struct grub_term): Split in ...
30596 (struct grub_term_input): ... this, and ...
30597 (struct grub_term_output): ... this. Update all users.
30598 (grub_term_set_current): Split in ...
30599 (grub_term_set_current_input): ... this, and ...
30600 (grub_term_set_current_output): ... this.
30601 (grub_term_get_current): Split in ...
30602 (grub_term_get_current_input): ... this, and ...
30603 (grub_term_get_current_output): ... this.
30604 (grub_term_register): Split in ...
30605 (grub_term_register_input): ... this, and ...
30606 (grub_term_register_output): ... this.
30607 (grub_term_unregister): Split in ...
30608 (grub_term_unregister_input): ... this, and ...
30609 (grub_term_unregister_output): ... this.
30610 (grub_term_iterate): Split in ...
30611 (grub_term_iterate_input): ... this, and ...
30612 (grub_term_iterate_output): ... this.
30613
30614 * kern/term.c (grub_term_list): Split in ...
30615 (grub_term_list_input): ... this, and ...
30616 (grub_term_list_output): ... this. Update all users.
30617 (grub_cur_term): Split in ...
30618 (grub_cur_term_input): ... this, and ...
30619 (grub_cur_term_output): ... this. Update all users.
30620 (grub_term_set_current): Split in ...
30621 (grub_term_set_current_input): ... this, and ...
30622 (grub_term_set_current_output): ... this.
30623 (grub_term_get_current): Split in ...
30624 (grub_term_get_current_input): ... this, and ...
30625 (grub_term_get_current_output): ... this.
30626 (grub_term_register): Split in ...
30627 (grub_term_register_input): ... this, and ...
30628 (grub_term_register_output): ... this.
30629 (grub_term_unregister): Split in ...
30630 (grub_term_unregister_input): ... this, and ...
30631 (grub_term_unregister_output): ... this.
30632 (grub_term_iterate): Split in ...
30633 (grub_term_iterate_input): ... this, and ...
30634 (grub_term_iterate_output): ... this.
30635
30636 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
30637 a check for input and one for output (and only attempt to get keys
30638 from user when input works).
30639
30640 * util/grub-probe.c (grub_term_get_current): Split in ...
30641 (grub_term_get_current_input): ... this, and ...
30642 (grub_term_get_current_output): ... this.
30643 * util/grub-fstest.c: Likewise.
30644 * util/i386/pc/grub-setup.c: Likewise.
30645 * util/grub-editenv.c: Likewise.
30646
30647 Portability adjustments:
30648
30649 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
30650 `term/i386/pc/at_keyboard.c'.
30651 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
30652 grub_keyboard_controller_init() (now handled by terminal .init).
30653 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
30654 grub_at_keyboard_init().
30655 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
30656 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
30657 at_keyboard.mod via input terminal interface).
30658 * include/grub/i386/coreboot/console.h: Convert into a stub for
30659 `<grub/i386/pc/console.h>'.
30660
30661 Migrate full terminals to new API:
30662
30663 * term/efi/console.c (grub_console_term): Split into ...
30664 (grub_console_term_input): ... this, and ...
30665 (grub_console_term_output): ... this. Update all users.
30666 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
30667 (grub_ofconsole_init): Split into ...
30668 (grub_ofconsole_init_input): ... this, and ...
30669 (grub_ofconsole_init_output): ... this.
30670 (grub_ofconsole_term): Split into ...
30671 (grub_ofconsole_term_input): ... this, and ...
30672 (grub_ofconsole_term_output): ... this. Update all users.
30673 * term/i386/pc/serial.c (grub_serial_term): Split into ...
30674 (grub_serial_term_input): ... this, and ...
30675 (grub_serial_term_output): ... this. Update all users.
30676 * term/i386/pc/console.c (grub_console_term): Split into ...
30677 (grub_console_term_input): ... this, and ...
30678 (grub_console_term_output): ... this. Update all users.
30679 (grub_console_term_input): Only enable it on PC/BIOS platform.
30680 (grub_console_init): Remove grub_keyboard_controller_init() call.
30681
30682 Migrate input terminals to new API:
30683
30684 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
30685 `i386' and `i386/pc' to enable build on x86_64 (this driver is
30686 i386-specific anyway).
30687 (grub_console_checkkey): Rename to ...
30688 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
30689 users.
30690 (grub_keyboard_controller_orig): New variable.
30691 (grub_console_getkey): Rename to ...
30692 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
30693 users.
30694 (grub_keyboard_controller_init): Static-ize. Save original
30695 controller value so that it can be restored ...
30696 (grub_keyboard_controller_fini): ... here (new function).
30697 (grub_at_keyboard_term): New structure.
30698 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
30699 functions.
30700
30701 Migrate output terminals to new API:
30702
30703 * term/i386/pc/vga.c (grub_vga_term): Change type to
30704 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30705 members. Update all users.
30706 * term/gfxterm.c (grub_video_term): Change type to
30707 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30708 members. Update all users.
30709 * include/grub/i386/pc/console.h (grub_console_checkkey)
30710 (grub_console_getkey): Do not export (no longer needed by gfxterm,
30711 etc).
30712
30713 Migrate `terminal' command and userland tools to new API:
30714
30715 * commands/terminal.c (grub_cmd_terminal): Split into ...
30716 (grub_cmd_terminal_input): ... this, and ...
30717 (grub_cmd_terminal_output): ... this.
30718 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
30719 `terminal_input' and `terminal_output'.
30720 * util/grub.d/00_header.in: Adjust `terminal' calls to new
30721 `terminal_input' / `terminal_output' API.
30722 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
30723 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
30724 provided ${GRUB_TERMINAL}, convert it).
30725
96e5d876 307262008-11-04 Robert Millan <rmh@aybabtu.com>
30727
30728 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
30729 for FreeBSD.
30730 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
30731
556f3775 307322008-11-03 Bean <bean123ch@gmail.com>
30733
30734 * kern/elf.c (grub_elf32_load): Revert to previous code.
30735 (grub_elf64_load): Likewise.
30736
30737 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
30738
926b9823 307392008-11-01 Robert Millan <rmh@aybabtu.com>
30740
30741 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
30742 (TARGET_CPPFLAGS): Likewise.
30743 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
30744
1432e958 307452008-11-01 Carles Pina i Estany <carles@pina.cat>
30746
30747 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
30748
dba3f844 307492008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 30750
30751 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
30752 addition of objects until the code is not going to be able to fail.
30753
dba3f844 307542008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 30755
30756 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
30757 (add a missing NULL check, and correct them by moving the pointer
30758 operations after the actual check).
30759
7ab28c21 307602008-10-29 Robert Millan <rmh@aybabtu.com>
30761
30762 * util/i386/pc/grub-install.in: Handle empty string as output from
30763 make_system_path_relative_to_its_root().
30764
1b7748eb 307652008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
30766
30767 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
30768 circular metadata worst case scenario. If the metadata is circular
30769 then copy the wrap in place.
30770 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
30771 project lib/format_text/layout.h
30772 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
30773
c9618ab2 307742008-10-03 Felix Zielcke <fzielcke@z-51.de>
30775
7a36edca 30776 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 30777
bf981c62 307782008-10-03 Felix Zielcke <fzielcke@z-51.de>
30779
30780 * util/update-grub_lib.in: Mention filename in warning message.
30781
6d994591 307822008-09-29 Felix Zielcke <fzielcke@z-51.de>
30783
30784 * NEWS: Update for rename of update-grub to grub-mkconfig.
30785
18ade780 307862008-09-29 Felix Zielcke <fzielcke@z-51.de>
30787
30788 * util/update-grub_lib.in: Copy to ...
30789 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 30790 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 30791 * util/update-grub.in: Rename to ...
30792 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
30793 option. Add `--output' option to allow users to specify the generated
30794 configuration file. Default to stdout.
30795 (update_grub_dir): Rename to ...
30796 (grub_mkconfig_dir): ... this.
30797 (grub_cfg): Default to an empty string.
30798 * conf/common.rmk (update-grub): Rename to ...
30799 (grub-mkconfig): ... this.
30800 (update-grub_lib): Copy to ...
30801 (grub-mkconfig_lib): ... this.
30802 (update-grub_SCRIPTS): Copy to ...
30803 (grub-mkconfig_SCRIPTS): ... this. Update all users.
30804 (update-grub_DATA): Rename to ...
30805 (grub-mkconfig_DATA): ... this.
30806
556ce6ac 308072008-09-28 Robert Millan <rmh@aybabtu.com>
30808
30809 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
30810 to `modified'. Add the real `created' field.
30811 (grub_iso9660_uuid): Use `modified' rather than `created' for
30812 constructing the UUID.
30813
308142008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 30815
30816 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
30817 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
30818
92274e85 308192008-09-28 Bean <bean123ch@gmail.com>
30820
30821 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
30822 Thanks to Christian Franke for finding this bug.
30823
add6f17a 308242008-09-25 Robert Millan <rmh@aybabtu.com>
30825
30826 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
30827 instances of grub_util_get_disk_name() (see previous commit).
30828
d2a367b8 308292008-09-25 Robert Millan <rmh@aybabtu.com>
30830
30831 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
30832 `util/i386/get_disk_name.c'.
30833 * conf/i386-efi.rmk: Likewise.
30834 * conf/x86_64-efi.rmk: Likewise.
30835 * conf/i386-coreboot.rmk: Likewise.
30836 * conf/i386-ieee1275.rmk: Likewise.
30837 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
30838 `util/ieee1275/get_disk_name.c'.
30839 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
30840 * util/ieee1275/get_disk_name.c: Remove file.
30841 * util/i386/get_disk_name.c: Remove file.
30842 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
30843 "hd%d" for device.map entries, rather than using
30844 grub_util_get_disk_name().
30845
81a06771 308462008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 30847
30848 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
30849 warning.
30850 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
30851
5a004279 308522008-09-24 Carles Pina i Estany <carles@pina.cat>
30853
30854 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
30855 Changed to 0x5100.
30856 (GRUB_TERM_PPAGE): Changed to 0x4900.
30857
397093d3 308582008-09-24 Robert Millan <rmh@aybabtu.com>
30859
30860 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
30861 macros (they were i386-pc specific).
30862 * include/grub/sparc64/ieee1275/console.h: Likewise.
30863 * include/grub/efi/console.h: Likewise.
30864
a91b6c7c 308652008-09-22 Bean <bean123ch@gmail.com>
30866
30867 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
30868 resident and in attribute list.
30869
30870 * include/grub/ntfs.h (BMP_LEN): Removed.
30871
c40fd116 308722008-09-22 Bean <bean123ch@gmail.com>
30873
81a06771 30874 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 30875 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
30876
30877 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
30878 error occurs, as grub_disk_open will call grub_disk_close, which will
30879 call p->close (scsi).
30880
81a06771 308812008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 30882
30883 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
30884 (AC_PREREQ): Bumped to 2.59.
30885 (AC_TRY_COMPILE): Replace obsolete macro with ...
30886 (AC_COMPILE_IFELSE): ... this.
30887 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
30888 (AC_LINK_IFELSE): ... this.
30889
5dc43410 308902008-09-21 Felix Zielcke <fzielcke@z-51.de>
30891
30892 * autogen.sh: Add a call to `gendistlist.sh'.
30893
9035dce4 308942008-09-19 Christian Franke <franke@computer.org>
30895
30896 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
30897 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
30898 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
30899 Export __enable_execute_stack() to modules.
30900 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
30901 New function.
30902
7fd75377 309032008-09-09 Felix Zielcke <fzielcke@z-51.de>
30904
040030b3 30905 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
30906 Sort the list.
30907
309082008-09-09 Felix Zielcke <fzielcke@z-51.de>
30909
30910 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 30911 #include <grub/util/hostdisk.h>.
30912
89d5ffcf 309132008-09-08 Robert Millan <rmh@aybabtu.com>
30914
30915 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
30916 segments when their filesz is zero (grub_file_read() interprets
81a06771 30917 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 30918 Use `lowest_segment' rather than 0 for calculating the current
30919 segment load address.
30920
40da438f 309212008-09-08 Robert Millan <rmh@aybabtu.com>
30922
30923 * util/hostdisk.c (open_device): Replace a grub_util_info() call
30924 with grub_dprintf("hostdisk", ...), as it was so verbose that it
30925 clobbered useful information.
30926
ddbf5556 309272008-09-08 Robert Millan <rmh@aybabtu.com>
30928
30929 * include/grub/util/biosdisk.h: Move to ...
30930 * include/grub/util/hostdisk.h: ... here. Update all users.
30931 * util/biosdisk.c: Move to ...
30932 * util/hostdisk.c: ... here. Update all users.
30933
783d0f48 309342008-09-07 Robert Millan <rmh@aybabtu.com>
30935
30936 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
30937 variables.
30938 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
30939 and length can be stored directly in the `mbi->mmap_addr' and
30940 `mbi->mmap_length' struct fields.
30941
548e2ea5 309422008-09-07 Robert Millan <rmh@aybabtu.com>
30943
30944 * conf/i386.rmk: New file. Provides declaration for building
30945 `cpuid.mod'.
30946 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
30947 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
30948 variables.
30949 Include `conf/i386.mk'.
30950 * conf/i386-efi.rmk: Likewise.
30951 * conf/x86_64-efi.rmk: Likewise.
30952 * conf/i386-coreboot.rmk: Likewise.
30953 * conf/i386-ieee1275.rmk: Likewise.
30954
0ea85a37 309552008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
30956
30957 Based on patch created by Colin D Bennett <colin@gibibit.com>.
30958 Adds optimization support for BGR based modes.
30959
30960 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
30961 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
30962 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
30963 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
30964 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
30965 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
30966 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
30967 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
30968 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
30969 (grub_video_i386_vbeblit_index_index): Likewise.
30970 (grub_video_i386_vbeblit_replace_directN): Added.
30971 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
30972 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
30973 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
30974 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
30975 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
30976 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 30977 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 30978 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
30979 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
30980 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
30981 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
30982 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
30983 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
30984
30985 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
30986 (grub_video_i386_vbefill_R8G8B8): Likewise.
30987 (grub_video_i386_vbefill_index): Likewise.
30988 (grub_video_i386_vbefill_direct32): Added.
30989 (grub_video_i386_vbefill_direct24): Likewise.
30990 (grub_video_i386_vbefill_direct16): Likewise.
30991 (grub_video_i386_vbefill_direct8): Likewise.
30992
81a06771 30993 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 30994 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
30995 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
30996 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
30997 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
30998 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 30999
0ea85a37 31000 * video/video.c (grub_video_get_blit_format): Updated to use new
31001 blit formats. Added handling for 16 bit color modes.
81a06771 31002
31003 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 31004 fillers.
31005 (common_blitter): Updated to use new blitters.
31006
31007 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31008 Removed.
31009 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31010 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31011 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31012 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31013 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31014 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31015 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31016 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31017 (grub_video_i386_vbeblit_index_index): Likewise.
31018 (grub_video_i386_vbeblit_replace_directN): Added.
31019 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31020 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31021 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31022 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31023 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31024 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31025 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31026 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31027 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31028 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31029 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31030 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31031 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 31032
0ea85a37 31033 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31034 (grub_video_i386_vbefill_R8G8B8): Likewise.
31035 (grub_video_i386_vbefill_index): Likewise.
31036 (grub_video_i386_vbefill_direct32): Added.
31037 (grub_video_i386_vbefill_direct24): Likewise.
31038 (grub_video_i386_vbefill_direct16): Likewise.
31039 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 31040
0ea85a37 31041 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31042 types.
81a06771 31043
0ea85a37 31044 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31045 types.
81a06771 31046
0ea85a37 31047 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31048 blitter types.
81a06771 31049
0ea85a37 31050 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31051 types.
31052
e8a83df6 310532008-09-06 Felix Zielcke <fzielcke@z-51.de>
31054
31055 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31056 RAID level 1.
31057
6bcd8ee5 310582008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 31059
6bcd8ee5 31060 * fs/iso9660.c (grub_iso9660_date): New structure.
31061 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31062 (grub_iso9660_uuid): New function.
c375ae58 31063
59261157 310642008-09-05 Bean <bean123ch@gmail.com>
31065
31066 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
31067
31068 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
31069 insensitive bit for names in Win32 and Win32 & DOS namespace.
31070
31071 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
31072
31073 * include/grub/types.h (LONG_MAX): Likewise.
31074
58b6645a 310752008-09-04 Felix Zielcke <fzielcke@z-51.de>
31076
4ee55921 31077 * util/getroot.c: Include <config.h>.
31078 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
31079 add support for /dev/md/N devices and handle LVM double dash escaping.
31080
310812008-09-04 Felix Zielcke <fzielcke@z-51.de>
31082
31083 * config.guess: Update to latest version from config git.
31084 * config.sub: Likewise.
58b6645a 31085
9124f65d 310862008-09-03 Robert Millan <rmh@aybabtu.com>
31087
31088 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
31089 `disk->total_sectors'.
31090
81a06771 310912008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 31092
31093 * include/grub/normal.h: Fixed incorrect comment for
31094 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
31095
81a06771 310962008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 31097
31098 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
31099 values with defines.
31100
31101 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
31102 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
31103 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
31104 (GRUB_VBE_MODEATTR_COLOR): Likewise.
31105 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
31106 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
31107 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
31108 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
31109 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
31110 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
31111 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
31112 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
31113 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
31114 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
31115 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
31116 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
31117 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
31118 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
31119 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
31120
93d5cbf8 311212008-08-31 Robert Millan <rmh@aybabtu.com>
31122
31123 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
31124 declaration.
31125 (grub_multiboot): Fix a few warnings.
31126
21751d50 311272008-08-31 Robert Millan <rmh@aybabtu.com>
31128
31129 * loader/i386/pc/multiboot.c: Update comment not to say that
31130 boot_device support is unimplemented.
31131
e27a75c5 311322008-08-31 Robert Millan <rmh@aybabtu.com>
31133
31134 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
31135 or memory map support are unimplemented.
31136
81a06771 311372008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 31138
31139 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
31140
81a06771 311412008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 31142
31143 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
31144 total video memory in 'vbeinfo' output; show color format details for
31145 each video mode.
31146
7c5d8d95 311472008-08-30 Pavel Roskin <proski@gnu.org>
31148
31149 * util/genmoddep.c: Remove for real this time.
31150 * DISTLIST: Remove util/genmoddep.c.
31151
4cebd25a 311522008-08-30 Robert Millan <rmh@aybabtu.com>
31153
31154 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
31155 as required by Multiboot spec (it was already 4-byte aligned, but
31156 only by chance).
31157
b497a269 311582008-08-29 Pavel Roskin <proski@gnu.org>
31159
e3925185 31160 * kern/powerpc/ieee1275/crt0.S: Rename to ...
31161 * kern/powerpc/ieee1275/startup.S: ... this.
31162 * conf/powerpc-ieee1275.rmk: Adjust for the above.
31163 * DISTLIST: Likewise.
31164
b497a269 31165 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
31166 grub/cpu/kernel.h. Add start label for consistency with other
31167 platforms. Add grub_prefix immediately after start. Add jump
31168 to the code after grub_prefix.
31169 * include/grub/powerpc/kernel.h: Provide valid values for
31170 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
31171
6e5a42fe 311722008-08-29 Bean <bean123ch@gmail.com>
31173
31174 * configure.ac: Change host_os to cygwin for mingw.
31175 (asprintf): New check for function.
31176
31177 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
31178 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
31179
31180 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 31181 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 31182 sync, sleep and grub_util_get_disk_size for mingw.
31183
31184 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
31185 to get size in mingw.
31186 (open_device): Use flag O_BINARY if it's defined.
31187 (find_root_device): Add dummy code for mingw.
31188
31189 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
31190 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
31191 (get_scsi_disk_name): Return 0 for mingw.
31192
31193 * util/hostfs.c: #include <grub/util/misc.h>.
31194 (grub_hostfs_open): Use "rb" flag to open file, use
31195 grub_util_get_disk_size to get disk size for mingw.
31196
31197 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
31198 (asprintf): New function if HAVE_ASPRINTF is not set.
31199 (sync): New function for mingw.
31200 (sleep): Likewise.
31201 (grub_util_get_disk_size): Likewise.
31202
ab3f2673 312032008-08-28 Pavel Roskin <proski@gnu.org>
31204
31205 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31206 kern/time.c.
31207
1c282483 312082008-08-28 Robert Millan <rmh@aybabtu.com>
31209
31210 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
31211
678e849c 312122008-08-28 Robert Millan <rmh@aybabtu.com>
31213
31214 Change find_grub_drive() syntax so it doesn't prevent it from
31215 detecting NULL names as errors.
31216
31217 * util/biosdisk.c (find_grub_drive): Move free slot search code
31218 from here ...
31219 (find_free_slot): ... to here.
31220 (read_device_map): Use find_free_slot() to search for free slots.
31221
965c75ca 312222008-08-27 Marco Gerards <marco@gnu.org>
31223
31224 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
31225 (scsi_mod_SOURCES): New variable.
31226 (scsi_mod_CFLAGS): Likewise
31227 (scsi_mod_LDFLAGS): Likewise.
31228
31229 * disk/scsi.c: New file.
31230
31231 * include/grub/scsi.h: Likewise.
31232
31233 * include/grub/scsicmd.h: Likewise.
31234
31235 * disk/ata.c: Include <grub/scsi.h>.
31236 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
31237 instead.
31238 (grub_ata_iterate): Skip ATAPI devices.
31239 (grub_ata_open): Only handle ATAPI devices.
31240 (struct grub_atapi_read): Removed.
31241 (grub_atapi_readsector): Likewise.
31242 (grub_ata_read): No longer handle ATAPI devices.
31243 (grub_ata_write): Likewise.
31244 (grub_atapi_iterate): New function.
31245 (grub_atapi_read): Likewise.
31246 (grub_atapi_write): Likewise.
31247 (grub_atapi_open): Likewise.
31248 (grub_atapi_close): Likewise.
31249 (grub_atapi_dev): New variable.
31250 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
31251 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
31252
31253 * include/grub/disk.h (enum grub_disk_dev_id): Add
31254 `GRUB_DISK_DEVICE_SCSI_ID'.
31255
c07ae501 312562008-08-26 Robert Millan <rmh@aybabtu.com>
31257
31258 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
31259 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
31260 descriptive.
31261
5ed20adc 312622008-08-23 Bean <bean123ch@gmail.com>
31263
31264 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
31265 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31266 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
31267 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
31268 dm_nv.mod.
31269 (raid5rec_mod_SOURCES): New macro.
31270 (raid5rec_mod_CFLAGS): Likewise.
31271 (raid5rec_mod_LDFLAGS): Likewise.
31272 (raid6rec_mod_SOURCES): Likewise.
31273 (raid6rec_mod_CFLAGS): Likewise.
31274 (raid6rec_mod_LDFLAGS): Likewise.
31275 (mdraid_mod_SOURCES): Likewise.
31276 (mdraid_mod_CFLAGS): Likewise.
31277 (mdraid_mod_LDFLAGS): Likewise.
31278 (dm_nv_mod_SOURCES): Likewise.
31279 (dm_nv_mod_CFLAGS): Likewise.
31280 (dm_nv_mod_LDFLAGS): Likewise.
31281
31282 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
31283 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31284 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31285
31286 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
31287 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31288
31289 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31290
31291 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31292
31293 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31294
31295 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31296
31297 * disk/raid5_recover.c: New file.
31298
31299 * disk/raid6_recover.c: Likewise.
31300
31301 * disk/mdraid_linux.c: Likewise.
31302
31303 * disk/dmraid_nvidia.c: Likewise.
31304
31305 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
31306 ULONG_MAX.
31307
31308 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
31309 calculate the size of raid device.
31310 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
31311 different layout of raid5.
31312 (grub_raid_scan_device): Remove code specific to mdraid.
31313 (grub_raid_list): New variable.
31314 (free_array): New function.
31315 (grub_raid_register): Likewise.
31316 (grub_raid_unregister): Likewise.
31317 (grub_raid_rescan): Likewise.
31318 (GRUB_MOD_INIT): Don't iterate device here.
31319 (GRUB_MOD_FINI): Use free_array to release resource.
31320
31321 * include/grub/raid.h: Remove macro and structure specific to mdraid.
31322 (grub_raid5_recover_func_t): New function variable type.
31323 (grub_raid6_recover_func_t): Likewise.
31324 (grub_raid5_recover_func): New variable.
31325 (grub_raid6_recover_func): Likewise.
31326 (grub_raid_register): New function.
31327 (grub_raid_unregister): Likewise.
31328 (grub_raid_rescan): Likewise.
31329 (grub_raid_block_xor): Likewise.
31330
31331 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
31332 (CMD_CRC): New macro.
31333 (part): Removed.
31334 (read_file): Handle device as well as file.
31335 (cmd_crc): New function.
31336 (fstest): Handle multiple disks.
31337 (options): Remove part, raw and long, add root and diskcount.
31338 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 31339 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 31340 add handling for the new options, support multiple disks.
31341
31342 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
31343
29c18915 313442008-08-23 Bean <bean123ch@gmail.com>
31345
31346 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
31347
31348 * genfslist.sh: Ignore kernel.mod.
31349
31350 * genpartmaplist.sh: Likewise.
31351
8415f261 313522008-08-23 Robert Millan <rmh@aybabtu.com>
31353
31354 * util/getroot.c (find_root_device): Skip anything that starts with
31355 a dot, not just directories. This avoids things like /dev/.tmp.md0.
31356
d5a7dc5b 313572008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 31358
d5a7dc5b 31359 * util/update-grub.in (GRUB_GFXMODE): Export variable.
31360 * util/grub.d/00_header.in: Allow the administrator to change default
31361 gfxmode via ${GRUB_GFXMODE}.
31362
380cfbb4 313632008-08-21 Felix Zielcke <fzielcke@z-51.de>
31364
31365 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
31366
c9baafe7 313672008-08-21 Robert Millan <rmh@aybabtu.com>
31368
31369 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
31370 loader.
31371 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
31372 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
31373
e290bef2 313742008-08-20 Carles Pina i Estany <carles@pina.cat>
31375
31376 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
31377 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
31378
f9dbfc96 313792008-08-19 Robert Millan <rmh@aybabtu.com>
31380
31381 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
31382 (struct grub_virtual_screen): Remove `cursor_color'.
31383 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
31384 initialization.
31385 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
31386
dd6bd6ab 313872008-08-18 Robert Millan <rmh@aybabtu.com>
31388
31389 Unify (identical) linux_normal.c files.
31390 * loader/i386/efi/linux_normal.c: Move from here ...
31391 * loader/linux_normal.c: ... to here. Update all users.
31392 * loader/i386/pc/linux_normal.c: Delete. Update all users.
31393 * loader/i386/ieee1275/linux_normal.c: Likewise.
31394
7f42f83e 313952008-08-18 Robert Millan <rmh@aybabtu.com>
31396
31397 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
31398 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
31399 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
31400 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
31401 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
31402 New macros.
31403 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
31404 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
31405 (GRUB_LINUX_CL_END_OFFSET): ... to here.
31406 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
31407 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
31408 (GRUB_EFI_CL_END_OFFSET): Rename to ...
31409 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
31410 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
31411 Initialize `params->video_cursor_x' and `params->video_cursor_y'
31412 portably using grub_getxy().
31413 Replace `-EFI' with `-bzImage' in boot message.
31414
38487ddb 314152008-08-17 Robert Millan <rmh@aybabtu.com>
31416
31417 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
31418
deceb3ec 314192008-08-17 Robert Millan <rmh@aybabtu.com>
31420
31421 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
31422
31423 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
31424 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
31425 (grub_machine_mmap_iterate): New function declaration.
31426 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
31427 structure.
31428 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
31429 macros.
31430
31431 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
31432 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
31433 Move e820 parsing from here ...
31434 * kern/i386/pc/mmap.c: New file.
31435 (grub_machine_mmap_iterate): ... to here.
31436
31437 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
31438 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
31439 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
31440 (grub_available_iterate): Redeclare to return `void', and redeclare
31441 its hook to use grub_uint64_t as addr and size parameters, and rename
31442 to ...
31443 (grub_machine_mmap_iterate): ... this. Update all users.
31444
31445 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
31446 to make it more readable. Rename to ...
31447 (grub_machine_mmap_iterate): ... this.
31448
31449 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
31450 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
31451 (grub_multiboot): Allocate an extra region after the payload, and fill
31452 it with a Multiboot memory map. Adjust a.out loader to calculate size
31453 with the extra space.
31454 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
31455 with the extra space.
31456
f8aa0f43 314572008-08-17 Carles Pina i Estany <carles@pina.cat>
31458
9807deb9 31459 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 31460
605f5bb6 314612008-08-17 Felix Zielcke <fzielcke@z-51.de>
31462
31463 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
31464 mdate-sh to the list `find' searches for.
31465 * DISTLIST: Regenerated.
31466
210db6c6 314672008-08-16 Felix Zielcke <fzielcke@z-51.de>
31468
31469 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
31470 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 31471 genmoddep.awk, gensymlist.sh.in.
31472 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 31473 * DISTLIST: Regenerated.
48cdbfd4 31474 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 31475
1082b929 314762008-08-16 Robert Millan <rmh@aybabtu.com>
31477
31478 * disk/raid.c (grub_raid_init): Handle/report errors set by
31479 grub_device_iterate().
31480 * disk/lvm.c (grub_lvm_init): Likewise.
31481
42ce5170 314822008-08-15 Bean <bean123ch@gmail.com>
31483
31484 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31485 and datehook.mod.
31486 (datetime_mod_SOURCES): New macro.
31487 (datetime_mod_CFLAGS): Likewise.
31488 (datetime_mod_LDFLAGS): Likewise.
31489 (date_mod_SOURCES): Likewise.
31490 (date_mod_CFLAGS): Likewise.
31491 (date_mod_LDFLAGS): Likewise.
31492 (datehook_mod_SOURCES): Likewise.
31493 (datehook_mod_CFLAGS): Likewise.
31494 (datehook_mod_LDFLAGS): Likewise.
31495
31496 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31497 and datehook.mod.
31498 (datetime_mod_SOURCES): New macro.
31499 (datetime_mod_CFLAGS): Likewise.
31500 (datetime_mod_LDFLAGS): Likewise.
31501 (date_mod_SOURCES): Likewise.
31502 (date_mod_CFLAGS): Likewise.
31503 (date_mod_LDFLAGS): Likewise.
31504 (datehook_mod_SOURCES): Likewise.
31505 (datehook_mod_CFLAGS): Likewise.
31506 (datehook_mod_LDFLAGS): Likewise.
31507
31508 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31509 and datehook.mod.
31510 (datetime_mod_SOURCES): New macro.
31511 (datetime_mod_CFLAGS): Likewise.
31512 (datetime_mod_LDFLAGS): Likewise.
31513 (date_mod_SOURCES): Likewise.
31514 (date_mod_CFLAGS): Likewise.
31515 (date_mod_LDFLAGS): Likewise.
31516 (datehook_mod_SOURCES): Likewise.
31517 (datehook_mod_CFLAGS): Likewise.
31518 (datehook_mod_LDFLAGS): Likewise.
31519
31520 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31521 and datehook.mod.
31522 (datetime_mod_SOURCES): New macro.
31523 (datetime_mod_CFLAGS): Likewise.
31524 (datetime_mod_LDFLAGS): Likewise.
31525 (date_mod_SOURCES): Likewise.
31526 (date_mod_CFLAGS): Likewise.
31527 (date_mod_LDFLAGS): Likewise.
31528 (datehook_mod_SOURCES): Likewise.
31529 (datehook_mod_CFLAGS): Likewise.
31530 (datehook_mod_LDFLAGS): Likewise.
31531
31532 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31533 and datehook.mod.
31534 (datetime_mod_SOURCES): New macro.
31535 (datetime_mod_CFLAGS): Likewise.
31536 (datetime_mod_LDFLAGS): Likewise.
31537 (date_mod_SOURCES): Likewise.
31538 (date_mod_CFLAGS): Likewise.
31539 (date_mod_LDFLAGS): Likewise.
31540 (datehook_mod_SOURCES): Likewise.
31541 (datehook_mod_CFLAGS): Likewise.
31542 (datehook_mod_LDFLAGS): Likewise.
31543
31544 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
31545
31546 * commands/date.c: New file.
31547
31548 * hook/datehook.c: Likewise.
31549
31550 * include/grub/lib/datetime.h: Likewise.
31551
31552 * include/grub/i386/cmos.h: Likewise.
31553
31554 * lib/datetime.c: Likewise.
31555
31556 * lib/i386/datetime.c: Likewise.
31557
31558 * lib/efi/datetime.c: Likewise.
31559
0e9242da 315602008-08-14 Robert Millan <rmh@aybabtu.com>
31561
31562 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
31563 (grub_mkelfimage_SOURCES): New variable.
31564 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
31565
31566 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
31567 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
31568 * conf/powerpc-ieee1275.rmk: Likewise.
31569 * conf/i386-ieee1275.rmk: Likewise.
31570
31571 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
31572 * kern/i386/coreboot/init.c: Likewise.
31573
31574 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
31575 with `<grub/cpu/kernel.h>'.
31576 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
31577 to ...
31578 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
31579 * kern/i386/coreboot/startup.S: Likewise.
31580
31581 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
31582 (GRUB_MOD_GAP): Remove.
31583 * include/grub/powerpc/kernel.h: New file.
31584 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
31585 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31586 * include/grub/i386/kernel.h: New file.
31587 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
31588 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
31589 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31590
31591 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
31592 `grub-mkelfimage'.
31593 Use --directory when invoking grub_mkimage.
31594
31595 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
31596 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
31597 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
31598 and GRUB_KERNEL_CPU_PREFIX.
31599
b86408f8 316002008-08-14 Felix Zielcke <fzielcke@z-51.de>
31601
d5e619ca 31602 * include/grub/err.h (grub_err_printf): New function prototype.
31603 * util/misc.c (grub_err_printf): New function.
31604 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
31605 grub_printf.
31606 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 31607
7161f0e0 316082008-08-13 Robert Millan <rmh@aybabtu.com>
31609
31610 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
31611
a1967522 316122008-08-13 Robert Millan <rmh@aybabtu.com>
31613
31614 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
31615 boot entry.
31616
371458b5 316172008-08-12 Robert Millan <rmh@aybabtu.com>
31618
31619 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
31620 of the relocation code from here ...
31621 (grub_multiboot): ... to here.
31622 (forward_relocator, backward_relocator): Move from here ...
31623 * kern/i386/loader.S (grub_multiboot_forward_relocator)
31624 (grub_multiboot_backward_relocator): ... to here.
31625 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
31626 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
31627 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
31628 (grub_multiboot_forward_relocator_end)
31629 (grub_multiboot_backward_relocator)
31630 (grub_multiboot_backward_relocator_end): New variables.
31631
05f9452b 316322008-08-12 Bean <bean123ch@gmail.com>
31633
31634 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
31635
20024ab0 316362008-08-11 Robert Millan <rmh@aybabtu.com>
31637
31638 * kern/i386/linuxbios/startup.S: Move from here ...
31639 * kern/i386/coreboot/startup.S: ... to here.
31640
31641 * kern/i386/linuxbios/init.c: Move from here ...
31642 * kern/i386/coreboot/init.c: ... to here.
31643
31644 * kern/i386/linuxbios/table.c: Move from here ...
31645 * kern/i386/coreboot/mmap.c: ... to here.
31646
31647 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
31648
e352e9cd 316492008-08-11 Robert Millan <rmh@aybabtu.com>
31650
31651 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
31652 errors. Leave it to the upper layer to handle them.
31653
2d05bc6a 316542008-08-09 Christian Franke <franke@computer.org>
31655
31656 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
31657 * conf/common.rmk: Install `grub-pe2elf' only if requested.
31658 Install `grub.d/10_windows' only on Cygwin.
31659 * configure.ac: Add subst of `target_os'.
31660 Check `target_os' also before setting TARGET_OBJ2ELF.
31661 Add `--enable-grub-pe2elf'.
31662
042bd419 316632008-08-08 Robert Millan <rmh@aybabtu.com>
31664
31665 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31666 (grub_last_time): Change type to grub_uint64_t.
31667 (grub_disk_open): Migrate code from to using grub_get_time_ms().
31668 (grub_disk_close): Likewise.
31669
31670 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31671 (run_menu): Migrate code from to using grub_get_time_ms().
31672
31673 * util/misc.c (grub_get_time_ms): New function.
31674
7f280db5 316752008-08-08 Marco Gerards <marco@gnu.org>
31676
31677 * disk/ata.c (grub_ata_regget): Change return type to
31678 `grub_uint8_t'.
31679 (grub_ata_regget2): Likewise.
31680 (grub_ata_wait_status): New function.
31681 (grub_ata_wait_busy): Removed function, updated all users to use
31682 `grub_ata_wait_status'.
31683 (grub_ata_wait_drq): Likewise.
31684 (grub_ata_cmd): New function.
31685 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
31686 error handling.
31687 (grub_ata_pio_write): Add error handling.
31688 (grub_atapi_identify): Likewise.
31689 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
31690 handling.
31691 (grub_ata_identify): Use `grub_ata_cmd' and improve error
31692 handling. Actually use the detected registers. Reorder the
31693 detection logic such that it is easier to read.
31694 (grub_ata_pciinit): Do not assign the same ID to each controller.
31695 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
31696 handling.
31697 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
31698
31699 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
31700
1fbc5e66 317012008-08-08 Marco Gerards <marco@gnu.org>
31702
31703 * NEWS: Update.
31704
819ce6c0 317052008-08-07 Bean <bean123ch@gmail.com>
31706
31707 * include/grub/x86_64/pci.h: New file.
31708
5c41d44d 317092008-08-07 Christian Franke <franke@computer.org>
31710
31711 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
31712 (TIMER2_GATE): Likewise.
31713 (grub_pit_wait): Add enable/disable of the timer2 gate
31714 bit of port 0x61. This fixes a possible infinite loop.
31715
5ebc275d 317162008-08-07 Bean <bean123ch@gmail.com>
31717
31718 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
31719 kern/i386/tsc.c and kern/i386/pit.c.
31720
31721 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
31722 x86_64 platform.
31723
31724 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
31725 <grub/i386/tsc.h>.
31726
31727 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
31728
e383b3d0 317292008-08-07 Bean <bean123ch@gmail.com>
31730
31731 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
31732
31733 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
31734
31735 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
31736 multiple inclusion. Add #include <grub/types.h>.
31737
1cbb58ac 317382008-08-06 Christian Franke <franke@computer.org>
31739
31740 * conf/common.rmk: Build and install `10_windows'.
31741 * util/grub.d/10_windows.in: New script.
31742
337f5a1e 317432008-08-06 Pavel Roskin <proski@gnu.org>
31744
31745 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
31746
057bc4ac 317472008-08-06 Robert Millan <rmh@aybabtu.com>
31748
31749 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
31750 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
31751
2b99f123 317522008-08-06 Bean <bean123ch@gmail.com>
31753
31754 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
31755 (grub_pxefs_fs_int): Remove dummy definition.
31756 (grub_pxefs_open): Use data->block_size to store the current block
31757 size setting.
31758 (grub_pxefs_read): Use block size stored in data->block_size. As the
31759 value of grub_pxe_blksize can be changed after the file is opened.
31760
9f0234cb 317612008-08-06 Bean <bean123ch@gmail.com>
31762
31763 * fs/i386/pc/pxe.c (curr_file): new variable.
31764 (grub_pxefs_open): Simply the handling of pxe file system. Don't
31765 require the dummy internal file system anymore.
31766 (grub_pxefs_read): Removed.
31767 (grub_pxefs_close): Likewise.
31768 (grub_pxefs_fs_int): Likewise.
31769 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
31770 connection when we switch file.
31771 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
31772
a55d42e0 317732008-08-06 Robert Millan <rmh@aybabtu.com>
31774
31775 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
31776 `halt.mod'.
31777 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
31778 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
31779
31780 * kern/i386/halt.c: New file.
31781 * kern/i386/reboot.c: Likewise.
31782 * include/grub/i386/reboot.h: Likewise.
31783 * include/grub/i386/halt.h: Likewise.
31784
31785 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
31786 Include `<grub/cpu/halt.h>'.
31787 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
31788 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
31789
31790 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
31791 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
31792 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
31793 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
31794 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
31795 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
31796 from here ...
31797 * include/grub/i386/at_keyboard.h: ... to here.
31798
24371d26 317992008-08-05 Robert Millan <rmh@aybabtu.com>
31800
31801 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
31802 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
31803 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
31804 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31805 `kern/generic/millisleep.c'.
31806
31807 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
31808 instead of grub_get_rtc().
31809 (grub_tsc_init): Initialize `tsc_boot_time'.
31810
31811 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
31812 (grub_machine_init): Use grub_tsc_init() rather than
31813 installing an RTC-based handler via grub_install_get_time_ms().
31814
31815 * kern/i386/pit.c: New file.
31816 * include/grub/i386/pit.h: Likewise.
31817
9e7007b3 318182008-08-05 Bean <bean123ch@gmail.com>
31819
31820 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
31821
31822 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
31823 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
31824 (pxe_mod_SOURCES): New macro.
31825 (pxe_mod_CFLAGS): Likewise.
31826 (pxe_mod_LDFLAGS): Likewise.
31827 (pxecmd_mod_SOURCES): Likewise.
31828 (pxecmd_mod_CFLAGS): Likewise.
31829 (pxecmd_mod_LDFLAGS): Likewise.
31830
31831 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
31832 (grub_pxe_call): Likewise.
31833
31834 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
31835
31836 * commands/i386/pc/pxecmd.c: New file.
31837
9f0234cb 31838 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 31839
31840 * include/grub/i386/pc/pxe.h: Likewise.
31841
6977d49f 318422008-08-05 Bean <bean123ch@gmail.com>
31843
31844 * util/console.c (grub_console_cur_color): New variable.
31845 (grub_console_standard_color): Likewise.
31846 (grub_console_normal_color): Likewise.
31847 (grub_console_highlight_color): Likewise.
31848 (color_map): Likewise.
31849 (use_color): Likewise.
31850 (NUM_COLORS): New macro.
31851 (grub_ncurses_setcolorstate): Handle color properly.
31852 (grub_ncurses_setcolor): Don't change color here, just remember the
31853 settings, color will be set in grub_ncurses_setcolorstate.
31854 (grub_ncurses_getcolor): New function.
31855 (grub_ncurses_init): Initialize color pairs.
31856 (grub_ncurses_term): New member grub_ncurses_getcolor.
31857
9c2ff3ee 318582008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 31859
9c2ff3ee 31860 High resolution timer support. Implemented for x86 CPUs using TSC.
31861 Extracted generic grub_millisleep() so it's linked in only as needed.
31862 This requires a Pentium compatible CPU; if the RDTSC instruction is
31863 not supported, then it falls back on the generic grub_get_time_ms()
31864 implementation that uses the machine's RTC.
31865
31866 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
31867 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31868 `kern/generic/millisleep.c'.
31869
31870 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
31871 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
31872
31873 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
31874 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
31875
31876 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31877
31878 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31879 `kern/generic/millisleep.c'.
31880
31881 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31882
31883 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
31884
31885 * kern/generic/rtc_get_time_ms.c: New file.
31886
31887 * kern/generic/millisleep.c: New file.
337f5a1e 31888
9c2ff3ee 31889 * kern/misc.c: Don't include
31890 <kern/time.h> anymore.
31891 (grub_millisleep_generic): Removed.
31892
31893 * commands/sleep.c (grub_interruptible_millisleep): Uses
31894 grub_get_time_ms() instead of grub_get_rtc().
31895
31896 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
31897 function.
31898 (grub_cpu_is_cpuid_supported): New inline function.
31899 (grub_cpu_is_tsc_supported): New inline function.
31900 (grub_tsc_init): New function prototype.
31901 (grub_tsc_get_time_ms): New function prototype.
31902
31903 * kern/i386/tsc.c (grub_get_time_ms): New file.
31904
31905 * include/grub/time.h: Include <grub/types.h.
31906 (grub_millisleep_generic): Removed.
31907 (grub_get_time_ms): New prototype.
31908 (grub_install_get_time_ms): New prototype.
31909 (grub_rtc_get_time_ms): New prototype.
31910
31911 * kern/time.c (grub_get_time_ms): New function.
31912 (grub_install_get_time_ms): New function.
31913
31914 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
31915 <grub/time.h> anymore.
31916 (grub_millisleep): Removed.
31917 (grub_machine_init): Call grub_tsc_init.
31918
31919 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
31920 get_time_ms() implementation.
31921
31922 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
31923 (ieee1275_get_time_ms): New function.
31924 (grub_machine_init): Install get_time_ms() implementation.
31925
31926 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
31927 (grub_machine_init): Call grub_tsc_init().
31928 (grub_millisleep): Removed.
bf06a93f 31929
9c2ff3ee 31930 * kern/ieee1275/init.c (grub_millisleep): Removed.
31931 (grub_machine_init): Install ieee1275_get_time_ms()
31932 implementation.
31933 (ieee1275_get_time_ms): New function.
31934 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
31935 real work.
31936
9ec92aaf 319372008-08-05 Marco Gerards <marco@gnu.org>
31938
31939 * disk/ata.c: Include <grub/pci.h>.
31940 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
31941 (grub_ata_initialize): Rewritten.
31942 (grub_ata_device_initialize): New function.
31943
8d23f507 319442008-08-04 Pavel Roskin <proski@gnu.org>
31945
31946 * kern/main.c: Include grub/mm.h.
31947
5e15ee3d 319482008-08-04 Robert Millan <rmh@aybabtu.com>
31949
31950 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
31951 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
31952 corruption problem).
31953
a9053f8f 319542008-08-04 Robert Millan <rmh@aybabtu.com>
31955
31956 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
31957 warnings introduced in my last commit.
31958
dd19c7d7 319592008-08-03 Robert Millan <rmh@aybabtu.com>
31960
31961 Make PCI available on all i386 architectures.
31962
31963 * include/grub/i386/pc/pci.h: Move from here ...
31964 * include/grub/i386/pci.h: ... to here.
31965
31966 * include/grub/i386/pc/pci.h: Remove.
31967 * include/grub/i386/efi/pci.h: Remove.
31968 * include/grub/x86_64/efi/pci.h: Remove.
31969
31970 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
31971 `<grub/cpu/pci.h>'.
31972
31973 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
31974 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
31975 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
31976
31977 * conf/i386-ieee1275.rmk: Likewise.
31978
e14a6184 319792008-08-03 Robert Millan <rmh@aybabtu.com>
31980
31981 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
31982 (grub_console_setcursor): Make it possible to set cursor off.
31983
52768e37 319842008-08-03 Robert Millan <rmh@aybabtu.com>
31985
31986 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
31987 of modules instead of assuming which platform provides what.
31988 * util/update-grub.in: Likewise.
31989
2d52f57f 319902008-08-03 Robert Millan <rmh@aybabtu.com>
31991
31992 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
31993 instead of `grub_install_dos_part' to determine whether a drive needs
31994 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 31995 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 31996
2a5cd121 319972008-08-02 Robert Millan <rmh@aybabtu.com>
31998
31999 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32000
93808428 320012008-08-02 Robert Millan <rmh@aybabtu.com>
32002
32003 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32004 of informational grub_dprintf() calls.
32005
3bd0a12a 320062008-08-02 Robert Millan <rmh@aybabtu.com>
32007
32008 * disk/memdisk.c (memdisk_size): Don't initialize.
32009 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32010
32011 * include/grub/i386/pc/kernel.h
32012 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32013 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32014 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32015 (grub_arch_memdisk_size): Remove.
32016
32017 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32018 field (was only used to transfer a constant). Add `type' field to
32019 support multiple module types.
32020 (grub_module_iterate): New function.
32021
32022 * kern/device.c (grub_device_open): Do not hide error messages
32023 when grub_disk_open() fails. Use grub_print_error() instead.
32024
32025 * kern/i386/pc/init.c (grub_arch_modules_addr)
32026 (grub_arch_memdisk_size): Remove functions.
32027 (grub_arch_modules_addr): Return the module address in high memory
32028 (now that it isn't copied anymore).
32029
32030 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32031 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32032 decompression routine (grub_total_module_size already includes that
32033 now). Don't copy modules back to low memory.
32034
32035 * kern/main.c: Include `<grub/mm.h>'.
32036 (grub_load_modules): Split out (and use) ...
32037 (grub_module_iterate): ... this function, which iterates through
32038 module objects and runs a hook.
32039 Comment out grub_mm_init_region() call, as it would cause non-ELF
32040 modules to be overwritten.
32041
32042 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32043 the memdisk image in its own region, make it part of the module list.
32044 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32045 (main): Parse --memdisk|-m option, and pass user-provided path as
32046 parameter to generate_image().
32047 (add_segments): Pass `memdisk_path' down to load_modules().
32048 (load_modules): Embed memdisk image in module section when requested.
32049 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32050 `header.type' instead of `header.offset'.
32051
32052 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32053 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32054 (memdisk_mod_LDFLAGS): New variables.
32055 * conf/i386-coreboot.rmk: Likewise.
32056 * conf/i386-ieee1275.rmk: Likewise.
32057
a927cc73 320582008-08-02 Robert Millan <rmh@aybabtu.com>
32059
32060 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32061 (backward_relocator): New variables. Used to allocate and relocate
32062 the payload, respectively.
32063 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 32064 address, install the appropriate relocator code in each bound of
a927cc73 32065 the payload, and set the entry point such that
32066 grub_multiboot_real_boot() will jump to one of them.
32067
32068 * kern/i386/loader.S (grub_multiboot_payload_size)
32069 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32070 (grub_multiboot_payload_entry_offset): New variables.
32071 (grub_multiboot_real_boot): Set cpu context to what the relocator
32072 expects, and jump to the relocator instead of the payload.
32073
32074 * include/grub/i386/loader.h (grub_multiboot_payload_size)
32075 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32076 (grub_multiboot_payload_entry_offset): Export.
32077
b15d8a0c 320782008-08-01 Bean <bean123ch@gmail.com>
32079
32080 * normal/menu_entry.c (editor_getline): Don't return the original
32081 string as result, as it will be released by lexer once it has done
32082 using it.
32083
cdfb3d22 320842008-08-01 Robert Millan <rmh@aybabtu.com>
32085
32086 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
32087 within menuentries, not before them.
32088 util/grub.d/10_hurd.in: Likewise.
32089
9175e93d 320902008-08-01 Bean <bean123ch@gmail.com>
32091
32092 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
32093 (bufio_mod_SOURCES): New macro.
32094 (bufio_mod_CFLAGS): Likewise.
32095 (bufio_mod_LDFLAGS): Likewise.
32096
32097 * include/grub/bufio.h: New file.
32098
32099 * io/bufio.c: Likewise.
32100
32101 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
32102 (grub_video_reader_png): Use grub_buffile_open to open file.
32103
32104 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
32105 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
32106
32107 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
32108 (grub_video_reader_tga): Use grub_buffile_open to open file.
32109
32110 * font/manager.c: Include <grub/bufio.h>.
32111 (add_font): Use grub_buffile_open to open file.
32112
3d8383e7 321132008-07-31 Robert Millan <rmh@aybabtu.com>
32114
32115 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
32116 ELF segments, use a macro for arbitrarily accessing any of them instead
32117 of preparing a pointer that allows access to one at a time.
32118 (grub_multiboot_load_elf64): Likewise.
32119
16e641b6 321202008-07-31 Bean <bean123ch@gmail.com>
32121
32122 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
32123 GRUB_KERNEL_MACHINE_DATA_END.
32124
59198b72 321252008-07-30 Robert Millan <rmh@aybabtu.com>
32126
32127 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
32128 Increase from 0x50 to 0x60.
32129 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
32130 use UUIDs to identify the root drive for them. If that's not
32131 possible, abort.
32132 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
32133 check, for cross-disk installs.
32134
ae88bca3 321352008-07-30 Robert Millan <rmh@aybabtu.com>
32136
32137 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
32138 is non-empty, use it to set the `prefix' environment variable instead
32139 of the usual approach.
32140 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
32141 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
32142 environment variable instead of dummy make_install_device().
32143
32144 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
32145 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 32146 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 32147
32148 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
32149 New variable reference.
32150 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
32151 New macro. Defines offset of `grub_prefix' within startup.S (relative
32152 to `start').
32153 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
32154 section within startup.S (relative to `start').
32155 * include/grub/i386/coreboot/kernel.h: Likewise.
32156
32157 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
32158 Overwrite grub_prefix with its contents, at the beginning of the
32159 first segment.
32160 (main): Understand -p|--prefix.
32161
14f41dd1 321622008-07-30 Robert Millan <rmh@aybabtu.com>
32163
32164 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
32165
4ca049a3 321662008-07-30 Robert Millan <rmh@aybabtu.com>
32167
32168 * term/i386/pc/vga_text.c (grub_console_cls): Use
32169 grub_console_gotoxy() to go back to beginning of the screen.
32170 Found by Patrick Georgi <patrick.georgi@coresystems.de>
32171
2921d337 321722008-07-29 Christian Franke <franke@computer.org>
32173
32174 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32175 Add conversion of emulated mount points on Cygwin.
32176
b609876d 321772008-07-29 Christian Franke <franke@computer.org>
32178
32179 * util/update-grub.in: Add a check for admin
32180 group on Cygwin.
32181 Remove old `grub.cfg.new' before creation.
32182 Add `-f' to `mv' to handle the different filesystem
32183 semantics of Windows.
32184
e93e4679 321852008-07-29 Bean <bean123ch@gmail.com>
32186
32187 * normal/main.c (get_line): Fix buffer overflow bug.
32188
41694fd0 321892008-07-28 Robert Millan <rmh@aybabtu.com>
32190
32191 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
32192 (struct grub_apple_header): New struct. Describes the layout of
32193 the partmap header.
32194 (apple_partition_map_iterate): Check the header magic as well as the
32195 partition magic (which was already being checked).
32196
cfd0b4e6 321972008-07-28 Pavel Roskin <proski@gnu.org>
32198
32199 * genmk.rb: Add a warning to the beginning of the output that
32200 it's a generated file and should not be edited.
32201
93cce016 322022008-07-28 Robert Millan <rmh@aybabtu.com>
32203
32204 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32205 with the same number are found, just use issue a warning with
32206 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 32207
cd1df915 322082008-07-27 Robert Millan <rmh@aybabtu.com>
32209
32210 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
32211 information.
32212
b70a8427 322132008-07-27 Bean <bean123ch@gmail.com>
32214
32215 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
32216 (grub_fat_find_dir): Ignore case when comparing filename.
32217
8f5e379f 322182008-07-27 Bean <bean123ch@gmail.com>
32219
32220 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
32221 smallino, as it's more descriptive, and i8count can be confused with
32222 the other field count.
32223 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
32224 inode type.
32225
a85cd5a0 322262008-07-27 Bean <bean123ch@gmail.com>
32227
32228 * commands/crc.c: New file.
32229
32230 * lib/crc.c: Likewise.
32231
32232 * include/grub/lib/crc.h: Likewise.
32233
32234 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
32235
32236 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
32237 (hexdump): Move this function to ...
32238
32239 * lib/hexdump.c: ... here.
32240
32241 * include/grub/hexdump.h: Renamed to ...
32242
32243 * include/grub/lib/hexdump.h: ... this.
32244
32245 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
32246
32247 * util/grub-editenv.c: Likewise.
32248
32249 * include/envblk.h: Renamed to ...
32250
32251 * include/lib/envblk.h: ... this.
32252
32253 * util/envblk.c: Renamed to ...
32254
32255 * lib/envblk.c: ... this.
32256
32257 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
32258 lib/hexdump.c.
32259 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
32260 (pkglib_MODULES): Add crc.mod.
32261 (hexdump_mod_SOURCES): Add lib/hexdump.c.
32262 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
32263 (crc_mod_SOURCES): New macro.
32264 (crc_mod_CFLAGS): Likewise.
32265 (crc_mod_LDFLAGS): Likewise.
32266
32267 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
32268
32269 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32270
32271 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32272
32273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32274
32275 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32276
c298def0 322772008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 32278
32279 * commands/help.c: Include <grub/term.h>.
32280 (TERM_WIDTH): Removed. Updated all users.
32281
cc349fb3 322822008-07-27 Pavel Roskin <proski@gnu.org>
32283
32284 * util/getroot.c (find_root_device): Rephrase a comment to avoid
32285 spurious warnings about a comment within a comment.
32286
9051607e 322872008-07-25 Robert Millan <rmh@aybabtu.com>
32288
32289 * util/getroot.c (find_root_device): Skip devices that match
32290 /dev/dm-[0-9]. This lets the real device be found for any type of
32291 abstraction (LVM, EVMS, RAID..).
32292 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
32293 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
32294 device is found first, find_root_device() will now skip it.
32295
01453bfc 322962008-07-24 Pavel Roskin <proski@gnu.org>
32297
32298 * include/grub/types.h: Use __builtin_bswap32() and
32299 __builtin_bswap64() with gcc 4.3 and newer.
32300
6af9849f 323012008-07-24 Christian Franke <franke@computer.org>
32302
3a0fa256 32303 * util/i386/pc/grub-install.in: If `--debug' is specified,
32304 pass `--verbose' to grub-setup.
32305 Abort script if make_system_path_relative_to_its_root() fails.
32306
7810e747 323072008-07-24 Bean <bean123ch@gmail.com>
32308
32309 * configure.ac: Fixed a bug caused by the previous cygwin patch,
32310 variable `target_platform' should be `platform'.
32311
42290e17 323122008-07-24 Bean <bean123ch@gmail.com>
32313
51cc5193 32314 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 32315 (grub_png_init_fixed_block): New function.
32316 (grub_png_decode_image_data): Handle fixed huffman code compression.
32317
2a8a80e4 323182008-07-24 Bean <bean123ch@gmail.com>
32319
32320 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
32321 (grub_pe2elf_SOURCES): New macro.
32322 (CLEANFILES): Add grub-pe2elf.
32323
32324 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
32325 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
32326 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
32327 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
32328 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
32329 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
32330 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
32331 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
32332 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
32333 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
32334 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
32335 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
32336 (GRUB_PE32_DT_FUNCTION): Likewise.
32337 (GRUB_PE32_REL_I386_DIR32): Likewise.
32338 (GRUB_PE32_REL_I386_REL32): Likewise.
32339 (grub_pe32_symbol): New structure.
32340 (grub_pe32_reloc): Likewise.
32341
32342 * util/grub-pe2elf.c: New file.
32343
32344 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
32345 start symbol in non pc platform.
32346
32347 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
32348
32349 The following patches are from Christian Franke.
32350
32351 * include/grub/dl.h: Remove .previous, gas supports this only
32352 for ELF format.
32353
32354 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
32355 Remove .type, gas supports this only for ELF format.
32356
32357 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
32358 nullbytes in symbol table. This fixes an infinite loop if table is
32359 zero filled.
32360
32361 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
32362 TARGET_IMG_LDFLAGS and EXEEXT.
32363
32364 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
32365 TARGET_IMG_LDFLAGS_AC.
32366 (grub_CHECK_STACK_ARG_PROBE): New function.
32367
32368 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
32369
32370 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
32371
32372 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
32373 to set TARGET_IMG_LD* accordingly.
32374 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
32375 Add call to grub_CHECK_STACK_ARG_PROBE.
32376 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
32377
32378 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
32379
32380 * genmk.rb: Add EXEEXT to CLEANFILES.
32381
12ccdb75 323822008-07-23 Robert Millan <rmh@aybabtu.com>
32383
32384 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
32385 define the codes for arrows and lines used for the menu).
32386 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
32387 as well.
32388
32389 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
32390 fonts, because the latter are too slow.
32391
18eeaf04 323922008-07-21 Bean <bean123ch@gmail.com>
32393
32394 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
32395 a20. Run keyboard test last, as it will cause macbook to halt.
32396
b095e2ad 323972008-07-18 Pavel Roskin <proski@gnu.org>
32398
32399 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
32400 load foreign architecture modules correctly anyway. Keep
32401 support for loading host architecture modules, whether we
32402 compile them or not.
32403
737feb35 324042008-07-17 Pavel Roskin <proski@gnu.org>
32405
3f4ce737 32406 * configure.ac: Use -m32 or -m64 regardless of whether we had to
32407 change target_cpu. The compiler default can mismatch target_cpu
32408 in any case.
32409
4ad2d049 32410 * disk/efi/efidisk.c: Fix format warnings on x86_64.
32411 * kern/efi/efi.c: Likewise.
32412
f6130a12 32413 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
32414 target compiler is functional.
32415 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
32416 are set up.
32417
58393a2d 32418 * configure.ac: Default to efi platform for x86_64-apple. Allow
32419 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
32420 adjustments from the rest, only do them if target is not
32421 explicitly given. Merge other adjustments with the final sanity
32422 check. Remove an extraneous check for supported CPU. Be
32423 specific which CPU and which platform is not supported.
32424
737feb35 32425 * configure.ac: Default to pc platform for x86_64.
32426
546f966a 324272008-07-17 Robert Millan <rmh@aybabtu.com>
32428
32429 Partial LinuxBIOS -> Coreboot rename.
32430
32431 * conf/i386-linuxbios.rmk: Renamed to ...
32432 * conf/i386-coreboot.rmk: ... this.
32433 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
32434 * configure.ac: Accept "coreboot" as input platform (but maintain
32435 compatibility with "linuxbios").
32436 * include/grub/i386/linuxbios: Renamed to ...
32437 * include/grub/i386/coreboot: ... this.
32438
20011694 324392008-07-17 Bean <bean123ch@gmail.com>
32440
32441 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 32442 (appleldr_mod_SOURCE): New variable.
20011694 32443 (appleldr_mod_CFLAGS): Likewise.
32444 (appleldr_mod_LDFLAGS): Likewise.
32445 (pci_mod_SOURCES): Likewise.
32446 (pci_mod_CFLAGS): Likewise.
32447 (pci_mod_LDFLAGS): Likewise.
32448 (lspci_mod_SOURCES): Likewise.
32449 (lspci_mod_CFLAGS): Likewise.
32450 (lspci_mod_LDFLAGS): Likewise.
32451
32452 * conf/x86_64-efi.rmk: New file.
32453
32454 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
32455 macro.
32456 (grub_efidisk_write): Likewise.
32457
32458 * include/efi/api.h (efi_call_0): New macro.
32459 (efi_call_1): Likewise.
32460 (efi_call_2): Likewise.
32461 (efi_call_3): Likewise.
32462 (efi_call_4): Likewise.
32463 (efi_call_5): Likewise.
32464 (efi_call_6): Likewise.
32465
32466 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
32467 grub_rescue_cmd_chainloader.
32468
32469 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
32470 (grub_pe32_optional_header): Change some fields based on i386 or
32471 x86_64 platform.
32472 (GRUB_PE32_PE32_MAGIC): Likewise.
32473
32474 * include/grub/efi/uga_draw.h: New file.
32475
32476 * include/grub/elf.h (STN_ABS): New constant.
32477 (R_X86_64_NONE): Relocation constant for x86_64.
32478 (R_X86_64_64): Likewise.
32479 (R_X86_64_PC32): Likewise.
32480 (R_X86_64_GOT32): Likewise.
32481 (R_X86_64_PLT32): Likewise.
32482 (R_X86_64_COPY): Likewise.
32483 (R_X86_64_GLOB_DAT): Likewise.
32484 (R_X86_64_JUMP_SLOT): Likewise.
32485 (R_X86_64_RELATIVE): Likewise.
32486 (R_X86_64_GOTPCREL): Likewise.
32487 (R_X86_64_32): Likewise.
32488 (R_X86_64_32S): Likewise.
32489 (R_X86_64_16): Likewise.
32490 (R_X86_64_PC16): Likewise.
32491 (R_X86_64_8): Likewise.
32492 (R_X86_64_PC8): Likewise.
32493
32494 * include/grub/i386/efi/pci.h: New file.
32495
32496 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
32497 Change it value based on platform.
32498 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
32499 (GRUB_E820_RAM): Likewise.
32500 (GRUB_E820_RESERVED): Likewise.
32501 (GRUB_E820_ACPI): Likewise.
32502 (GRUB_E820_NVS): Likewise.
32503 (GRUB_E820_EXEC_CODE): Likewise.
32504 (GRUB_E820_MAX_ENTRY): Likewise.
32505 (grub_e820_mmap): New structure.
32506 (linux_kernel_header): Change the efi field according to different
32507 kernel version, also field from linux_kernel_header.
32508
32509 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
32510
32511 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
32512 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
32513 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
32514 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
32515 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
32516 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
32517 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
32518 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
32519 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
32520 (GRUB_PCI_ADDR_IO_MASK): Likewise.
32521
32522 * include/grub/x86_64/efi/kernel.h: New file.
32523
32524 * include/grub/x86_64/efi/loader.h: Likewise.
32525
32526 * include/grub/x86_64/efi/machine.h: Likewise.
32527
32528 * include/grub/x86_64/efi/pci.h: Likewise.
32529
32530 * include/grub/x86_64/efi/time.h: Likewise.
32531
32532 * include/grub/x86_64/linux.h: Likewise.
32533
32534 * include/grub/x86_64/setjmp.h: Likewise.
32535
32536 * include/grub/x86_64/time.h: Likewise.
32537
32538 * include/grub/x86_64/types.h: Likewise.
32539
32540 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
32541 GRUB_TARGET_SIZEOF_VOID_P.
32542
32543 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
32544 (grub_efi_locate_handle): Likewise.
32545 (grub_efi_open_protocol): Likewise.
32546 (grub_efi_set_text_mode): Likewise.
32547 (grub_efi_stall): Likewise.
32548 (grub_exit): Likewise.
32549 (grub_reboot): Likewise.
32550 (grub_halt): Likewise.
32551 (grub_efi_exit_boot_services): Likewise.
32552 (grub_get_rtc): Likewise.
32553
32554 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
32555 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
32556 (grub_efi_allocate_pages): Wrap efi calls.
32557 (grub_efi_free_pages): Wrap efi calls.
32558 (grub_efi_get_memory_map): Wrap efi calls.
32559
32560 * kern/x86_64/dl.c: New file.
32561
32562 * kern/x86_64/efi/callwrap.S: Likewise.
32563
32564 * kern/x86_64/efi/startup.S: Likewise.
32565
32566 * loader/efi/appleloader.c: Likewise.
32567
32568 * loader/efi/chainloader.c (cmdline): New variable.
32569 (grub_chainloader_unload): Wrap efi calls.
32570 (grub_chainloader_boot): Likewise.
32571 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
32572 command line.
32573
32574 * loader/efi/chainloader_normal.c (chainloader_command):
32575 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
32576 command line.
32577
32578 * loader/i386/efi/linux.c (allocate_pages): Change allocation
32579 method.
32580 (grub_e820_add_region): New function.
32581 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
32582 booting.
32583 (grub_find_video_card): New function.
32584 (grub_linux_setup_video): New function.
32585 (grub_rescue_cmd_linux): Probe for video information.
32586
32587 * normal/x86_64/setjmp.S: New file.
32588
32589 * term/efi/console.c (map_char): New function.
32590 (grub_console_putchar): Map unicode char.
32591 (grub_console_checkkey): Wrap efi calls.
32592 (grub_console_getkey): Likewise.
32593 (grub_console_getwh): Likewise.
32594 (grub_console_gotoxy): Likewise.
32595 (grub_console_cls): Likewise.
32596 (grub_console_setcolorstate): Likewise.
32597 (grub_console_setcursor): Likewise.
32598
32599 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
32600
59652a20 326012008-07-16 Pavel Roskin <proski@gnu.org>
32602
ef294055 32603 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
32604 format strings.
32605
59652a20 32606 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
32607 pointer, not an integer. This fixes a warning and prevents
32608 precision loss on 64-bit systems.
32609 (relocate_addresses): Remove unneeded cast.
32610
afc3b5d7 326112008-07-15 Pavel Roskin <proski@gnu.org>
32612
506b2b3e 32613 * kern/i386/ieee1275/init.c: Include grub/cache.h.
32614
62ead89c 32615 * term/ieee1275/ofconsole.c: Disable code unused on i386.
32616
c4cd51d7 32617 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
32618 Fix comparison between signed and unsigned.
32619
0d3d8f28 32620 * include/grub/i386/ieee1275/console.h: Declare
32621 grub_console_init() and grub_console_fini().
32622
8804b286 32623 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
32624 It's empty and unused.
32625
ee01cf35 32626 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
32627 beginning to avoid warnings with some compilers.
32628
afc3b5d7 32629 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
32630 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
32631
e4e8eaa5 326322008-07-14 Pavel Roskin <proski@gnu.org>
32633
407aceb4 32634 * kern/env.c (grub_register_variable_hook): Don't copy empty
32635 string, it leaks memory. Pass "" to grub_env_set(), it should
32636 handle constant strings.
32637
e4e8eaa5 32638 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
32639 * commands/cmp.c (grub_cmd_cmp): Likewise.
32640 * kern/dl.c (grub_dl_flush_cache): Likewise.
32641 (grub_dl_load_core): Likewise.
32642 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
32643 (grub_elf64_load_phdrs): Likewise.
32644
d4e2dad3 326452008-07-13 Pavel Roskin <proski@gnu.org>
32646
32647 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
32648 between signed and unsigned.
32649 (LzmaEnc_Finish): Fix warning about an unused parameter.
32650
aa24b516 326512008-07-13 Bean <bean123ch@gmail.com>
32652
32653 * Makefile.in (enable_lzo): New rule.
32654
32655 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
32656
32657 * configure.ac (ENABLE_LZO): New option --enable-lzo.
32658
32659 * boot/i386/pc/lnxboot.S: #include <config.h>.
32660
32661 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 32662 its value according to the compression algorithm used, lzo or lzma.
aa24b516 32663
32664 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
32665 compression algorithm according to configure macro.
32666
32667 * kern/i386/pc/startup.S (codestart): Likewise.
32668
32669 * kern/i386/pc/lzma_decode.S: New file.
32670
32671 * include/grub/lib/LzFind.h: Likewise.
32672
32673 * include/grub/lib/LzHash.h: Likewise.
32674
32675 * include/grub/lib/LzmaDec.h: Likewise.
32676
32677 * include/grub/lib/LzmaEnc.h: Likewise.
32678
32679 * include/grub/lib/LzmaTypes.h: Likewise.
32680
32681 * lib/LzFind.c: Likewise.
32682
32683 * lib/LzmaDec.c: Likewise.
32684
32685 * lib/LzmaEnc.c: Likewise.
32686
4ae821ac 326872008-07-13 Bean <bean123ch@gmail.com>
32688
32689 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
32690 (grub_ext4_extent_header): New structure.
32691 (grub_ext4_extent): Likewise.
32692 (grub_ext4_extent_idx): Likewise.
32693 (grub_ext4_find_leaf): New function.
32694 (grub_ext2_read_block): Handle extents.
32695
9a745147 326962008-07-12 Robert Millan <rmh@aybabtu.com>
32697
32698 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
32699
d49a4cf6 327002008-07-11 Robert Millan <rmh@aybabtu.com>
32701
32702 * util/grub.d/40_custom.in: New file. Example on how to add custom
32703 entries to /etc/grub.d.
32704 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
32705 40_custom (implicitly, by merging all the grub.d rules).
32706
947414b4 327072008-07-11 Pavel Roskin <proski@gnu.org>
32708
0059cf6f 32709 * commands/read.c (grub_getline): Fix invalid memory access.
32710 Don't add newline to the variable value.
32711
947414b4 32712 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
32713 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
32714 (serial_hw_get_port): Check validity of the port number.
32715 (grub_cmd_serial): Check return value of serial_hw_get_port().
32716
62a02d00 327172008-07-07 Pavel Roskin <proski@gnu.org>
32718
32719 * boot/i386/pc/diskboot.S (notification_string): Replace
32720 "Loading kernel" with just "loading". This is shorter, less
32721 confusing and saves a few bytes for possible future changes.
32722
3e5581b0 327232008-07-05 Pavel Roskin <proski@gnu.org>
32724
ea387a48 32725 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
32726 size for ATAPI devices, they are undefined. Output sector
32727 number in decimal form.
32728
3e5581b0 32729 * disk/ata.c: Use named constants for status bits.
32730
fdecb8fd 327312008-07-04 Pavel Roskin <proski@gnu.org>
32732
bcd35b90 32733 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
32734 grub_addr_t before casting it to the void pointer to fix a
32735 warning. Non-addressable regions are discarded earlier.
32736 (grub_arch_modules_addr): Cast _end to grub_addr_t.
32737 * kern/i386/linuxbios/table.c: Include grub/misc.h.
32738 (check_signature): Don't shadow table_header.
32739 (grub_linuxbios_table_iterate): Cast numeric constants to
32740 grub_linuxbios_table_header_t.
32741 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
32742 grub_stop().
32743
af58ab3d 32744 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
32745 prevent warnings.
32746
1759aa57 32747 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
32748 pointer, which can cause warnings. Support 64-bit addresses.
32749
fdecb8fd 32750 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
32751 of sizeof(long). This fixes PowerPC image generation on x86_64.
32752
8516d2a8 327532008-07-04 Robert Millan <rmh@aybabtu.com>
32754
32755 This fixes a performance issue when pc & gpt partmap iterators
32756 didn't abort iteration even after our hook found what it was
fe987087 32757 looking for (often causing expensive probes of non-existent drives).
8516d2a8 32758
32759 Some callers relied on previous buggy behaviour, since they would
34c44600 32760 raise an error when their own hooks caused early abortion of its
8516d2a8 32761 iteration.
32762
32763 * kern/device.c (grub_device_open): Improve error message.
32764 * disk/lvm.c (grub_lvm_open): Likewise.
32765 * disk/raid.c (grub_raid_open): Likewise.
32766
32767 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
32768 when hook requests it, independently of grub_errno.
32769 (pc_partition_map_probe): Do not fail when find_func() caused
32770 early abortion of pc_partition_map_iterate().
32771
32772 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
32773 when hook requests it, independently of grub_errno.
32774 (gpt_partition_map_probe): Do not fail when find_func() caused
32775 early abortion of gpt_partition_map_iterate().
32776
32777 * kern/partition.c (grub_partition_iterate): Abort parent iteration
32778 when hook requests it, independently of grub_errno. Do not fail when
32779 part_map_iterate_hook() caused early abortion of p->iterate().
32780
32781 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
32782 when grub_partition_iterate() returned with non-zero.
32783
277d0de9 327842008-07-03 Pavel Roskin <proski@gnu.org>
32785
32786 * disk/ata.c (grub_ata_pio_write): Check status before writing,
32787 like we do in grub_ata_pio_read().
32788 (grub_ata_readwrite): Always write individual sectors. Fix the
32789 sector count for the remainder.
32790 (grub_ata_write): Enable writing to ATA devices. Correctly
32791 report error for ATAPI devices.
32792
d4c9b428 327932008-07-02 Pavel Roskin <proski@gnu.org>
32794
e43fc690 32795 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
32796 warning.
32797
f707af42 32798 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
32799 for every read sector, we already increment it for the whole
32800 batch. This fixes reading more than 256 sectors at once.
32801
11e16b15 32802 * util/grub-editenv.c (cmd_info): Cast argument to long
32803 explicitly. ptrdiff_t reduces to int on i386.
32804
cbabfdd4 32805 * util/grub-editenv.c (main): Be specific which parameter is
32806 missing.
32807
b8fbce0a 32808 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
32809 (memdisk): Make memdisk_orig_addr a pointer.
32810
c9c8e606 32811 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
32812 for file offsets, use grub_off_t instead. Fix printf format
32813 warnings.
32814
ca62e598 32815 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
32816 there. Real unexpected warnings should not drown in the noise
32817 about known problems.
32818
ce8d1766 32819 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
32820 grub_disk_addr_t for memory addresses.
32821
00c7a56a 32822 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
32823 explicitly to fix a warning.
32824
08d3ef09 32825 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
32826
cb71ba20 32827 * Makefile.in (MODULE_LDFLAGS): New variable.
32828 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
32829 the linker accepts --build-id=none.
32830 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
32831 MODULE_LDFLAGS.
32832 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
32833
d4c9b428 32834 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
32835 those in Linux XFS code. Provide a way to access 64-bit parent
32836 inode.
32837 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
32838 the end of struct grub_xfs_dir_header.
32839
d4156eee 328402008-07-02 Bean <bean123ch@gmail.com>
32841
32842 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
32843 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32844 and GRUB_IEEE1275_FLAG_NO_ANSI.
32845
32846 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
32847 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32848 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
32849
32850 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
32851 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
32852
32853 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
32854 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
32855
32856 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
32857 esc sequence on non ANSI terminal.
32858 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
32859
32860 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
32861 beginning of file.
32862
2270f77b 328632008-07-02 Bean <bean123ch@gmail.com>
32864
32865 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
32866 (grub_editenv_SOURCES): New variable.
32867 (pkglib_MODULES): Add loadenv.mod.
32868 (loadenv_mod_SOURCES): New variable.
32869 (loadenv_mod_CFLAGS): Likewise.
32870 (loadenv_mod_LDFLAGS): Likewise.
32871
32872 * include/grub/envblk.h: New file.
32873
32874 * util/envblk.c: New file.
32875
32876 * util/grub-editenv.c: New file.
32877
32878 * commands/loadenv.c: New file.
32879
0e9e51ec 328802008-07-01 Pavel Roskin <proski@gnu.org>
32881
d89b7634 32882 * include/multiboot2.h (struct multiboot_tag_module): Use char,
32883 not unsigned char. This fixes warnings and is consistent with
32884 other tags.
32885
bf1835b1 32886 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
32887
8222a04b 32888 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
32889
6a42d99d 32890 * term/tparm.c (analyze): Always set *popcount.
32891
10b159d1 32892 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
32893 cast to fix a warning.
32894
b8789f6c 32895 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
32896 cast to suppress a warning.
32897
29d7e38a 32898 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
32899 grub_fshelp_read_file() expects.
32900
f341f669 32901 * fs/fat.c: Fix UUID calculation on big-endian systems. We
32902 write uuid as a 32-bit value in CPU byte order, so declare and
32903 use it as such.
32904
0e9e51ec 32905 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
32906 long if the format specifier expects it.
32907 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
32908 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32909 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
32910 long to fix a warning.
32911 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
32912 grub_dprintf() arguments to fix warnings.
32913
3aefa857 329142008-06-30 Pavel Roskin <proski@gnu.org>
32915
56c7668b 32916 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
32917 install_bsd_part immediately before core.img is embedded or
32918 modified on disk. This fixes core.img verification if core.img
32919 cannot be embedded.
32920
3aefa857 32921 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
32922 core_path to calculate the blocklist.
32923 Patch from Javier Martín <lordhabbit@gmail.com>
32924
5444088d 329252008-06-29 Robert Millan <rmh@aybabtu.com>
32926
32927 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
32928 block to disk block.
32929 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
32930 Patch from Niels Böhm <bitbucket@arcor.de>
32931
674835c8 329322008-06-29 Robert Millan <rmh@aybabtu.com>
32933
32934 * util/update-grub_lib.in (font_path): Search for fonts in
32935 /boot/grub first, which is more likely to be readable (we aren't
32936 deciding where fonts live, just looking for them).
32937
f527dbc8 329382008-06-26 Pavel Roskin <proski@gnu.org>
32939
6c2d8df6 32940 * util/biosdisk.c (read_device_map): Don't leave dead map
32941 entries for devices failing stat() check.
32942
f527dbc8 32943 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
32944 core_path_dev for the core.img path on the target device.
32945
aebe3d13 329462008-06-26 Robert Millan <rmh@aybabtu.com>
32947
32948 * disk/fs_uuid.c: New file.
32949 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
32950 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
32951 (fs_uuid_mod_LDFLAGS): New variables.
32952 * include/grub/disk.h (grub_disk_dev_id): Add
32953 `GRUB_DISK_DEVICE_UUID_ID'.
32954 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
32955 implement iterate().
32956
37aaf354 329572008-06-26 Robert Millan <rmh@aybabtu.com>
32958
32959 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
32960 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
32961 Linux image includes no initrd.
32962
25ff262a 329632008-06-21 Javier Martín <lordhabbit@gmail.com>
32964
32965 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
32966 call to resolve the core image location that effectively appended the
32967 name twice.
32968
76a2bd44 329692008-06-21 Robert Millan <rmh@aybabtu.com>
32970
32971 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
32972 call from here ...
32973
32974 * util/grub.d/10_hurd.in: ... to here ...
32975 * util/grub.d/10_linux.in: ... and here.
32976
650e1c79 329772008-06-19 Robert Millan <rmh@aybabtu.com>
32978
fe987087 32979 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 32980 after it has been set by grub_machine_set_prefix().
32981
6ce63911 329822008-06-19 Robert Millan <rmh@aybabtu.com>
32983
32984 * commands/search.c (search_label, search_fs_uuid, search_file): Print
32985 search result when not saving to variable, not the other way around.
32986 When saving to variable, abort iteration as soon as a match is found.
32987
73940cec 329882008-06-19 Robert Millan <rmh@aybabtu.com>
32989
32990 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
32991 check for partition that provides /boot/grub. Its logic is flawed,
32992 as it prevents prepare_grub_to_access_device() from being called
32993 multiple times.
32994
3c62a39d 329952008-06-19 Robert Millan <rmh@aybabtu.com>
32996
32997 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
32998 "insmod" command directly when abstraction modules are needed,
fe987087 32999 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 33000 since it had already been processed).
33001
47395a42 330022008-06-19 Pavel Roskin <proski@gnu.org>
33003
33004 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33005 changed. This is needed in case GRUB_LIBDIR changes.
33006 * conf/i386-ieee1275.rmk: Likewise.
33007 * conf/i386-linuxbios.rmk: Likewise.
33008 * conf/i386-pc.rmk: Likewise.
33009 * conf/powerpc-ieee1275.rmk: Likewise.
33010
a145ac2d 330112008-06-18 Pavel Roskin <proski@gnu.org>
33012
33013 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33014 kernel_elf_symlist.c to symlist.c for consistency with other
33015 architectures. Update all users.
33016 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33017
7847c51e 330182008-06-18 Robert Millan <rmh@aybabtu.com>
33019
33020 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33021 it in prefix.
33022
33023 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33024 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33025 a RAID device, run setup() for all members independently on whether
33026 LVM abstraction is being used.
33027 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33028 If grub-mkimage has set `*install_dos_part == -2', don't override this
33029 value.
33030 Perform *install_dos_part adjustments independently on whether
33031 we're embedding or not.
33032 Clarify error message when image is too big for embedding.
33033 Remove duplicate *install_dos_part stanza.
33034
b23e5644 330352008-06-17 Robert Millan <rmh@aybabtu.com>
33036
33037 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33038 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33039 variables.
33040 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33041 values in grub_ofconsole_normal_color and
33042 grub_ofconsole_highlight_color (they're not directly related to
33043 background and foreground).
33044 (grub_ofconsole_setcolorstate): Extract background and foreground
33045 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33046
0aac2f79 330472008-06-17 Robert Millan <rmh@aybabtu.com>
33048
33049 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33050 /boot/grub for the check in last commit, not /boot (they could be
33051 different partitions).
33052
3cca7ef3 330532008-06-16 Robert Millan <rmh@aybabtu.com>
33054
33055 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33056 asked to setup access for the same partition that provides /boot,
33057 don't bother using UUIDs since our root already has the value we
33058 want.
33059
347396d8 330602008-06-16 Robert Millan <rmh@aybabtu.com>
33061
33062 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33063 I2O devices.
33064 Patch from Sven Mueller <sven@debian.org>.
33065
991477f8 330662008-06-16 Robert Millan <rmh@aybabtu.com>
33067
33068 * util/update-grub.in: Check for $EUID instead of $UID.
33069 Reported by Vincent Zweije.
33070
d31a32a1 330712008-06-16 Bean <bean123ch@gmail.com>
33072
fe987087 33073 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 33074 (grub_ext2_read_block): Likewise.
33075 (grub_ext2_read_inode): Likewise.
33076 (grub_ext2_mount): Likewise.
33077 (grub_ext2_close): Likewise.
33078 (grub_ext3_get_journal): Removed.
33079
fe987087 33080 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 33081 (grub_reiserfs_read_symlink): Likewise.
33082 (grub_reiserfs_mount): Likewise.
33083 (grub_reiserfs_open): Likewise.
33084 (grub_reiserfs_read): Likewise.
33085 (grub_reiserfs_close): Likewise.
33086 (grub_reiserfs_get_journal): Removed.
33087
33088 * fs/fshelp.c (grub_fshelp_read): Removed.
33089 (grub_fshelp_map_block): Likewise.
33090
33091 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
33092 (grub_fshelp_journal): Likewise.
33093 (grub_fshelp_read): Likewise.
33094 (grub_fshelp_map_block): Likewise.
33095
3540a760 330962008-06-16 Pavel Roskin <proski@gnu.org>
33097
33098 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
33099 floating point anymore.
33100 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
33101
95614c84 331022008-06-15 Pavel Roskin <proski@gnu.org>
33103
33104 * commands/ls.c (grub_ls_list_files): Use integer calculations
33105 for human readable format, avoid floating point use.
33106 * kern/misc.c (grub_ftoa): Remove.
33107 (grub_vsprintf): Remove floating point support.
33108
50465dd6 331092008-06-15 Robert Millan <rmh@aybabtu.com>
33110
fe6b695a 33111 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 33112 devices.
33113 Reported by Max Vozeler.
33114
a9207284 331152008-06-15 Robert Millan <rmh@aybabtu.com>
33116
33117 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
33118 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
33119 skipped later.
33120 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
33121 the beginning of the prefix.
33122
33123 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
33124 It is assumed that if we have a memdisk, grub-mkimage has set
33125 grub_prefix to include the "(memdisk)" drive in it.
33126
a7cbd45a 331272008-06-15 Robert Millan <rmh@aybabtu.com>
33128
33129 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
33130 Initialize keyboard controller after registering the terminal, so that
33131 grub_printf() can be called from grub_keyboard_controller_init().
33132
21cf716a 331332008-06-15 Robert Millan <rmh@aybabtu.com>
33134
33135 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
33136 extent-btree which is written as big endian on disk.
33137 Reported by Alain Greppin <al@chilibi.org>.
33138
23a64d8e 331392008-06-14 Robert Millan <rmh@aybabtu.com>
33140
33141 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
33142 * util/i386/pc/grub-install.in (modules): Likewise.
33143
d687651c 331442008-06-13 Pavel Roskin <proski@gnu.org>
33145
33146 * commands/ls.c (grub_ls_list_files): Fix format warnings.
33147
dfe9ddd4 331482008-06-13 Bean <bean123ch@gmail.com>
33149
33150 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
33151
33152 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
33153
33154 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
33155 to indicate sparse block.
33156
16ae7781 331572008-06-12 Pavel Roskin <proski@gnu.org>
33158
e6d1a308 33159 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
33160 number, grub_fshelp_read() does it for us.
33161
16ae7781 33162 * fs/fshelp.c (grub_fshelp_read): New function. Implement
33163 linear disk read with journal translation.
33164 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
33165 * include/grub/fshelp.h: Declare grub_fshelp_read().
33166
40fd3a2b 331672008-06-09 Pavel Roskin <proski@gnu.org>
33168
33169 * fs/minix.c (grub_minix_mount): Handle error reading
33170 superblock.
33171
f5679726 331722008-06-08 Robert Millan <rmh@aybabtu.com>
33173
33174 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
33175 don't append the RAID prefix afterwards.
33176 Reported by Clint Adams.
33177
ce525529 331782008-06-08 Robert Millan <rmh@aybabtu.com>
33179
33180 Based on description from Pavel:
33181 * kern/disk.c (grub_disk_check_range): Rename to ...
33182 (grub_disk_adjust_range): ... this. Add a comment explaining the
33183 tasks performed by this function.
33184
ad4936a0 331852008-06-08 Robert Millan <rmh@aybabtu.com>
33186
33187 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
33188 `num_serial' (for consistency with other variables).
33189 (struct grub_ntfs_data): Add `uuid' member.
33190 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
33191 (grub_ntfs_uuid): New function.
33192 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
33193
dc20b0f9 331942008-06-07 Pavel Roskin <proski@gnu.org>
33195
33196 * util/biosdisk.c (open_device): Revert last change to the
33197 function, it broke installation. The sector needs to be
33198 different dependent on which device is opened.
33199
c5e3cfba 332002008-06-06 Robert Millan <rmh@aybabtu.com>
33201
33202 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
33203 rest of GRUB, and breakage doesn't happen if its value were modified.
33204
33205 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33206 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
33207 a constant (same value).
33208 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
33209 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
33210
26a1f8c4 332112008-06-06 Robert Millan <rmh@aybabtu.com>
33212
33213 * util/biosdisk.c (open_device): Do not modify sector offset when
33214 accessing a partition. kern/disk.c already handles this for us.
33215
25d6b327 332162008-06-06 Robert Millan <rmh@aybabtu.com>
33217
33218 * util/grub-emu.c (grub_machine_init): Move code in this function from
33219 here ...
33220 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
33221 segfault in case grub_printf() is called).
33222
33223 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
33224 grub_probe. Update all users not to explicitly add it again.
33225 (grub_device): New variable; contains corresponding device for grubdir.
33226 (fs_module, partmap_module, devabstraction_module): Pass
33227 `--device ${grub_device}' to grub_probe to avoid traversing /dev
33228 every time.
33229
9ece62fb 332302008-06-05 Robert Millan <rmh@aybabtu.com>
33231
33232 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
33233 is found, print it (same layout as with labels).
33234
1ad36d37 332352008-06-04 Robert Millan <rmh@aybabtu.com>
33236
33237 * util/biosdisk.c (get_drive): Rename to ...
33238 (find_grub_drive): ... this. Update all users.
33239
33240 (get_os_disk): Rename to ...
33241 (convert_system_partition_to_system_disk): ... this. Update all users.
33242
33243 (find_drive): Rename to ...
33244 (find_system_device): ... this. Update all users.
33245
e6a30859 332462008-06-04 Robert Millan <rmh@aybabtu.com>
33247
33248 * util/biosdisk.c (get_os_disk): Handle IDA devices.
33249 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33250 (make_device_map): Likewise.
33251
00c108a4 332522008-06-01 Robert Millan <rmh@aybabtu.com>
33253
33254 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
33255 before dereferencing it.
33256
33257 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
33258 union with fat12/fat16-specific ones. Add some new fields, including
33259 `num_serial' for both versions.
33260 (struct grub_fat_data): Add `uuid' member.
33261 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
33262 names. Initialize `data->uuid' using `num_serial'.
33263 (grub_fat_uuid): New function.
33264 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
33265
33266 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
33267 (grub_reiserfs_uuid): New function.
33268 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
33269 member.
33270
33271 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
33272 (grub_xfs_uuid): New function.
33273 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
33274
1385c5bb 332752008-06-01 Robert Millan <rmh@aybabtu.com>
33276
33277 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
33278 code that is backward compatible with pre-uuid search command.
33279
c682dfd7 332802008-05-31 Robert Millan <rmh@aybabtu.com>
33281
33282 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
33283 floppies after everything else, to ensure floppy drive isn't accessed
33284 unnecessarily (patch from Bean).
33285
b7db5d47 332862008-05-31 Robert Millan <rmh@aybabtu.com>
33287
33288 * commands/search.c (search_label, search_fs_uuid, search_file): Do
33289 not print device names when we were asked to set a variable.
33290
6e037aa9 332912008-05-31 Robert Millan <rmh@aybabtu.com>
33292
33293 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
33294 using "cursor-on" and "cursor-off" commands (understood at least by
33295 the Open Firmware flavour on OLPC).
33296
41305bc8 332972008-05-31 Michael Gorven <michael@gorven.za.net>
33298
33299 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
33300 on and off sequences.
33301
69ba137e 333022008-05-31 Robert Millan <rmh@aybabtu.com>
33303
33304 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
33305 * util/update-grub.in: Likewise.
33306
520ae21b 333072008-05-30 Pavel Roskin <proski@gnu.org>
33308
33309 * util/biosdisk.c (linux_find_partition): Simplify logic and
33310 make the code more universal. Keep special processing for
33311 devfs, but use a simple rule for all other devices. If the
33312 device ends with a number, append 'p' and the partition number.
33313 Otherwise, append only the partition number.
33314
5786569b 333152008-05-30 Robert Millan <rmh@aybabtu.com>
33316
33317 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
33318 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
33319 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
33320 the `root' parameter to Linux.
33321
51500452 333222008-05-30 Robert Millan <rmh@aybabtu.com>
33323
33324 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
33325 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
33326 --fs_uuid with --fs-uuid.
33327 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
33328 all filesystems support them).
33329
811d3878 333302008-05-30 Robert Millan <rmh@aybabtu.com>
33331
33332 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 33333 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 33334
cab63c95 333352008-05-30 Robert Millan <rmh@aybabtu.com>
33336
33337 * util/grub.d/00_header.in: Remove obsolete comment referencing
33338 convert_system_path_to_grub_path().
33339 * util/update-grub.in: Likewise.
33340 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
33341 (convert_system_path_to_grub_path): Add a warning message explaining
33342 that this function is deprecated. Rely on is_path_readable_by_grub()
33343 for the readability checks.
33344 (font_path): Use is_path_readable_by_grub() for the readability
33345 check rather than convert_system_path_to_grub_path().
33346
972e2f7a 333472008-05-30 Robert Millan <rmh@aybabtu.com>
33348
33349 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
33350 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
33351 converting it first.
33352 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
33353 grub.cfg for access to font file, and afterwards call it again to set
33354 the root device.
33355
62191274 333562008-05-30 Robert Millan <rmh@aybabtu.com>
33357
33358 * commands/search.c (options): Add --fs_uuid option.
33359 (search_fs_uuid): New function.
33360 (grub_cmd_search): Fix --set argument passing.
33361 Use search_fs_uuid() when requested via --fs_uuid.
33362 (grub_search_init): Update help message.
33363 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
33364 and redeclare it as an array of 16-bit words.
33365 (grub_ext2_uuid): New function.
33366 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
33367 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
33368 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
33369 (GRUB_DEVICE_BOOT_UUID): New variables.
33370 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
33371 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
33372 whenever possible.
33373 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
33374 just assume `root' variable has the right value.
33375 * util/grub.d/10_linux.in: Likewise.
33376 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
33377 via PRINT_FS_UUID.
33378 (main): Recognise `-t fs_uuid' argument.
33379
01b73ec8 333802008-05-30 Robert Millan <rmh@aybabtu.com>
33381
33382 * util/biosdisk.c (map): Redefine structure to hold information
33383 about GRUB drive name.
fe6b695a 33384 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 33385 drive names.
33386 (call_hook): Remove.
33387 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
33388 member. Assume drive has partitions.
33389 (grub_util_biosdisk_open): Access device names via `.device' struct
33390 member.
33391 (open_device): Likewise.
33392 (find_drive): Likewise.
33393 (read_device_map): Adjust map[] usage to match the new struct
33394 definition. Don't check for duplicates (still possible, but not cheap
33395 anymore).
33396 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
33397 (make_device_name): Remove assumption of BIOS-like drive names.
33398
22f16596 333992008-05-30 Pavel Roskin <proski@gnu.org>
33400
33401 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
33402 compiling execute.c doesn't need grub_script.tab.h anymore.
33403 (normal/command.c_DEPENDENCIES): Likewise.
33404 (normal/function.c_DEPENDENCIES): Likewise.
33405 * conf/i386-ieee1275.rmk: Likewise.
33406 * conf/i386-linuxbios.rmk: Likewise.
33407 * conf/i386-pc.rmk: Likewise.
33408 * conf/powerpc-ieee1275.rmk: Likewise.
33409 * conf/sparc64-ieee1275.rmk: Likewise.
33410
528ad8f2 334112008-05-29 Pavel Roskin <proski@gnu.org>
33412
d1dff95d 33413 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
33414 when scanning metadata for volume group name.
33415
528ad8f2 33416 * include/grub/script.h: Don't include grub_script.tab.h. It's
33417 a generated file, which may only be included from the files with
33418 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
33419 use union YYSTYPE, as the later allows forward declaration.
33420 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
33421
47248e08 334222008-05-29 Robert Millan <rmh@aybabtu.com>
33423
33424 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
33425 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
33426 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
33427 (grub_console_checkkey): Add grub_dprintf() call to report unknown
33428 scan codes.
33429
ee632529 334302008-05-29 Robert Millan <rmh@aybabtu.com>
33431
33432 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
33433 control key combinations.
33434
eee96e08 334352008-05-29 Robert Millan <rmh@aybabtu.com>
33436
33437 * util/powerpc/ieee1275/grub-install.in: Move from here ...
33438 * util/ieee1275/grub-install.in: ... to here.
33439 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
33440 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
33441 (grub_install_SOURCES): Likewise.
33442
da9a6a94 334432008-05-29 Robert Millan <rmh@aybabtu.com>
33444
33445 * fs/affs.c: Update copyright year.
33446 * fs/ext2.c: Likewise.
33447 * fs/fshelp.c: Likewise.
33448 * fs/hfsplus.c: Likewise.
33449 * fs/ntfs.c: Likewise.
33450 * fs/xfs.c: Likewise.
33451 * include/grub/fshelp.h: Likewise.
33452 * util/grub-mkdevicemap.c: Likewise.
33453
12e65f3a 334542008-05-28 Robert Millan <rmh@aybabtu.com>
33455
33456 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
33457 might need to be fatfs to support some firmware implementations
33458 (e.g. OFW or EFI).
33459
23023641 334602008-05-28 Robert Millan <rmh@aybabtu.com>
33461
33462 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
33463 devices.
33464 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33465 (make_device_map): Likewise.
33466
887d2619 334672008-05-20 Bean <bean123ch@gmail.com>
33468
33469 * fs/fshelp.c (grub_fshelp_map_block): New function.
33470 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
33471 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
33472
33473 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
33474 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
33475 (grub_fshelp_journal): New structure.
33476 (grub_fshelp_map_block): New function prototype.
33477 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
33478 (grub_fshelp_map_block): Likewise.
33479
33480 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
33481 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
33482 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
33483 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
33484 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
33485 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
33486 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
33487 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
33488 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
33489 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
33490 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
33491 (grub_ext2_sblock): New members for journal support.
33492 (grub_ext3_journal_header): New structure.
33493 (grub_ext3_journal_revoke_header): Likewise.
33494 (grub_ext3_journal_block_tag): Likewise.
33495 (grub_ext3_journal_sblock): Likewise.
33496 (grub_fshelp_node): New members logfile and journal.
33497 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
33498 grub_fshelp_map_block to get real block number.
33499 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
33500 number.
33501 (grub_ext2_read_inode): Likewise.
33502 (grub_ext3_get_journal): New function.
33503 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
33504 (grub_ext2_close): Release memory used by journal.
33505
33506 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
33507 (REISERFS_MAGIC_DESC_BLOCK): New macro.
33508 (grub_reiserfs_transaction_header): Renamed to
33509 grub_reiserfs_description_block, replace field data with real_blocks.
33510 (grub_reiserfs_commit_block): New structure.
33511 (grub_reiserfs_data): New member journal.
33512 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
33513 number.
33514 (grub_reiserfs_read_symlink): Likewise.
33515 (grub_reiserfs_iterate_dir): Likewise.
33516 (grub_reiserfs_open): Likewise.
33517 (grub_reiserfs_read): Likewise.
33518 (grub_reiserfs_get_journal): New function.
33519 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
33520 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
33521 using grub_reiserfs_get_journal.
33522 (grub_reiserfs_close): Release memory used by journal.
33523
33524 * fs/affs.c (grub_affs_read_block): Change block type to
33525 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
33526
33527 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
33528
33529 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
33530
33531 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
33532
33533 * fs/udf.c (grub_udf_read_block): Change block type to
33534 grub_disk_addr_t. Use type cast to avoid warning.
33535
33536 * fs/xfs.c (grub_xfs_read_block): Likewise.
33537
b7c6bed5 335382008-05-16 Christian Franke <franke@computer.org>
33539
33540 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
33541 to ensure that break with ESC will always work.
33542 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
33543 Remove ESC from keyboard queue.
33544
eedf167f 335452008-05-16 Christian Franke <franke@computer.org>
33546
33547 * util/biosdisk.c: [__CYGWIN__] Add includes.
33548 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
33549 (get_os_disk): Move variable declarations to OS specific
33550 parts to avoid warning.
33551 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
33552 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
33553 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
33554 Cygwin.
33555 * util/getroot.c: [__CYGWIN__] Add includes.
33556 (strip_extra_slashes): Fix "/" case.
33557 [__CYGWIN__] (get_win32_path): New function.
33558 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
33559 [__CYGWIN__] (find_root_device): Disable.
33560 [__CYGWIN__] (get_bootsec_serial): New function.
33561 [__CYGWIN__] (find_cygwin_root_device): Likewise.
33562 [__linux__] (grub_guess_root_device): Add early returns to simplify
33563 structure.
33564 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
33565 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
33566 check for Linux only.
33567
a079699e 335682008-05-15 Bean <bean123ch@gmail.com>
33569
33570 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
33571 keyboard hang problem in apple's intel mac.
33572
1cf4059a 335732008-05-09 Robert Millan <rmh@aybabtu.com>
33574
33575 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
33576 devices.
33577 * util/grub-mkdevicemap.c (get_virtio_disk_name)
33578 (make_device_map): Likewise.
33579 Reported by Aurelien Jarno <aurel32@debian.org>
33580
ed759390 335812008-05-07 Ian Campbell <ijc@hellion.org.uk>
33582
33583 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
33584 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
33585 (make_device_map): Output entries for xvd type disks.
33586
b56c4eaa 335872008-05-07 Robert Millan <rmh@aybabtu.com>
33588
33589 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
33590 devices.
33591 * util/grub-mkdevicemap.c (get_cciss_disk_name)
33592 (make_device_map): Likewise.
33593 Reported by Roland Dreier <rdreier@cisco.com>
33594
7f8866ed 335952008-05-07 Robert Millan <rmh@aybabtu.com>
33596
33597 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
33598 grub_strstr() call. Correct a few mistakes in failure path handling.
33599
b0346e0f 336002008-05-06 Robert Millan <rmh@aybabtu.com>
33601
33602 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33603 Do not print a trailing slash (therefore, the root directory is an
33604 empty string).
33605 (convert_system_path_to_grub_path): Do not remove trailing slash
33606 from make_system_path_relative_to_its_root() output.
33607
33608 * util/i386/pc/grub-install.in: Add trailing slash to output from
33609 make_system_path_relative_to_its_root().
33610
6cf12cbd 336112008-05-06 Robert Millan <rmh@aybabtu.com>
33612
33613 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
33614 ensures that output lines aren't intermangled with those sent to
33615 stderr (via grub_util_info()).
33616 * util/grub-probe.c (grub_refresh): Likewise.
33617 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
33618
0fbb3117 336192008-05-05 Christian Franke <franke@computer.org>
33620
33621 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
33622 Add Cygwin device names.
33623 (get_ide_disk_name) [__CYGWIN__]: Likewise.
33624 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
33625 (check_device): Return error instead of success on empty name.
33626 (make_device_map): Move label inside linux specific code to
33627 prevent compiler warning.
33628
8124cdb7 336292008-04-30 Robert Millan <rmh@aybabtu.com>
33630
33631 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
33632 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
33633 first boot option.
33634 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
33635
094c01d0 336362008-04-29 Robert Millan <rmh@aybabtu.com>
33637
33638 * docs/grub.cfg: New file (example GRUB configuration).
33639
f4b1fc02 336402008-04-26 Robert Millan <rmh@aybabtu.com>
33641
329ce2a5 33642 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
33643 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
33644 and `disk/ieee1275/nand.c'.
f4b1fc02 33645
25f16ec1 336462008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 33647
25f16ec1 33648 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
33649 i386-linuxbios.
33650
33651 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
33652 change the buffer size to 4096 for cdrom device.
33653
33654 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
33655 and nand.mod.
33656 (_linux_mod_SOURCES): New variable.
33657 (_linux_mod_CFLAGS): Likewise.
33658 (_linux_mod_LDFLAGS): Likewise.
33659 (linux_mod_SOURCES): Likewise.
33660 (linux_mod_CFLAGS): Likewise.
33661 (linux_mod_LDFLAGS): Likewise.
33662 (nand_mod_SOURCES): Likewise.
33663 (nand_mod_CFLAGS): Likewise.
33664 (nand_mod_LDFLAGS): Likewise.
33665
33666 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
33667 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
33668 type property. (nand device in olpc don't have this property)
33669
33670 * include/grub/disk.h (grub_disk_dev_id): New macro
33671 GRUB_DISK_DEVICE_NAND_ID.
33672
33673 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
33674 function prototype.
33675 (grub_rescue_cmd_initrd): Likewise.
33676
33677 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
33678 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
33679 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 33680
25f16ec1 33681 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
33682 GRUB_MACHINE_IEEE1275 is defined.
33683
33684 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
33685 Use NESTED_FUNC_ATTR attribute on the hook parameter.
33686
33687 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
33688 on nested function heap_init.
33689 (grub_upper_mem): New variable for i386-ieee1275.
33690 (grub_get_extended_memory): New function for i386-ieee1275.
33691 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
33692
33693 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
33694 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
33695 property.
f19dbdb7 33696
25f16ec1 33697 * loader/i386/ieee1275/linux.c: New file.
33698
33699 * loader/i386/ieee1275/linux_normal.c: New file.
33700
33701 * disk/ieee1275/nand.c: New file.
33702
e89d61e9 337032008-04-18 Thomas Schwinge <tschwinge@gnu.org>
33704
33705 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
33706 value.
33707 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
33708
602566f6 337092008-04-18 Robert Millan <rmh@aybabtu.com>
33710
33711 Restructures early code path on ieee1275 to unify grub_main() as
33712 the first C function that is executed in every platform.
33713
33714 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
33715 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
33716 cmain().
33717 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
33718 * kern/ieee1275/cmain.c (cmain): Rename to ...
33719 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
33720 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
33721 at the beginning.
33722
57490c2b 337232008-04-18 Robert Millan <rmh@aybabtu.com>
33724
33725 * util/update-grub.in: Fix syntax error when setting
33726 `GRUB_PRELOAD_MODULES'.
33727 Reported by Stephane Chazelas <stephane@artesyncp.com>
33728
1977517d 337292008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
33730
33731 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
33732 section into account, newer toolchains generate unique build ids
33733 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 33734 we want build ids to be preserved
1977517d 33735 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
33736 far from other sections don't cause the raw binary images grow
33737 size
33738
bfb1f1a2 337392008-04-15 Robert Millan <rmh@aybabtu.com>
33740
33741 * disk/lvm.c: Update copyright year.
33742 * kern/misc.c: Likewise.
33743
01979850 337442008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33745
33746 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 33747 there is no memory left for physical volume name.
01979850 33748
0a1150e2 337492008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33750
33751 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
33752 volume name mapping to support bigger than 9 character names properly.
33753
82ead3fe 337542008-04-13 Robert Millan <rmh@aybabtu.com>
33755
33756 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
33757 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
33758
e54a72f5 337592008-04-13 Christian Franke <franke@computer.org>
33760
33761 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
33762 to create a floppy emulation boot CD when non emulation mode
33763 does not work.
33764 Enable Joliet CD filesystem extension.
33765
9fe86034 337662008-04-13 Robert Millan <rmh@aybabtu.com>
33767
33768 * kern/misc.c (grub_strncat): Fix off-by-one error.
33769 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
33770
33771 * kern/env.c (grub_env_context_close): Clear current context, not
33772 previous one.
33773 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
33774
33775 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
33776
7ceeee39 337772008-04-13 Robert Millan <rmh@aybabtu.com>
33778
33779 Improve robustness when handling LVM.
33780
33781 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 33782 (and leave `*p' unmodified).
7ceeee39 33783 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
33784 through it.
33785 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
33786 iterating through it.
33787 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
33788 through it.
fe6b695a 33789 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 33790 when due) on each grub_lvm_getvalue() or grub_strstr() call.
33791 Don't assume `vg->pvs != NULL' when iterating through it.
33792
58cd3d85 337932008-04-13 Robert Millan <rmh@aybabtu.com>
33794
33795 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
33796 * genmk.rb (partmap): New variable.
33797 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
33798 (#{partmap}): New target rule.
33799 * genpartmaplist.sh: New file.
33800 * Makefile.in (pkglib_DATA): Add partmap.lst.
33801 (partmap.lst): New target rule.
33802 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
33803 modules (including all partition maps), instead of preloading them.
33804
78b51059 338052007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
33806
33807 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
33808 `linux-boot-prober' (if installed) to detect other operating
33809 systems which are installed on the computer and add them to
33810 the boot menu.
33811 * conf/common.rmk: Build and install 30_os-prober.
33812
a91627b4 338132008-04-12 Robert Millan <rmh@aybabtu.com>
33814
33815 * kern/powerpc/ieee1275/init.c: Move from here ...
33816 * kern/ieee1275/init.c: ... to here. Update all users.
33817
33818 * kern/powerpc/ieee1275/cmain.c: Move from here ...
33819 * kern/ieee1275/cmain.c: ... to here. Update all users.
33820
33821 * kern/powerpc/ieee1275/openfw.c: Move from here ...
33822 * kern/ieee1275/openfw.c: ... to here. Update all users.
33823
33824 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
33825 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
33826
322562ea 338272008-04-10 Pavel Roskin <proski@gnu.org>
33828
33829 * configure.ac: Always use "_cv_" in cache variables for
33830 compatibility with Autoconf 2.62.
33831
a02a73c5 338322008-04-07 Robert Millan <rmh@aybabtu.com>
33833
33834 Revert grub/machine/init.h addition by Pavel (since it breaks on
33835 i386-ieee1275 and others):
33836 * util/i386/pc/misc.c: Remove grub/machine/init.h.
33837 * util/powerpc/ieee1275/misc.c: Likewise.
33838
25c024b1 338392008-04-07 Robert Millan <rmh@aybabtu.com>
33840
33841 * util/grub-probe.c (probe): Improve error message.
33842
3cbd2f98 338432008-04-07 Robert Millan <rmh@aybabtu.com>
33844
33845 * util/biosdisk.c (read_device_map): Skip devices that don't exist
33846 (this prevents the presence of a bogus entry from ruining the whole
33847 thing).
33848
87a297bf 338492008-04-06 Pavel Roskin <proski@gnu.org>
33850
36747a62 33851 * util/biosdisk.c: Include grub/util/biosdisk.h.
33852 * util/grub-fstest.c (execute_command): Make static.
33853 * util/grub-mkdevicemap.c (check_device): Likewise.
33854 * util/i386/pc/misc.c: Include grub/machine/init.h.
33855 * util/powerpc/ieee1275/misc.c: Likewise.
33856 * util/lvm.c: Include grub/util/lvm.h.
33857 * util/misc.c: Include grub/kernel.h, grub/misc.h and
33858 grub/cache.h.
33859 * util/raid.c: Include grub/util/raid.h.
33860 (grub_util_getdiskname): Make static.
33861
87a297bf 33862 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
33863 grub_hostfs_fini(), as they are called from grub_init_all() and
33864 grub_fini_all() respectively. This fixes an infinite loop in
33865 grub-fstest due to double registration of hostfs.
33866 Reported by Christian Franke <Christian.Franke@t-online.de>
33867
f6ce7629 338682008-04-05 Pavel Roskin <proski@gnu.org>
33869
33870 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
33871 all 8 functions. Otherwise, probe function 0 only.
33872
070e49e4 338732008-04-04 Pavel Roskin <proski@gnu.org>
33874
8b088a4c 33875 * commands/lspci.c (grub_lspci_iter): Print the bus number
33876 correctly.
33877
4f657021 33878 * commands/lspci.c (grub_pci_classes): Fix typos.
33879 (grub_lspci_iter): Don't print func twice. Print vendor ID
33880 before device ID, as it's normally done.
33881
070e49e4 33882 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
33883 Fix signedness warnings.
33884 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
33885 Likewise.
33886 * util/ieee1275/get_disk_name.c: Include config.h so that
33887 _GNU_SOURCE is defined and getline() is declared. Mark an
33888 unused argument as such. Fix a signedness warning.
33889
ba7328dc 338902008-04-02 Pavel Roskin <proski@gnu.org>
33891
26887f22 33892 * genkernsyms.sh.in: Use more robust assignments for CC and
33893 srcdir. Quote srcdir.
33894 * gensymlist.sh.in: Likewise. Assert at the compile time that
33895 the symbol table is not empty.
33896
ba7328dc 33897 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
33898 * fs/cpio.c (grub_cpio_read): Likewise.
33899
0f582c6b 339002008-04-01 Pavel Roskin <proski@gnu.org>
33901
4b6e1995 33902 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
33903 * disk/host.c (grub_host_open): Likewise.
33904 * disk/loopback.c (grub_loopback_open): Likewise.
33905 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
33906 disk->id as in disk/host.c, not a multi-character constant.
33907
828a2768 33908 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
33909 later is obsolete, potentially dangerous and sets a bad example.
33910 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
33911 * util/misc.c (grub_util_get_image_size): Likewise.
33912
2bb4fb47 33913 * disk/loopback.c (options): Improve help for "--partitions".
33914
0f582c6b 33915 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
33916 options to align them with the short options, e.g. "echo -e".
33917
a33224e0 339182008-03-31 Bean <bean123ch@gmail.com>
33919
33920 * video/reader/png.c (grub_png_data): New member is_16bit and
33921 image_data.
33922 (grub_png_decode_image_header): Detect 16 bit png image.
33923 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
33924 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
33925 (grub_video_reader_png): Release memory occupied by image_data.
33926
33927 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
33928 4096 bytes.
33929 (grub_nfs_mount): Skip the test for sector per cluster.
33930
33931 * include/grub/ntfs.h (MAX_SPC): Removed.
33932
86cb4f54 339332008-03-31 Bean <bean123ch@gmail.com>
33934
33935 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
33936 (grub_probe_SOURCES): Add fs/afs.c.
33937 (grub_fstest_SOURCES): Likewise.
33938 (afs_mod_SOURCES): New variable.
33939 (afs_mod_CFLAGS): Likewise.
33940 (afs_mod_LDFLAGS): Likewise.
33941
33942 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
33943 (grub_emu_SOURCES): Likewise.
33944
33945 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33946
33947 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33948
33949 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33950
33951 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33952
33953 * fs/afs.c: New file.
33954
17c74c21 339552008-03-30 Pavel Roskin <proski@gnu.org>
33956
4cb68e89 33957 * disk/host.c: Include grub/misc.h to fix a warning.
33958 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
33959 warnings about implicit declarations.
33960
8790bb04 33961 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
33962 variable.
33963 * include/grub/i386/loader.h: Change declaration of
33964 grub_linux_boot() to match what grub_loader_set() expects.
33965 * util/getroot.c (grub_guess_root_device): Return const char* to
33966 fix a warning.
33967 * util/grub-probe.c (probe): Fix a warning about uninitialized
33968 abstraction_name variable.
33969 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
33970 second argument as unused to fix a warning.
33971
9a3f3296 33972 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
33973 missing grub_error() call.
33974
0ecef90d 33975 * util/update-grub_lib.in: Define datarootdir, since Autoconf
33976 2.60 and newer uses it to define datadir.
33977
0bf6d401 33978 * commands/sleep.c: Fix warning about implicit declaration.
33979 * disk/memdisk.c: Likewise.
33980 * loader/aout.c: Likewise.
33981 * loader/i386/bsd_normal.c: Likewise.
33982 * util/grub-probe.c: Likewise.
33983
7cdacf97 33984 * commands/i386/cpuid.c (has_longmode): Make static.
33985 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
33986 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
33987
17c74c21 33988 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
33989 GDT. This is more robust, as %ds can change.
33990 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
33991 calling real_to_prot().
33992 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
33993
80a3e68b 339942008-03-28 Pavel Roskin <proski@gnu.org>
33995
33996 * kern/i386/pc/startup.S: Assert that uncompressed functions
33997 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
33998 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
33999 code, as they push parts of the code (error handlers) beyond
34000 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34001 code as correctness and size.
34002
77bcd272 340032008-03-28 Pavel Roskin <proski@gnu.org>
34004
34005 * kern/i386/pc/startup.S
34006 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34007 data block address to the real mode, keep offset minimal. This
34008 works around a bug in AWARD BIOS on old Athlon systems, which
34009 makes CD detection hang.
34010
c5dfd43b 340112008-03-26 Pavel Roskin <proski@gnu.org>
34012
34013 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34014 const.
34015 * include/grub/normal.h: Add grub_parse_color_name_pair()
34016 declaration.
34017
bf962df2 340182008-03-24 Bean <bean123ch@gmail.com>
34019
34020 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34021 (cd_count): Removed.
34022 (cd_drive): New variable.
34023 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34024 (grub_biosdisk_call_hook): Likewise.
34025 (grub_biosdisk_iterate): Change cdrom detection method.
34026 (grub_biosdisk_open): Replace cd_start with cd_drive.
34027 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34028 detect cdrom device.
34029
34030 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34031 Removed.
34032 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34033 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34034 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34035 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34036 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34037 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34038 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34039 (grub_biosdisk_cdrp): New structure.
34040 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34041
34042 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34043
34044 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34045 device.
34046
34047 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34048 New function.
34049
68e7fc7a 340502008-03-20 Robert Millan <rmh@aybabtu.com>
34051
34052 Remove 2 TiB limit in ata.mod.
34053 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34054 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34055 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34056 grub_uint64_t instead of grub_uint32_t.
34057
38ad2cf5 340582008-03-05 Bean <bean123ch@gmail.com>
34059
34060 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34061 (grub_multiboot): Set boot device.
34062
34063 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
34064
2b89344e 340652008-03-02 Bean <bean123ch@gmail.com>
34066
34067 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
34068 symlink_buffer.
34069
87a95d1f 340702008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
34071
34072 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
34073 texinfo.tex.
34074
34075 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
34076 modified.
34077
34078 * docs/fdl.texi: New file.
f19dbdb7 34079
87a95d1f 34080 * docs/mdate-sh: New file. Copied from gnulib.
34081 * docs/texinfo.tex: Likewise.
34082
34083 * config.guess: Updated from gnulib.
34084 * install-sh: Likewise.
34085
7dc15d8e 340862008-02-28 Robert Millan <rmh@aybabtu.com>
34087
34088 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
34089 (aout_mod_SOURCES): New variable.
34090 (aout_mod_CFLAGS): Likewise.
34091 (aout_mod_LDFLAGS): Likewise.
34092
34093 * conf/i386-ieee1275.rmk: Likewise.
34094
b00ab696 340952008-02-28 Robert Millan <rmh@aybabtu.com>
34096
34097 * util/update-grub.in: Reorganise terminal validity check. Accept
34098 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
34099 Based on suggestion by Franklin PIAT.
34100
79ca2d78 341012008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
34102
34103 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
34104 function.
34105 * util/getroot.c (grub_util_check_block_device): New function that
34106 returns the given argument if it is a block device and returns NULL else.
34107 * util/grub-probe.c (argument_is_device): New variable.
34108 (probe): Promote device_name from a variable to an argument. Receive
34109 device_name from grub_util_check_block_device() if path is NULL and from
34110 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 34111 (options): Introduce new parameter '-d, --device'.
79ca2d78 34112 (main): Add description of the new parameter to the help screen.
34113 Rename path variable to argument. Set argument_is_device if the '-d'
34114 option is given. Pass argument to probe() depending on
34115 argument_is_device.
34116
0d16e571 341172008-02-24 Bean <bean123ch@gmail.com>
34118
34119 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
34120 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
34121 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
34122 (GRUB_ISO9660_VOLDESC_PART): Likewise.
34123 (GRUB_ISO9660_VOLDESC_END): Likewise.
34124 (grub_iso9660_primary_voldesc): New member escape.
34125 (grub_iso9660_data): New member joliet.
34126 (grub_iso9660_convert_string): New function.
34127 (grub_iso9660_mount): Detect joliet extension.
34128 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
34129 (grub_iso9660_iso9660_label): Likewise.
34130
34131 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
34132 (grub_setup_SOURCES): Add fs/udf.c.
34133 (grub_fstest_SOURCES): Likewise.
34134 (udf_mod_SOURCES): New variable.
34135 (udf_mod_CFLAGS): Likewise.
34136 (udf_mod_LDFLAGS): Likewise.
34137
34138 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
34139 (grub_emu_SOURCES): Likewise.
34140
34141 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34142
34143 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34144
34145 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34146
34147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34148
34149 * fs/udf.c: New file.
34150
8a594a17 341512008-02-24 Robert Millan <rmh@aybabtu.com>
34152
34153 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
34154 (normal/lexer.c_DEPENDENCIES): New variables.
34155 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34156 (normal/lexer.c_DEPENDENCIES): Likewise.
34157 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
34158 (normal/lexer.c_DEPENDENCIES): Likewise.
34159 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
34160 (normal/lexer.c_DEPENDENCIES): Likewise.
34161 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34162 (normal/lexer.c_DEPENDENCIES): Likewise.
34163 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34164 (normal/lexer.c_DEPENDENCIES): Likewise.
34165
2dc33c03 341662008-02-23 Robert Millan <rmh@aybabtu.com>
34167
34168 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
34169 since they were intended to be in hex. This didn't break previously
34170 because of a bug in gpt_partition_map_iterate() (see below).
34171
34172 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
34173 when checking the validity of GPT header.
34174 Remove `partno', since it always provides the same information as `i'.
34175
f6f4cfb0 341762008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
34177
34178 * include/grub/efi/time.h: Fix a wrong comment.
34179
79ff665f 341802008-02-19 Pavel Roskin <proski@gnu.org>
34181
34182 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
34183 message.
34184
d38e24c2 341852008-02-19 Bean <bean123ch@gmail.com>
34186
34187 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
34188 (aout_mod_SOURCES): New variable.
34189 (aout_mod_CFLAGS): Likewise.
34190 (aout_mod_LDFLAGS): Likewise.
34191 (_bsd_mod_SOURCES): New variable.
34192 (_bsd_mod_CFLAGS): Likewise.
34193 (_bsd_mod_LDFLAGS): Likewise.
34194 (bsd_mod_SOURCES): New variable.
34195 (bsd_mod_CFLAGS): Likewise.
34196 (bsd_mod_LDFLAGS): Likewise.
34197
34198 * include/grub/aout.h: New file.
34199
34200 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
34201
34202 * include/grub/i386/bsd.h: New file.
34203
34204 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
34205 to make it public.
34206
34207 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
34208 function is called, so that it's possible to change it inside the hook.
34209 (grub_elf64_load): Likewise.
34210 (grub_elf_file): Don't close the file if elf header is not found.
34211 (grub_elf_close): Close the file if grub_elf_file fails (The new
34212 grub_elf_file won't close it).
34213 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
34214 (grub_elf64_size): Likewise.
34215
34216 * kern/i386/loader.S (grub_unix_real_boot): New function.
34217
34218 * loader/aout.c: New file.
34219
34220 * loader/i386/bsd.c: New file.
34221
34222 * loader/i386/bsd_normal.c: New file.
34223
34224 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
34225
34226 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 34227 can test other formats.
d38e24c2 34228
b93bdb0f 342292008-02-19 Robert Millan <rmh@aybabtu.com>
34230
34231 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
34232 (grub_gpt_partition_type_empty): Redefine with macro from
34233 `<grub/gpt_partition.h>'.
34234 (gpt_partition_map_iterate): Adjust partition type comparison.
34235
34236 Export `entry' as partmap-specific `part.data' struct.
34237 (grub_gpt_header, grub_gpt_partentry): Move from here ...
34238
34239 * include/grub/gpt_partition.h (grub_gpt_header)
34240 (grub_gpt_partentry): ... to here (new file).
34241
34242 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
34243
34244 (grub_gpt_partition_type_bios_boot): New const variable, defined
34245 with macro from `<grub/gpt_partition.h>'.
34246
34247 (setup): Replace `first_start' with `embed_region', which keeps
34248 track of the embed region (and is partmap-agnostic).
34249
34250 Replace find_first_partition_start() with find_usable_region(),
34251 which finds a usable region for embedding using partmap-specific
34252 knowledge (supports PC/MSDOS and GPT).
34253
34254 Fix all assumptions that the embed region start at sector 1, using
34255 `embed_region.start' from now on. Similarly, use `embed_region.end'
34256 rather than `first_start' to calculate available size.
34257
34258 In grub_util_info() message, replace "into after the MBR" with an
34259 indication of the specific sector our embed region starts at.
34260
66cb40f6 342612008-02-19 Robert Millan <rmh@aybabtu.com>
34262
34263 * DISTLIST: Replace `commands/ieee1275/halt.c' and
34264 `commands/ieee1275/reboot.c' with `commands/halt.c' and
34265 `commands/reboot.c'.
34266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34267 (halt_mod_SOURCES): Likewise.
34268 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34269 (halt_mod_SOURCES): Likewise.
34270
b7202015 342712008-02-17 Christian Franke <franke@computer.org>
34272
34273 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
34274
32b0fc49 342752008-02-17 Robert Millan <rmh@aybabtu.com>
34276
34277 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34278 set `first_start' to 0 for non-PC/MSDOS partition maps.
34279
aca63502 342802008-02-16 Robert Millan <rmh@aybabtu.com>
34281
34282 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34283 do not assume partition map is PC/MSDOS before performing checks that
34284 are specific to that layout.
34285
0de8be86 342862008-02-13 Robert Millan <rmh@aybabtu.com>
34287
34288 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
34289 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
34290 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
34291
c3db8364 342922008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
34293
34294 * configure.ac: Only a cosmetic change on the handling of
34295 -fno-stack-protector.
34296
f714229e 342972008-02-12 Alexandre Boeglin <alex@boeglin.org>
34298
c3db8364 34299 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
34300 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
34301 reboot.c.
f714229e 34302 (grub_install_SOURCES): Add halt.mod and reboot.mod.
34303 (halt_mod_SOURCES): New variable.
34304 (halt_mod_CFLAGS): Likewise.
34305 (halt_mod_LDFLAGS): Likewise.
34306 (reboot_mod_SOURCES): Likewise.
34307 (reboot_mod_CFLAGS): Likewise.
34308 (reboot_mod_LDFLAGS): Likewise.
34309
c3db8364 34310 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
34311 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
34312 reboot.c.
f714229e 34313 (halt_mod_SOURCES): Likewise.
34314 (reboot_mod_SOURCES): Likewise.
34315
c3db8364 34316 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
34317 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 34318 (reboot_mod_SOURCES): Likewise.
34319
34320 * commands/i386/pc/reboot.c: merge this file ...
34321
34322 * commands/ieee1275/reboot.c: ... and this file ...
34323
34324 * commands/reboot.c: ... to this file.
c3db8364 34325 Add some precompiler directive to include the correct header for
34326 each machine.
f714229e 34327
34328 * commands/ieee1275/halt.c: move this file ...
34329
34330 * commands/halt.c: ... to here.
c3db8364 34331 Add some precompiler directive to include the correct header for
34332 each machine.
f714229e 34333
34334 * include/grub/efi/efi.h (grub_reboot): New function declaration.
34335 (grub_halt): Likewise.
34336
34337 * kern/efi/efi.c (grub_reboot): New function.
34338 (grub_halt): Likewise.
34339
c74493e0 343402008-02-12 Robert Millan <rmh@aybabtu.com>
34341
34342 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
34343 /dev (like it is done for /dev/mapper). This doesn't provide support
34344 for EVMS, but at least it is now easy to identify the problem when it
34345 arises.
34346
d0db4b04 343472008-02-11 Robert Millan <rmh@aybabtu.com>
34348
34349 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
34350 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
34351 comparing it with -1, not 0.
34352
bf748642 343532008-02-10 Robert Millan <rmh@aybabtu.com>
34354
34355 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
34356 `disk/lvm.c'.
34357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34358 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34359
34360 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
34361 `disk/lvm.c' to the end of the list.
34362 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34363 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34364
b5db202a 343652008-02-10 Robert Millan <rmh@aybabtu.com>
34366
34367 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
34368 grub_print_error() instead. This will let user know why we're entering
34369 rescue mode.
34370 Based on suggestions from Sam Morris.
34371
83abee31 343722008-02-10 Alexandre Boeglin <alex@boeglin.org>
34373
34374 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
34375 on remaining N args, instead of "--" arg N times.
34376
78d5a08b 343772008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
34378
34379 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
34380 (fill_with_default_glyph): Changed to use unknown_glyph for fill
34381 pattern for unknown glyphs.
34382
68807e5f 343832008-02-09 Robert Millan <rmh@aybabtu.com>
34384
34385 * configure.ac: Probe for `help2man'.
34386 * Makefile.in (builddir): New variable.
34387 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
34388 or otherwise add a few flags/options to it.
34389 (install-local): For every executable utility or script that is
34390 installed, invoke $(HELP2MAN) to install a manpage based on --help
34391 output.
34392
34393 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
34394 that it doesn't prevent --help from working in build tree.
34395
34396 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
34397 with `bug-grub@gnu.org'.
34398 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
34399 * util/update-grub.in (usage): New function.
34400 Implement proper argument check, with support for --help and --version
34401 (as well as existing -y).
34402
344032008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 34404
34405 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
34406 avoid overwriting previous output.
34407 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
34408
c1962162 344092008-02-09 Robert Millan <rmh@aybabtu.com>
34410
34411 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
34412 drawing the menu.
34413
3dac2e3f 344142008-02-09 Robert Millan <rmh@aybabtu.com>
34415
34416 * commands/sleep.c: New file.
34417 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
34418 (sleep_mod_SOURCES): New variable.
34419 (sleep_mod_CFLAGS): Likewise.
34420 (sleep_mod_LDFLAGS): Likewise.
34421
7a634e08 344222008-02-09 Robert Millan <rmh@aybabtu.com>
34423
34424 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
34425 situations in which we can deduce the RAID size and the superblock
34426 doesn't match it.
34427
b92f0c18 344282008-02-09 Robert Millan <rmh@aybabtu.com>
34429
34430 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
34431 and return a grub_diskmemberlist_t composed of LVM physical volumes.
34432 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
34433
34434 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
34435 and return a grub_diskmemberlist_t composed of physical array members.
34436 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
34437
34438 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
34439 prototype.
34440 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
34441 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
34442 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
34443
34444 * util/grub-probe.c (probe): Move partmap probing code from here ...
34445 (probe_partmap): ... to here.
34446 (probe): Use probe_partmap() once for the disk we're probing, and
34447 additionally, when such disk contains a memberlist() struct member,
34448 once for each disk that is contained in the structure returned by
34449 memberlist().
34450
91a4bf68 344512008-02-09 Robert Millan <rmh@aybabtu.com>
34452
34453 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
34454 environment variable to 'all' in order to obtain debug output from
34455 non-util/ code.
34456 * util/i386/pc/grub-setup.c (main): Likewise.
34457
a96f9caa 344582008-02-08 Robert Millan <rmh@aybabtu.com>
34459
34460 * disk/raid.c (grub_raid_scan_device): Check for
34461 `array->device[sb.this_disk.number]' rather than for
34462 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 34463 guaranteed to be accessible.
a96f9caa 34464
b37a9222 344652008-02-08 Robert Millan <rmh@aybabtu.com>
34466
34467 * disk/raid.c: Update copyright.
34468 * fs/cpio.c: Likewise.
34469 * include/grub/raid.h: Likewise.
34470 * loader/i386/pc/multiboot.c: Likewise.
34471 * util/hostfs.c: Likewise.
34472
5626aee1 344732008-02-08 Robert Millan <rmh@aybabtu.com>
34474
34475 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
34476 to a grub_disk_t array.
34477 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
34478 `device[x]'.
34479 (grub_raid_scan_device): Replace `device[x].name' accesses with
34480 `device[x]->name'. Simplify initialization of `array->device[x]'.
34481
554f0187 344822008-02-08 Robert Millan <rmh@aybabtu.com>
34483
34484 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
34485 grub_dprintf() calls.
34486 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
34487 error message.
34488
1ec8425d 344892008-02-07 Christian Franke <franke@computer.org>
34490
34491 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
34492 instead of fseek and ftell to support large files.
34493 (grub_hostfs_read): Likewise.
34494
f2156fda 344952008-02-07 Robert Millan <rmh@aybabtu.com>
34496
34497 Patch from Jeroen Dekkers.
34498 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 34499 failure, since successfully reading all array members might not be
f2156fda 34500 required.
34501
9216e0e7 345022008-02-06 Robert Millan <rmh@aybabtu.com>
34503
34504 * util/grub-probe.c (probe): Simplify partmap probing (with the
34505 assumption that the first word up to the underscore equals to
34506 the module name).
34507
b0dfd29a 345082008-02-06 Christian Franke <franke@computer.org>
34509
34510 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
34511 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
34512 last block of a cpio or tar stream.
34513 Check for "TRAILER!!!" instead of any empty data
34514 block to detect last block of a cpio stream.
34515 (grub_cpio_dir): Fix constness of variable np.
34516 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
34517 cpio or tar trailer is detected. This fixes a crash
34518 on open of a non existing file.
34519
c32865bf 345202008-02-05 Bean <bean123ch@gmail.com>
34521
34522 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
34523 address of entry.
34524 (grub_multiboot_load_elf64): Likewise.
34525 (grub_multiboot): Initialize mbi structure.
34526
34527 * util/grub-fstest.c: Don't include unused header file script.h.
34528
fe6b695a 34529 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 34530 of file.
34531 (grub_fstest_SOURCES): Likewise.
34532
409480b7 345332008-02-05 Robert Millan <rmh@aybabtu.com>
34534
34535 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
34536 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
34537 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
34538 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
34539
34540 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
34541 (translation_table): Replace hardcoded values with macros
34542 provided by `<grub/term.h>'.
34543
34544 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
34545 (keyboard_map): Correct/add a few values, with macros provided
34546 by `<grub/term.h>'.
34547 (keyboard_map_shift): Zero values that don't differ from their
34548 `keyboard_map' equivalents.
34549 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
34550 Discard the second scan code that is always sent by Caps lock.
34551 Only use `keyboard_map_shift' when it provides a non-zero value,
34552 otherwise fallback to `keyboard_map'.
34553
99fadbaa 345542008-02-04 Bean <bean123ch@gmail.com>
34555
34556 * Makefile.in (enable_grub_fstest): New variable.
34557
34558 * conf/common.rmk (grub_fstest_init.lst): New rule.
34559 (grub_fstest_init.h): Likewise.
34560 (grub_fstest_init.c): Likewise.
34561 (util/grub-fstest.c_DEPENDENCIES): New variable.
34562 (grub_fstest_SOURCES): Likewise.
34563
34564 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
34565
34566 * util/grub-fstest.c: New file.
34567
bf567c50 345682008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34569
34570 Make grub-setup handle a separate root device.
f19dbdb7 34571
bf567c50 34572 * util/i386/pc/grub-setup.c (setup): Always open the root device,
34573 so that the root device can be compared with the destination
34574 device.
34575 When embedding the core image, if the root and destination devices
34576 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
34577 0xFF.
34578 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 34579
9be6b98b 345802008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34581
34582 Add support for having a grub directory in a different drive. This
34583 is still only the data handling part.
f19dbdb7 34584
9be6b98b 34585 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
34586 (codestart): Save %dh in GRUB_ROOT_DRIVE.
34587 (grub_root_drive): New variable.
34588
34589 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
34590 instead of GRUB_BOOT_DRIVE to construct a device name. Set
34591 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
34592 as it was.
34593
34594 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
34595
34596 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
34597 macro.
34598 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
34599
34600 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
34601 is bogus, because PXE booting does not specify any drive
34602 correctly.
34603
34604 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
34605 am not sure if this is really correct.
34606
34607 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
34608 is always identical to the boot drive when booting from a CD.
34609
34610 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
34611 longer.
34612 (root_drive): New variable.
34613 (real_start): Unconditionally set %dh to ROOT_DRIVE.
34614 (setup_sectors): Push %dx right after popping it, because %dh will
34615 be modified later.
34616 (copy_buffer): Restore %dx.
34617
e0ca0677 346182008-02-03 Robert Millan <rmh@aybabtu.com>
34619
34620 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
34621 use `cdboot.img' for cdrom images.
34622
3b3f6629 346232008-02-03 Robert Millan <rmh@aybabtu.com>
34624
34625 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
34626 only setup gfxterm when `font' command has succeeded.
34627
d42b3672 346282008-02-03 Robert Millan <rmh@aybabtu.com>
34629
34630 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
34631 (grub_rescue_cmd_multiboot_loader)
34632 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
34633
fa370ea6 346342008-02-03 Pavel Roskin <proski@gnu.org>
34635
e0c5dacb 34636 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 34637 %edx and %esi from stack only after grub_gate_a20() is called.
34638 grub_gate_a20() clobbers %edx.
34639
f2a76e1d 346402008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34641
34642 * configure.ac (AC_INIT): Bumped to 1.96.
34643
34644 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
34645 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
34646 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
34647 video/readers/png.c.
34648
90fd32d1 346492008-02-03 Bean <bean123ch@gmail.com>
9be665dd 34650
34651 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
34652 (cdboot_img_SOURCES): New variable.
34653 (cdboot_img_ASFLAGS): New variable.
34654 (cdboot_img_LDFLAGS): New variable.
34655
34656 * boot/i386/pc/cdboot.S: New file.
34657
34658 * disk/i386/pc/biosdisk.c (cd_start): New variable.
34659 (cd_count): Likewise.
34660 (grub_biosdisk_get_drive): Add support for cd device.
34661 (grub_biosdisk_call_hook): Likewise.
34662 (grub_biosdisk_iterate): Likewise.
34663 (grub_biosdisk_open): Likewise.
34664 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
34665 (grub_biosdisk_rw): Support reading from cd device.
34666 (GRUB_MOD_INIT): Iterate cd devices.
34667
34668 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
34669 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
34670 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
34671
34672 * kern/i386/pc/init.c (make_install_device): Check for cd device.
34673
4020aa53 346742008-02-02 Robert Millan <rmh@aybabtu.com>
34675
34676 * commands/read.c: New file.
34677 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
34678 (read_mod_SOURCES): New variable.
34679 (read_mod_CFLAGS): Likewise.
34680 (read_mod_LDFLAGS): Likewise.
34681
e03a1132 346822008-02-02 Robert Millan <rmh@aybabtu.com>
34683
34684 * normal/main.c (grub_normal_execute): Check for `menu->size' when
34685 determining whether menu has to be displayed.
34686
58c69220 346872008-02-02 Marco Gerards <marco@gnu.org>
34688
34689 * bus/pci.c: New file.
34690
34691 * include/grub/pci.h: Likewise.
34692
34693 * include/grub/i386/pc/pci.h: Likewise.
34694
34695 * commands/lspci.c: Likewise.
34696
34697 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
34698 `lspci.mod'.
34699 (pci_mod_SOURCES): New variable.
34700 (pci_mod_CFLAGS): Likewise.
34701 (pci_mod_LDFLAGS): Likewise.
34702 (lspci_mod_SOURCES): Likewise.
34703 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 34704 (lspci_mod_LDFLAGS): Likewise.
58c69220 34705
c004e1b4 347062008-02-02 Bean <bean123ch@gmail.com>
34707
34708 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
34709 (grub_ufs_get_file_block): Fix indirect block calculation problem.
34710
34711 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
34712 (grub_xfs_btree_node): New structure.
34713 (grub_xfs_btree_root): New structure.
34714 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
34715 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
34716 (GRUB_XFS_EXTENT_BLOCK): Likewise.
34717 (GRUB_XFS_EXTENT_SIZE): Likewise.
34718 (grub_xfs_read_block): Support btree format type.
34719 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
34720 Use directory block as basic unit.
34721
34722 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
34723
34724 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
34725 __attribute__ ((__regparm__ (1))).
34726
f95562bf 347272008-02-01 Robert Millan <rmh@aybabtu.com>
34728
34729 Correct a mistake in previous commit.
34730
34731 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
34732 top.
34733 (normal/command.c_DEPENDENCIES): New variable.
34734
7d31f41f 347352008-02-01 Robert Millan <rmh@aybabtu.com>
34736
34737 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
34738 top.
34739 (normal/command.c_DEPENDENCIES): New variable.
34740 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
34741 * conf/i386-ieee1275.rmk: Likewise.
34742 * conf/i386-linuxbios.rmk: Likewise.
34743 * conf/i386-pc.rmk: Likewise.
34744 * conf/sparc64-ieee1275.rmk: Likewise.
34745 * conf/powerpc-ieee1275.rmk: Likewise.
34746 (grub_emu_SOURCES): Add `fs/fshelp.c'.
34747
34748 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
34749
60b6be74 347502008-02-01 Robert Millan <rmh@aybabtu.com>
34751
34752 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
34753 call at beginning of function.
34754
078522ab 347552008-01-31 Pavel Roskin <proski@gnu.org>
34756
34757 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 34758 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
34759 (grub_mkrescue_SOURCES): Likewise.
078522ab 34760 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
34761
ccaa8a5f 347622008-01-30 Robert Millan <rmh@aybabtu.com>
34763
34764 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
34765 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
34766 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
34767 (grub_probe_SOURCES): ... to here.
34768
34769 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
34770 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
34771 * conf/i386-ieee1275.rmk: Likewise.
34772 * conf/i386-linuxbios.rmk: Likewise.
34773 * conf/powerpc-ieee1275.rmk: Likewise.
34774
ae5a9cd7 347752008-01-30 Tristan Gingold <gingold@free.fr>
34776
34777 * kern/rescue.c: Silently accept empty lines.
34778
70bc2ef2 347792008-01-29 Bean <bean123ch@gmail.com>
34780
34781 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
34782 (real_code_2): Code cleanup and change comment style.
34783 (move_memory): Avoid using 32-bit address mode.
34784
6a4d50ea 347852008-01-29 Bean <bean123ch@gmail.com>
34786
34787 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
34788 (png_mod_SOURCES): New variable.
34789 (png_mod_CFLAGS): Likewise.
34790 (png_mod_LDFLAGS): Likewise.
34791
34792 * video/readers/png.c: New file.
34793
11cc30ac 347942008-01-28 Robert Millan <rmh@aybabtu.com>
34795
34796 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
34797 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
34798 `ifndef GRUB_MOD_GAP' hack.
34799 * util/elf/grub-mkimage.c (add_segments): Likewise.
34800
3abc589f 348012008-01-27 Robert Millan <rmh@aybabtu.com>
34802
34803 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
34804 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 34805 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 34806
e1907778 348072008-01-27 Robert Millan <rmh@aybabtu.com>
34808
34809 Get grub-emu to build again (including parallel builds).
34810
34811 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
34812 Split into ...
34813 (util/grub-emu.c_DEPENDENCIES): ... this, ...
34814 (normal/execute.c_DEPENDENCIES): ... this, ...
34815 (grub-emu_DEPENDENCIES): ... and this.
34816
34817 * conf/i386-efi.rmk: Likewise.
34818 * conf/i386-linuxbios.rmk: Likewise.
34819 * conf/i386-ieee1275.rmk: Likewise.
34820 * conf/powerpc-ieee1275.rmk: Likewise.
34821 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
34822
2216b101 348232008-01-27 Robert Millan <rmh@aybabtu.com>
34824
34825 * NEWS: Add a few items.
34826
f75172d9 348272008-01-27 Robert Millan <rmh@aybabtu.com>
34828
34829 Fix parallel builds with grub-emu. Based on earlier commit for
34830 grub-probe and grub-setup.
34831
34832 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34833 (util/grub-emu.c_DEPENDENCIES): ... this.
34834 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34835 (util/grub-emu.c_DEPENDENCIES): ... this.
34836 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34837 (util/grub-emu.c_DEPENDENCIES): ... this.
34838 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34839 (util/grub-emu.c_DEPENDENCIES): ... this.
34840 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34841 (util/grub-emu.c_DEPENDENCIES): ... this.
34842
3f51de77 348432008-01-27 Pavel Roskin <proski@gnu.org>
34844
34845 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
34846 to create a gap between _end and the modules added to the image
34847 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
34848 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
34849 * util/elf/grub-mkimage.c (add_segments): Likewise.
34850
2033f53e 348512008-01-26 Pavel Roskin <proski@gnu.org>
34852
34853 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
34854 just return an error.
34855
22da1f6f 348562008-01-26 Bean <bean123ch@gmail.com>
34857
34858 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
34859 (grub_reiserfs_get_item): Save offset of the next item.
34860 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
34861
2a9525e6 348622008-01-25 Robert Millan <rmh@aybabtu.com>
34863
34864 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
34865 make all filesystem sources appear together (possibly fixing omissions
34866 while at it).
34867 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34868 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34869 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34871
34872 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
34873 add `kern/file.c'.
34874 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
34875 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34876 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
34877 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34878
34879 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
34880 (probe): Add a sanity check to make sure of our ability to read
34881 requested files when probing for filesystem type.
34882
34883 * genmk.rb: Update copyright year (2007).
34884
34885 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
34886 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
34887 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
34888 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
34889 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
34890 : Remove function prototypes.
34891
b95f71b5 348922008-01-25 Robert Millan <rmh@aybabtu.com>
34893
34894 Revert my previous commits (based on wrong assumption of how grub_errno
34895 works).
34896
fe6b695a 34897 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 34898 * kern/file.c (grub_file_open): Likewise.
34899
d08bbb49 349002008-01-24 Pavel Roskin <proski@gnu.org>
34901
34902 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
34903 that hang if GRUB tries to setup colors.
34904 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
34905 colors for firmwares that don't support it.
34906 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
34907 Recognize Open Hack'Ware, set flags to work around its
34908 limitations.
34909
605e36ed 349102008-01-24 Robert Millan <rmh@aybabtu.com>
34911
34912 * kern/file.c (grub_file_open): Do not account previous failures of
34913 unrelated functions when grub_errno is checked for.
34914 Reported by Oleg Strikov.
34915
bac332a1 349162008-01-24 Bean <bean123ch@gmail.com>
34917
34918 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
34919 (grub_ufs_sblock): New member volume name.
34920 (grub_ufs_find_file): Fix string copy bug.
34921 (grub_ufs_label): Implement this function properly.
34922
34923 * fs/hfs.c (grub_hfs_cnid_type): New enum.
34924 (grub_hfs_iterate_records): Use the correct file number for extents
34925 and catalog file. Fix problem in next index calculation.
34926 (grub_hfs_find_node): Replace recursive function call with loop.
34927 (grub_hfs_iterate_dir): Replace recursive function call with loop.
34928
15c80c09 349292008-01-23 Robert Millan <rmh@aybabtu.com>
34930
34931 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
34932 `<grub/symbol.h>' and `<grub/multiboot.h>'.
34933 (grub_multiboot2_real_boot): New function prototype.
34934
34935 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
34936 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
34937
34938 * kern/i386/ieee1275/init.c (grub_os_area_addr)
34939 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
34940
305338fd 349412008-01-23 Robert Millan <rmh@aybabtu.com>
34942
34943 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
34944 #ifdef'ed out grub_printf().
34945
3ea52685 349462008-01-23 Robert Millan <rmh@aybabtu.com>
34947
34948 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
34949 grub_dprintf calls, since they make "debug=all" mode unusable.
34950 (grub_console_checkkey): Likewise.
34951
5882ae4b 349522008-01-23 Robert Millan <rmh@aybabtu.com>
34953
34954 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
34955 `term/i386/pc/at_keyboard.c'.
34956 (pkglib_MODULES): Add `serial.mod'.
34957 (serial_mod_SOURCES): New variable.
34958 (serial_mod_CFLAGS): Likewise.
34959 (serial_mod_LDFLAGS): Likewise.
34960
34961 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
34962 `<grub/powerpc/ieee1275/console.h>'.
34963 (grub_keyboard_controller_init): New function prototype.
34964 (grub_console_checkkey): Likewise.
34965 (grub_console_getkey): Likewise.
34966
34967 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
34968 keyboard on i386.
34969
34970 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
34971 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
34972
06ab5303 349732008-01-23 Robert Millan <rmh@aybabtu.com>
34974
34975 * kern/i386/pc/init.c (make_install_device): When memdisk image is
34976 present, "(memdisk)/boot/grub" becomes the default prefix.
34977
34978 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
34979 a memdisk tarball with all the modules. Add --overlay=DIR option that
34980 allows users to overlay additional files into the image.
34981
dbb475a4 349822008-01-23 Robert Millan <rmh@aybabtu.com>
34983
34984 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
34985 and `machine/memory.h'.
34986 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
34987 (_multiboot_mod_SOURCES): New variable.
34988 (_multiboot_mod_CFLAGS): Likewise.
34989 (_multiboot_mod_LDFLAGS): Likewise.
34990 (multiboot_mod_SOURCES): Likewise.
34991 (multiboot_mod_CFLAGS): Likewise.
34992 (multiboot_mod_LDFLAGS): Likewise.
34993
34994 * include/grub/i386/ieee1275/loader.h: New file.
34995
34996 * include/grub/i386/ieee1275/machine.h: Likewise.
34997
34998 * include/grub/i386/ieee1275/memory.h: Likewise.
34999
35000 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35001 variable declaration.
35002 (grub_os_area_size): Likewise.
35003
35004 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35005 (grub_lower_mem, grub_upper_mem): New variables.
35006 (grub_stop_floppy): New function (just to make
35007 grub_multiboot2_real_boot() happy).
35008
35009 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35010 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35011 (grub_stop): New function.
35012 Include `"../realmode.S"' and `"../loader.S"'.
35013
35014 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35015 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35016
35017 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35018 rely on grub_multiboot2_real_boot() for final boot.
35019
25638629 350202008-01-22 Robert Millan <rmh@aybabtu.com>
35021
35022 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35023 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35024 device that doesn't look like an SD card.
35025 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35026 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35027 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35028 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35029 found.
35030
9dad816d 350312008-01-22 Robert Millan <rmh@aybabtu.com>
35032
35033 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35034 avoid claiming over our own code.
35035
34842f2d 350362008-01-22 Bean <bean123ch@gmail.com>
35037
35038 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35039 (jpeg_mod_SOURCES): New variable.
35040 (jpeg_mod_CFLAGS): Likewise.
35041 (jpeg_mod_LDFLAGS): Likewise.
35042
35043 * video/readers/jpeg.c : New file.
35044
44023a28 350452008-01-22 Bean <bean123ch@gmail.com>
35046
35047 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35048 there are no more items.
35049
bc2d8ac6 350502008-01-21 Robert Millan <rmh@aybabtu.com>
35051
35052 * kern/mm.c (grub_mm_init_region): Improve debug message.
35053
261bd4bc 350542008-01-21 Robert Millan <rmh@aybabtu.com>
35055
35056 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35057 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35058 address.
35059 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35060 a C macro.
35061 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35062 Indicates start of upper memory.
35063 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
35064 (generate_image): Abort when image size is big enough to corrupt
35065 upper memory.
35066
35067 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
35068 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
35069 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35070 instead of hardcoding 0xA0000.
35071 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
35072 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35073 instead of hardcoding 0xA0000.
35074
f970b55e 350752008-01-21 Robert Millan <rmh@aybabtu.com>
35076
35077 * disk/memdisk.c (memdisk_size): New variable.
35078 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
35079 `memdisk_size'.
35080 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
35081 image to dynamic memory.
35082 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
35083 `memdisk_size'. Free memdisk block.
35084
1a8b0526 350852008-01-21 Robert Millan <rmh@aybabtu.com>
35086
35087 Fix detection of very small filesystems (like tar).
35088
35089 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
35090 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
35091 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
35092 a problem with this disk).
35093
6e9b4aab 350942008-01-21 Robert Millan <rmh@aybabtu.com>
35095
35096 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
35097 on grub_biosdisk_rw_standard() error.
35098
0d8837b2 350992008-01-21 Robert Millan <rmh@aybabtu.com>
35100
35101 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
35102 recent changes.
35103 * kern/elf.c: Likewise.
35104 * kern/ieee1275/ieee1275.c: Likewise.
35105 * kern/powerpc/ieee1275/openfw.c: Likewise.
35106 * term/ieee1275/ofconsole.c: Likewise.
35107
ffd36e34 351082008-01-21 Robert Millan <rmh@aybabtu.com>
35109
35110 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
35111
3f0093d0 35112 * include/grub/kernel.h (grub_arch_memdisk_addr)
35113 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 35114
3f0093d0 35115 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
35116 (grub_arch_memdisk_size): ... to here.
ffd36e34 35117
6c391b21 351182008-01-21 Robert Millan <rmh@aybabtu.com>
35119
35120 Mostly based on bugfix from Bean.
35121
35122 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
35123 attribute with hook() parameter.
35124 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
35125 declaration.
35126 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
35127 attribute with hook() parameter.
35128 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
35129 declaration.
35130
55a581dc 351312008-01-21 Robert Millan <rmh@aybabtu.com>
35132
35133 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
35134 (pkglib_MODULES): Add `memdisk.mod'.
35135 (memdisk_mod_SOURCES): New variable.
35136 (memdisk_mod_CFLAGS): Likewise.
35137 (memdisk_mod_LDFLAGS): Likewise.
35138
35139 * disk/memdisk.c: New file.
35140
35141 * include/grub/disk.h (grub_disk_dev_id): Add
35142 `GRUB_DISK_DEVICE_MEMDISK_ID'.
35143
35144 * include/grub/i386/pc/kernel.h
35145 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
35146 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
35147 (grub_kernel_image_size): New variable declaration.
35148 (grub_total_module_size): Likewise.
35149 (grub_memdisk_image_size): Likewise.
35150
35151 * include/grub/i386/pc/memory.h
35152 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
35153
35154 * include/grub/kernel.h: Include `<grub/symbol.h>'.
35155 (grub_arch_memdisk_addr): New variable declaration.
35156 (grub_arch_memdisk_size): Likewise.
35157
35158 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
35159 (grub_arch_memdisk_size): Likewise.
35160
35161 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
35162 (codestart): Replace hardcoded `0x100000' with
35163 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
35164
35165 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
35166 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
35167 not NULL, append the contents of the file it refers to, at the end of
35168 the compressed kernel image. Initialize `grub_memdisk_image_size'
35169 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
35170 (options): Add "memdisk"|'m' option.
35171 (main): Parse --memdisk|-m option, and pass user-provided path as
35172 parameter to generate_image().
35173
3d7f54c9 351742008-01-20 Robert Millan <rmh@aybabtu.com>
35175
35176 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
35177 grub_dprintf() calls from here ...
35178 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
35179
0bf74728 351802008-01-20 Robert Millan <rmh@aybabtu.com>
35181
35182 Fix detection of "real mode" when /options/real-mode? doesn't exist.
35183
35184 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
35185 declaration.
35186 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
35187 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
35188 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 35189 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 35190 property).
35191 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
35192 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
35193
33bf70a7 351942008-01-19 Robert Millan <rmh@aybabtu.com>
35195
fe6b695a 35196 Get rid of confusing function (superseded by
33bf70a7 35197 `grub_ieee1275_get_integer_property')
35198 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
35199 prototype.
35200 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
35201 function.
35202 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
35203 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 35204 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 35205
e2da7d26 352062008-01-19 Robert Millan <rmh@aybabtu.com>
35207
35208 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
35209 command after "shut-down", since implementations differ on which
35210 the command for halt is.
35211
59f1fd8d 352122008-01-19 Robert Millan <rmh@aybabtu.com>
35213
35214 * include/grub/i386/linuxbios/console.h: Add header protection.
35215 (grub_keyboard_controller_init): New function prototype.
35216 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
35217 (KEYBOARD_COMMAND_READ): Likewise.
35218 (KEYBOARD_COMMAND_WRITE): Likewise.
35219 (KEYBOARD_SCANCODE_SET1): Likewise.
35220 (grub_keyboard_controller_write): New function.
35221 (grub_keyboard_controller_read): Likewise.
35222 (grub_keyboard_controller_init): Likewise.
35223
35224 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
35225 (grub_console_init): On coreboot/LinuxBIOS, call
35226 grub_keyboard_controller_init().
35227
5f5a7c15 352282008-01-19 Robert Millan <rmh@aybabtu.com>
35229
35230 PowerPC changes provided by Pavel Roskin.
35231
35232 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
35233 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
35234 don't rely on cmain() doing it.
35235 * kern/i386/ieee1275/startup.S (_start): Store %eax in
35236 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
35237
1210e168 352382008-01-16 Robert Millan <rmh@aybabtu.com>
35239
35240 * include/grub/i386/linuxbios/memory.h
35241 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
35242 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
35243 receive `table_header' as argument. Instead, probe for it in the
35244 known memory ranges where it can be present.
35245 (grub_available_iterate): Do not pass a fixed `table_header' address
35246 to grub_linuxbios_table_iterate().
35247
3d04eab8 352482008-01-15 Robert Millan <rmh@aybabtu.com>
35249
35250 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
35251 * conf/i386-ieee1275.rmk: New file.
35252 * include/grub/i386/ieee1275/console.h: Likewise.
35253 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
35254 * include/grub/i386/ieee1275/kernel.h: Likewise.
35255 * include/grub/i386/ieee1275/time.h: Likewise.
35256 * kern/i386/ieee1275/init.c: Likewise.
35257 * kern/i386/ieee1275/startup.S: Likewise.
35258
d1bc1b73 352592008-01-15 Robert Millan <rmh@aybabtu.com>
35260
35261 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
35262 when pointers are 32-bit (but still do set it to one when they are
35263 64-bit).
35264
66a65807 352652008-01-15 Robert Millan <rmh@aybabtu.com>
35266
35267 * include/grub/ieee1275/ieee1275.h
35268 (grub_ieee1275_get_integer_property): New function prototype.
35269
35270 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
35271 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 35272 grub_ieee1275_get_property() to handle endianness.
66a65807 35273
35274 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
35275 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 35276 where appropriate.
66a65807 35277 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
35278 (grub_map): Likewise.
35279 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
35280
a83ccafd 352812008-01-15 Bean <bean123ch@gmail.com>
35282
35283 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
35284 (grub_script_execute_cmdline): Reset grub_errno.
35285
35286 * normal/main.c (read_config_file): Reset grub_errno.
35287
35288 * normal/parse.y (script_init): New.
35289 (script): Move function and menuentry here.
35290 (delimiter): New.
35291 (command): Add delimiter at the end of command.
35292 (commands): Adjust to match the new command.
35293 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 35294 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 35295 (if): Use the new commands.
35296
35297 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
35298
df6ecfc6 352992008-01-15 Robert Millan <rmh@aybabtu.com>
35300
35301 * normal/menu.c (run_menu): Move timeout message from here ...
35302 (print_timeout): ... to here.
35303 (run_menu): Use print_timeout() once during initial draw to print
35304 the whole message, and again in every clock tick to update only
35305 the number of seconds.
35306
87ae25eb 353072008-01-15 Robert Millan <rmh@aybabtu.com>
35308
35309 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
35310 actual size of `available' from grub_ieee1275_get_property(), and
35311 restrict parsing to that bound.
35312
47bf09a4 353132008-01-15 Christian Franke <franke@computer.org>
35314
35315 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
35316 (argp_program_version): Remove variable.
35317 (argp_program_bug_address): Likewise.
35318 (options): Convert from struct argp_option to struct option.
35319 (struct arguments): Remove.
35320 (parse_opt): Remove.
35321 (usage): New function.
35322 (main): Replace struct args members by simple variables.
35323 Replace argp_parse() by getopt_long().
35324 Add switch to evaluate options.
35325 Add missing "(...)" around root_dev in prefix string.
35326
c86f1469 353272008-01-14 Robert Millan <rmh@aybabtu.com>
35328
35329 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
35330 for grub_ieee1275_exit(), in order to improve portability.
35331
e622c559 353322008-01-14 Robert Millan <rmh@aybabtu.com>
35333
35334 * util/grub.d/10_linux.in (prefix): Define.
35335 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
35336
44cb1ec8 353372008-01-13 Pavel Roskin <proski@gnu.org>
35338
35339 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
35340 grub_errno if no errors have been detected.
35341
1eb8c802 353422008-01-12 Robert Millan <rmh@aybabtu.com>
35343
35344 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
35345 (grub_util_get_dev_abstraction): New function prototype.
35346
35347 * util/getroot.c: Include `<grub/util/getroot.h>'
35348 (grub_util_get_grub_dev): Move detection of abstraction type to ...
35349 (grub_util_get_dev_abstraction): ... here (new function).
35350
35351 * util/grub-probe.c: Convert PRINT_* to an enum. Add
35352 `PRINT_ABSTRACTION'.
35353 (probe): Probe for abstraction type when requested.
35354 (main): Understand `--target=abstraction'.
35355
35356 * util/i386/efi/grub-install.in: Add abstraction module to core
35357 image when it is found to be necessary.
35358 * util/i386/pc/grub-install.in: Likewise.
35359 * util/powerpc/ieee1275/grub-install.in: Likewise.
35360
35361 * util/update-grub_lib.in (font_path): Return system path without
35362 converting to GRUB path.
35363 * util/update-grub.in: Convert system path returned by font_path()
35364 to a GRUB path. Use `grub-probe -t abstraction' to determine what
35365 abstraction module is needed for loading fonts (if any). Export
35366 that as `GRUB_PRELOAD_MODULES'.
35367 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
35368 insmod commands).
35369
52bd3de9 353702008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
35371
35372 Remove some unused code from reiserfs.
f19dbdb7 35373
52bd3de9 35374 * fs/reiserfs.c (struct grub_reiserfs_key)
35375 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
35376 (struct grub_reiserfs_node_body): Removed.
35377 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35378 Likewise.
35379 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35380 Likewise.
35381 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35382 Likewise.
35383 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35384 Likewise.
35385 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35386 Likewise.
35387 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
35388 Likewise.
35389 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35390 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35391 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35392
2f80039d 353932008-01-10 Robert Millan <rmh@aybabtu.com>
35394
35395 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
35396 Determines if a file is garbage left by packaging systems, etc.
35397 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
35398 for processing /etc/grub.d scripts.
35399 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
35400 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
35401 as a condition for processing Linux images.
35402
87888032 354032008-01-10 Pavel Roskin <proski@gnu.org>
35404
35405 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
35406 to compile reiserfs.c on PowerPC.
35407
7e54fced 354082008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 35409
35410 * kern/device.c (grub_device_iterate): Do not abort device iteration
35411 when one of the devices cannot be opened.
35412 * kern/disk.c (grub_disk_open): Do not account previous failures of
35413 unrelated functions when grub_errno is checked for.
35414
5aa541e6 354152008-01-08 Robert Millan <rmh@aybabtu.com>
35416
35417 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
35418 `! grub_linux_is_bzimage', change order of address comparison to make
35419 it more intuitive, and improve "too big zImage" error message.
35420
7076340d 354212008-01-08 Robert Millan <rmh@aybabtu.com>
35422
35423 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
35424 `$(update-grub_DATA)'.
35425 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
35426 targets.
35427
9ca70333 354282008-01-07 Robert Millan <rmh@aybabtu.com>
35429
35430 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
35431 which instruction is modified by grub-setup during installation
35432 (since it wasn't obvious by only looking at this file).
35433
38ccf575 354342008-01-07 Robert Millan <rmh@aybabtu.com>
35435
35436 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
35437 listing actual TODO items.
35438
f5db4291 354392008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35440
868967cf 35441 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
35442 correctly.
35443 (grub_reiserfs_get_key_offset): Likewise.
35444 (grub_reiserfs_set_key_offset): Likewise.
35445 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 35446 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 35447
35448 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
35449 better to remove the bitfield version completely.
f19dbdb7 35450
868967cf 354512008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35452
f5db4291 35453 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
35454 allocated from the heap, due to the fshelp implementation.
35455 (grub_reiserfs_dir): Free NODE, due to the same reason.
35456
492e6d9d 354572008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35458
35459 Mostly from Vincent Pelletier:
f19dbdb7 35460
492e6d9d 35461 * fs/reiserfs.c: New file.
f19dbdb7 35462
492e6d9d 35463 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
35464 (reiserfs_mod_SOURCES): New variable.
35465 (reiserfs_mod_CFLAGS): Likewise.
35466 (reiserfs_mod_LDFLAGS): Likewise.
35467
35468 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
35469 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
35470 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
35471 normal/color.c.
35472
9ce3e7c1 354732008-01-06 Robert Millan <rmh@aybabtu.com>
35474
35475 * normal/color.c: Remove `<grub/env.h>'.
35476
f3b58148 354772008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
35478
35479 * include/grub/normal.h: Include <grub/env.h>.
35480
7ac3bcfa 354812008-01-05 Robert Millan <rmh@aybabtu.com>
35482
35483 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
35484 usage example with `(hd0,1)'.
fb358190 35485 Reported by Samuel Thibault.
7ac3bcfa 35486
c8ee99d7 354872008-01-05 Robert Millan <rmh@aybabtu.com>
35488
35489 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
35490 (grub_linux_boot_zimage): Rename to ...
35491 (grub_linux_boot): ... this.
35492 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
35493 (grub_linux_boot_zimage): Conditionalize zImage copy.
35494
35495 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
35496 (grub_linux_boot_bzimage): Remove prototype.
35497 (grub_linux_boot_zimage): Rename to ...
35498 (grub_linux_boot): ... this.
35499
35500 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
35501 (grub_linux_boot): Remove function.
35502
0ece25b1 355032008-01-05 Robert Millan <rmh@aybabtu.com>
35504
35505 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
35506 (grub_env_write_color_highlight): Likewise.
35507 (grub_wait_after_message): Likewise.
35508
35509 * normal/color.c: New file.
35510
35511 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35512 (normal_mod_DEPENDENCIES): Likewise.
35513
35514 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35515 (normal_mod_DEPENDENCIES): Likewise.
35516
35517 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35518 (normal_mod_DEPENDENCIES): Likewise.
35519
35520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35521 (normal_mod_DEPENDENCIES): Likewise.
35522
35523 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
35524 for waiting after a message is printed.
35525 * normal/main.c (read_config_file): Likewise.
35526 (grub_normal_init): Register grub_env_write_color_normal() and
35527 grub_env_write_color_highlight() hooks. Mark `color_normal' and
35528 `color_highlight' variables as global.
35529
35530 * normal/menu.c (grub_wait_after_message): New function.
35531 (grub_color_menu_normal): New variable. Replaces ...
35532 (GRUB_COLOR_MENU_NORMAL): ... this macro.
35533 (grub_color_menu_highlight): New variable. Replaces ...
35534 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
35535 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
35536 `GRUB_TERM_COLOR_STANDARD'.
35537 (print_message): Use `grub_setcolorstate' to reload colors. Rename
35538 `normal_code' and `highlight_code' to `old_color_normal' and
35539 `old_color_highlight', respectively.
35540 (grub_menu_init_page): Update colors when drawing the menu, based on
35541 `menu_color_normal' and `menu_color_highlight' variables.
35542 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
35543 a message is printed.
35544
182dd4e5 355452008-01-05 Robert Millan <rmh@aybabtu.com>
35546
35547 * kern/env.c (grub_env_context_open): Propagate hooks for global
35548 variables to new context.
35549
35550 * kern/main.c (grub_set_root_dev): Export `root' variable.
35551
ddf8f6ad 355522008-01-05 Robert Millan <rmh@aybabtu.com>
35553
35554 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 35555 discs unconditionally, since udev and others have options to provide
ddf8f6ad 35556 them.
35557
d8b43d9b 355582008-01-05 Robert Millan <rmh@aybabtu.com>
35559
35560 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
35561
2bff2de3 355622008-01-04 Christian Franke <franke@computer.org>
35563
35564 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
35565 of eisa_mmap.
35566
97eab917 355672008-01-03 Pavel Roskin <proski@gnu.org>
35568
35569 * kern/i386/linuxbios/init.c: Put "void" to all function
35570 declarations with no arguments.
35571 * kern/powerpc/ieee1275/init.c: Likewise.
35572 * term/i386/pc/at_keyboard.c: Likewise.
35573 * term/i386/pc/vga_text.c: Likewise.
35574 * util/grub-mkdevicemap.c: Likewise.
35575
b9416d00 355762008-01-02 Robert Millan <rmh@aybabtu.com>
35577
35578 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
35579 message when loaded image is out of bounds.
35580 (grub_multiboot_load_elf64): Likewise.
35581
92695df9 355822008-01-02 Pavel Roskin <proski@gnu.org>
35583
35584 * util/grub.d/10_linux.in: Try version without ".old" when
35585 looking for initrd. It's better to use initrd from the newer
35586 kernel of the same version than no initrd at all.
35587
d98d9cad 355882008-01-01 Robert Millan <rmh@aybabtu.com>
35589
35590 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
35591
dbfdce36 355922008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
35593
f19dbdb7 35594 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 35595 grub_video_get_active_render_target.
35596 (grub_video_adapter): Added unmap_color and get_active_render_target.
35597
f19dbdb7 35598 * video/video.c: Added grub_video_unmap_color and
dbfdce36 35599 grub_video_get_active_render_target.
35600 (grub_video_get_info): Changed method to accept NULL pointer as an
35601 argument to allow detection of active video adapter.
35602
35603 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
35604 grub_video_vbe_unmap_color_int.
35605 Added grub_video_vbe_unmap_color and
35606 grub_video_vbe_get_active_render_target.
35607 (grub_video_vbe_adapter): Added unmap_color and
35608 get_active_render_target.
35609
f19dbdb7 35610 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 35611 with grub_video_vbe_unmap_color_int.
35612
35613 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
35614 (DEFAULT_NORMAL_COLOR): Likewise.
35615 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
35616 (DEFAULT_FG_COLOR): Removed.
35617 (DEFAULT_BG_COLOR): Likewise.
35618 (DEFAULT_CURSOR_COLOR): Changed value.
35619 (grub_virtual_screen): Added standard_color_setting,
35620 normal_color_setting, highlight_color_setting and term_color.
35621 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
35622 (bitmap_width): Added.
35623 (bitmap_height): Likewise.
35624 (bitmap): Likewise.
35625 (set_term_color): Likewise.
35626 (grub_virtual_screen_setup): Changed to use new terminal coloring
35627 settings.
35628 (grub_gfxterm_init): Added init for bitmap.
35629 (grub_gfxterm_fini): Added destroy for bitmap.
35630 (redraw_screen_rect): Updated to use background bitmap and new
35631 terminal coloring.
35632 (scroll_up): Added optimization for case when there is no bitmap.
35633 (grub_gfxterm_cls): Fixed to use correct background color.
35634 (grub_virtual_screen_setcolorstate): Changed to use new terminal
35635 coloring.
35636 (grub_virtual_screen_setcolor): Likewise.
35637 (grub_virtual_screen_getcolor): Added.
35638 (grub_gfxterm_background_image_cmd): Likewise.
35639 (grub_video_term): Added setcolor and getcolor.
35640 (MOD_INIT): Added registration of background_image command.
35641 (MOD_TERM): Added unregistration for background_image command.
35642
c3c20931 356432007-12-30 Pavel Roskin <proski@gnu.org>
35644
35645 * loader/multiboot_loader.c: Fix multiboot command
35646 unregistration. Fix all typos in the word "multiboot".
35647
df266716 356482007-12-29 Pavel Roskin <proski@gnu.org>
94239199 35649
35650 * util/grub.d/10_linux.in: Refactor search for initrd. Add
35651 support for initrd names used in Fedora.
35652
fc6e896c 356532007-12-26 Bean <bean123ch@gmail.com>
35654
35655 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
35656 (cpio_mod_SOURCES): New variable.
35657 (cpio_mod_CFLAGS): Likewise.
35658 (cpio_mod_LDFLAGS): Likewise.
35659
35660 * fs/cpio.c: New file.
35661
35662 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
35663
35664 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35665
35666 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35667
35668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35669
533110ad 356702007-12-25 Robert Millan <rmh@aybabtu.com>
35671
35672 * include/grub/term.h (struct grub_term): Add `getcolor' function.
35673 (grub_getcolor): New function.
35674
35675 * kern/term.c (grub_getcolor): New function.
35676 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
35677 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
35678 (print_entry): Set normal and highlight colors to
35679 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
35680 respectively, before printing and restore them to old
35681 values afterwards.
35682 (grub_menu_init_page): Likewise. Fill an additional colored space
35683 that would otherwise be left blank.
35684
35685 * term/efi/console.c (grub_console_getcolor): New function.
35686 (struct grub_console_term.getcolor): New variable.
35687 * term/i386/pc/console.c (grub_console_getcolor): New function.
35688 (struct grub_console_term.getcolor): New variable.
35689 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
35690 (struct grub_console_term.getcolor): New variable.
35691
35692 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
35693 (struct grub_console_term.setcolor): Remove variable.
35694 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
35695 (struct grub_console_term.setcolor): Remove variable.
35696 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
35697 (struct grub_console_term.setcolor): Remove variable.
35698 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
35699 (struct grub_console_term.setcolor): Remove variable.
35700
4931827f 357012007-12-25 Robert Millan <rmh@aybabtu.com>
35702
35703 * configure.ac: Search for possible unifont.hex locations, and
35704 define UNIFONT_HEX if found.
35705
35706 * Makefile.in (UNIFONT_HEX): Define variable.
35707 (DATA): Rename to ...
35708 (PKGLIB): ... this. Update all users.
35709 (PKGDATA): New variable.
35710 (pkgdata_IMAGES): Rename to ...
35711 (pkglib_IMAGES): ... this. Update all users.
35712 (pkgdata_MODULES): Rename to ...
35713 (pkglib_MODULES): ... this. Update all users.
35714 (pkgdata_PROGRAMS): Rename to ...
35715 (pkglib_PROGRAMS): ... this. Update all users.
35716 (pkgdata_DATA): Rename to ...
35717 (pkglib_DATA): ... this. Update all users.
35718 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
35719 (unicode.pff, ascii.pff): New rules.
35720 (all-local): Add `$(PKGDATA)' dependency.
35721 (install-local): Process `$(PKGDATA)'.
35722
35723 * util/update-grub_lib.in (font_path): Search for *.pff files in
35724 a few more locations, including `${pkgdata}'.
35725
57e57e31 357262007-12-23 Robert Millan <rmh@aybabtu.com>
35727
35728 Patch from Bean <bean123ch@gmail.com>:
35729 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
35730 `size'.
35731
4bc72aa9 357322007-12-21 Bean <bean123ch@gmail.com>
35733
35734 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
35735 (ntfscomp_mod_SOURCES): New variable.
35736 (ntfscomp_mod_CFLAGS): Likewise.
35737 (ntfscomp_mod_LDFLAGS): Likewise.
35738
35739 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
35740 (grub_probe_SOURCES): Likewise.
35741 (grub_emu_SOURCES): Likewise.
35742
35743 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35744 (grub_emu_SOURCES): Likewise.
35745
35746 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35747 (grub_emu_SOURCES): Likewise.
35748
35749 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35750 (grub_emu_SOURCES): Likewise.
35751
35752 * fs/ntfs.c (grub_ntfscomp_func): New variable.
35753 (read_run_list): Renamed to grub_ntfs_read_run_list.
35754 (decomp_nextvcn): Moved to ntfscomp.c.
35755 (decomp_getch): Likewise.
35756 (decomp_get16): Likewise.
35757 (decomp_block): Likewise.
35758 (read_block): Likewise.
35759 (read_data): Partially moved to ntfscomp.c.
35760 (fixup): Change unsigned to grub_uint16_t.
35761 (read_mft): Change unsigned long to grub_uint32_t.
35762 (read_attr): Likewise.
35763 (read_data): Likewise.
35764 (read_run_data): Likewise.
35765 (read_run_list): Likewise.
35766 (read_mft): Likewise.
35767
35768 * fs/ntfscomp.c: New file.
35769
35770 * include/grub/ntfs.h: New file.
35771
af680a87 357722007-12-16 Robert Millan <rmh@aybabtu.com>
35773
35774 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
35775 IDE disk check, since Linux is known to support 20 IDE disks.
35776 Reported by Colin Watson.
35777
84be7599 357782007-12-15 Bean <bean123ch@gmail.com>
35779
35780 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
35781 (lnxboot_img_SOURCES): New variable.
35782 (lnxboot_img_ASFLAGS): Likewise.
35783 (lnxboot_img_LDFLAGS): Likewise.
35784
35785 * boot/i386/pc/lnxboot.S: New file.
35786
6af9db01 357872007-11-24 Pavel Roskin <proski@gnu.org>
35788
35789 * configure.ac: Test if '--build-id=none' is supported by the
35790 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
35791 objcopy to generate incorrect binary files (binutils
35792 2.17.50.0.18-1 as shipped by Fedora 8).
35793 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
35794 linking, so that build ID doesn't break the test.
35795
7361cfe6 357962007-11-24 Pavel Roskin <proski@gnu.org>
35797
35798 * include/grub/i386/time.h: use "void" in the argument list
35799 of grub_cpu_idle().
35800 * include/grub/powerpc/time.h: Likewise.
35801 * include/grub/sparc64/time.h: Likewise.
35802
1593e10c 358032007-11-18 Christian Franke <franke@computer.org>
35804
35805 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
35806 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
35807 This fixes the problem that function keys did not work in grub-emu.
35808
3b8db1a8 358092007-11-18 Christian Franke <franke@computer.org>
35810
35811 * disk/host.c (grub_host_open): Remove attribute unused from
35812 name parameter. Add check for "host". This fixes the problem
35813 that grub-emu does not find partitions.
35814
2e29408d 358152007-11-18 Christian Franke <franke@computer.org>
35816
35817 * util/hostfs.c (is_dir): New function.
35818 (grub_hostfs_dir): Handle missing dirent.d_type case.
35819 (grub_hostfs_read): Add missing fseek().
35820 (grub_hostfs_label): Clear label pointer. This fixes a crash
35821 of grub-emu on "ls (host)".
35822
398cd047 358232007-11-18 Christian Franke <franke@computer.org>
35824
35825 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
35826 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
35827 to 64 bit boundary by default.
35828
c405c391 358292007-11-18 Bean <bean123ch@gmail.com>
35830
35831 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
35832 (hexdump_mod_SOURCES): New variable.
35833 (hexdump_mod_CFLAGS): Likewise.
35834 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 35835
c405c391 35836 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35837
35838 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35839
35840 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35841
35842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35843
35844 * include/grub/hexdump.h: New file.
35845
35846 * commands/hexdump.c: New file.
35847
5cced7fd 358482007-11-10 Robert Millan <rmh@aybabtu.com>
35849
35850 * commands/i386/pc/play.c (beep_off): Switch order of arguments
35851 in grub_outb() calls.
35852 (beep_on): Likewise.
35853
8b714eb0 358542007-11-10 Christian Franke <franke@computer.org>
35855
35856 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
35857 (grub_menu_run): Likewise.
35858
ce0f1839 358592007-11-10 Robert Millan <rmh@aybabtu.com>
35860
35861 * include/grub/i386/efi/machine.h: New file.
35862 * include/grub/i386/linuxbios/machine.h: Likewise.
35863 * include/grub/i386/pc/machine.h: Likewise.
35864 * include/grub/powerpc/ieee1275/machine.h: Likewise.
35865 * include/grub/sparc64/ieee1275/machine.h: Likewise.
35866
35867 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
35868 (serial_hw_io_addr): New variable.
35869 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
35870 instead of `(unsigned short *) 0x400'.
35871
270c237d 358722007-11-10 Bean <bean123ch@gmail.com>
35873
35874 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
35875
a87783bf 358762007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
35877
35878 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
35879 (vga_mod_SOURCES): Added.
35880 (vga_mod_CFLAGS): Likewise.
35881 (vga_mod_LDFLAGS): Likewise.
35882
35883 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
35884 grub_outb() calls.
35885 (set_map_mask): Likewise.
35886 (set_read_map): Likewise.
35887 (set_read_address): Likewise.
35888 (vga_font): Removed variable.
35889 (get_vga_glyph): Removed function.
35890 (invalidate_char): Likewise.
35891 (write_char): Changed to use grub_font_get_glyph() for font
35892 information.
35893 (grub_vga_putchar): Likewise.
35894 (grub_vga_getcharwidth): Likewise.
35895
6433b448 358962007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
35897
35898 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
35899 flags.
35900 (pxeboot_img_LDFLAGS): Likewise.
35901 (diskboot_img_LDFLAGS): Likewise.
35902 (kernel_img_LDFLAGS): Likewise.
35903
49178511 359042007-11-06 Robert Millan <rmh@aybabtu.com>
35905
35906 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
35907 in grub_outb() calls.
35908 (serial_hw_init): Likewise.
35909
53b052de 359102007-11-05 Robert Millan <rmh@aybabtu.com>
35911
35912 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
35913 spaces. Skip non-regular files.
35914
5ab33bba 359152007-11-05 Robert Millan <rmh@aybabtu.com>
35916
35917 * kern/disk.c (grub_disk_firmware_fini)
35918 (grub_disk_firmware_is_tainted): New variables.
35919
35920 * include/grub/disk.h (grub_disk_firmware_fini)
35921 (grub_disk_firmware_is_tainted): Likewise.
35922
35923 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
35924 (grub_disk_biosdisk_fini): ... to here.
35925 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
35926 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
35927 is set. Register grub_disk_biosdisk_fini() in
35928 `grub_disk_firmware_fini'.
35929
35930 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
35931 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
35932 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
35933 to finish existing firmware disk interface.
35934
35935 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
35936 (ata_mod_SOURCES): New variable.
35937 (ata_mod_CFLAGS): Likewise.
35938 (ata_mod_LDFLAGS): Likewise.
35939
0149ab7c 359402007-11-05 Robert Millan <rmh@aybabtu.com>
35941
35942 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
35943 (grub_ata_wait): Reimplement using grub_millisleep().
35944
35945 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
35946 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
35947
be7ac41e 359482007-11-03 Marco Gerards <marco@gnu.org>
35949
35950 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
35951 (CRTC_ADDR_PORT): New macro.
35952 (CRTC_DATA_PORT): Likewise.
35953 (CRTC_CURSOR): Likewise.
35954 (CRTC_CURSOR_ADDR_HIGH): Likewise.
35955 (CRTC_CURSOR_ADDR_LOW): Likewise.
35956 (update_cursor): New function.
35957 (grub_console_real_putchar): Call `update_cursor'.
35958 (grub_console_gotoxy): Likewise.
35959 (grub_console_cls): Set the default color when clearing the
35960 screen.
35961 (grub_console_setcursor): Implemented.
35962
bb06ab2e 359632007-11-03 Marco Gerards <marco@gnu.org>
35964
35965 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
35966 become activate.
35967 (grub_ata_pio_write): Likewise.
35968
35969 (grub_atapi_identify): Wait after issuing an ATA command.
35970 (grub_atapi_packet): Likewise.
35971 (grub_ata_identify): Likewise.
35972 (grub_ata_readwrite): Likewise.
35973
cf8f780b 359742007-11-03 Marco Gerards <marco@gnu.org>
35975
35976 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
35977 (grub_ata_pio_write): Likewise.
35978 (grub_ata_readwrite): Use `grub_error', instead of
35979 returning `grub_errno'.
35980
ed649e54 359812007-11-03 Marco Gerards <marco@gnu.org>
35982
35983 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
35984 grub_ata_pio_write once for every single sector, instead of for
35985 multiple sectors.
35986
ca25d8f0 359872007-10-31 Robert Millan <rmh@aybabtu.com>
35988
35989 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
35990
35991 * conf/i386-linuxbios.rmk: New file.
35992
35993 * kern/i386/pc/hardware.c: Likewise.
35994 * term/i386/pc/at_keyboard.c: Likewise.
35995 * term/i386/pc/vga_text.c: Likewise.
35996
35997 * include/grub/i386/linuxbios/boot.h: Likewise.
35998 * include/grub/i386/linuxbios/console.h: Likewise.
35999 * include/grub/i386/linuxbios/init.h: Likewise.
36000 * include/grub/i386/linuxbios/kernel.h: Likewise.
36001 * include/grub/i386/linuxbios/loader.h: Likewise.
36002 * include/grub/i386/linuxbios/memory.h: Likewise.
36003 * include/grub/i386/linuxbios/serial.h: Likewise.
36004 * include/grub/i386/linuxbios/time.h: Likewise.
36005
36006 * kern/i386/linuxbios/init.c: Likewise.
36007 * kern/i386/linuxbios/startup.S: Likewise.
36008 * kern/i386/linuxbios/table.c: Likewise.
36009
e911ecc1 360102007-10-31 Marco Gerards <marco@gnu.org>
36011
36012 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36013 (ata_mod_SOURCES): New variable.
36014 (ata_mod_CFLAGS): Likewise.
36015 (ata_mod_LDFLAGS): Likewise.
36016
36017 * disk/ata.c: New file.
36018
36019 * include/grub/disk.h (grub_disk_dev_id): Add
36020 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 36021
7f66d0e0 360222007-10-31 Robert Millan <rmh@aybabtu.com>
36023
36024 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36025 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36026
36027 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36028 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36029
36030 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36031 `<grub/types.h>'.
36032
36033 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36034
5cd7dd46 360352007-10-27 Robert Millan <rmh@aybabtu.com>
36036
3236ca65 36037 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 36038
2ebfc90f 360392007-10-22 Robert Millan <rmh@aybabtu.com>
36040
36041 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36042 `"../realmode.S"'.
36043 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36044
73fcb0f3 360452007-10-22 Robert Millan <rmh@aybabtu.com>
36046
36047 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36048 (pkgdata_MODULES): Add `biosdisk.mod'.
36049 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36050 variables.
36051
36052 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36053 (grub_biosdisk_init): Replace with ...
36054 (GRUB_MOD_INIT(biosdisk)): ... this.
36055 (grub_biosdisk_fini): Replace with ...
36056 (GRUB_MOD_FINI(biosdisk)): ... this.
36057
36058 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36059 (grub_machine_init): Remove call to grub_biosdisk_init().
36060 (grub_machine_fini): Remove call to grub_machine_fini().
36061
36062 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36063
3381d274 360642007-10-22 Robert Millan <rmh@aybabtu.com>
36065
36066 * include/grub/time.h: New file.
36067 * include/grub/i386/time.h: Likewise.
36068 * include/grub/powerpc/time.h: Likewise.
36069 * include/grub/sparc64/time.h: Likewise.
36070
36071 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
36072 instances to ...
36073 (KERNEL_MACHINE_TIME_HEADER): ... this.
36074 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36075 instances to ...
36076 (KERNEL_MACHINE_TIME_HEADER): ... this.
36077 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36078 instances to ...
36079 (KERNEL_MACHINE_TIME_HEADER): ... this.
36080
36081 * kern/i386/efi/init.c: Include `<grub/time.h>'.
36082 (grub_millisleep): New function.
36083 * kern/i386/pc/init.c: Include `<grub/time.h>'.
36084 (grub_millisleep): New function.
36085 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
36086 Remove `grub/machine/time.h' include.
36087 (grub_millisleep): New function.
36088 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
36089 Remove `grub/machine/time.h' include.
36090 (grub_millisleep): New function.
36091
36092 * include/grub/misc.h (grub_div_roundup): New function.
36093
36094 * kern/misc.c: Include `<grub/time.h>'.
36095 (grub_millisleep_generic): New function.
36096
36097 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
36098 Add `time.h'.
36099 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
36100 Add `time.h'.
36101 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
36102 `machine/time.h'. Add `time.h'.
36103 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36104
a39a0312 361052007-10-21 Robert Millan <rmh@aybabtu.com>
36106
36107 * include/grub/misc.h (grub_max): New function.
36108
2aad70e2 361092007-10-21 Robert Millan <rmh@aybabtu.com>
36110
36111 * util/misc.c (grub_util_info): Call fflush() before returning.
36112
54b71c4b 361132007-10-20 Robert Millan <rmh@aybabtu.com>
36114
36115 * genmk.rb (Image): Copy `extra_flags' from here ...
36116 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
36117
36118 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
36119 to `argc' and `args' arguments.
36120
a979f513 361212007-10-17 Robert Millan <rmh@aybabtu.com>
36122
36123 * kern/i386/loader.S: New file.
36124
36125 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
36126 * kern/i386/loader.S (grub_linux_prot_size)... to here.
36127 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
36128 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
36129 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
36130 * kern/i386/loader.S (grub_linux_real_addr)... to here.
36131 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
36132 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
36133 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
36134 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
36135 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
36136 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
36137 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
36138 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
36139
36140 * kern/i386/realmode.S: New file.
36141
36142 * kern/i386/pc/startup.S (protstack): Moved from here ...
36143 * kern/i386/realmode.S (protstack)... to here.
36144 * kern/i386/pc/startup.S (gdt): Moved from here ...
36145 * kern/i386/realmode.S (gdt)... to here.
36146 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
36147 * kern/i386/realmode.S (prot_to_real)... to here.
36148
36149 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
36150 `kern/i386/realmode.S'.
36151
825fc8fd 361522007-10-17 Robert Millan <rmh@aybabtu.com>
36153
36154 * include/grub/i386/loader.h: New file.
36155
36156 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
36157 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36158 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36159 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36160 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
36161 * include/grub/i386/loader.h (grub_linux_prot_size)
36162 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36163 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36164 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36165 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
36166
36167 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
36168
e179b2f4 361692007-10-15 Robert Millan <rmh@aybabtu.com>
36170
36171 * normal/misc.c (grub_normal_print_device_info): Do not probe for
36172 filesystem when dev->disk is unset.
36173 Do probe for filesystem even when dev->disk->has_partitions is set.
36174 In case a filesystem is found, always report it.
36175 In case it isn't, if dev->disk->has_partitions is set, report that
36176 a partition table was found instead of reporting that no filesystem
36177 could be identified.
36178
5db82af6 361792007-10-12 Robert Millan <rmh@aybabtu.com>
36180
36181 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
36182 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
36183
68f6ac74 36184 * include/grub/types.h (grub_host_to_target16): New macro.
36185 (grub_host_to_target32): Likewise.
36186 (grub_host_to_target64): Likewise.
36187 (grub_target_to_host16): Likewise.
36188 (grub_target_to_host32): Likewise.
36189 (grub_target_to_host64): Likewise.
5db82af6 36190
36191 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36192 Renamed from to ...
36193 (GRUB_MOD_ALIGN): ...this. Update all users.
36194
68f6ac74 36195 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
36196 grub_host_to_target32.
36197 Replace grub_be_to_cpu32 with grub_target_to_host32.
36198 (load_modules): Likewise.
36199 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
36200 Replace grub_be_to_cpu32 with grub_target_to_host32.
36201 Replace grub_cpu_to_be16 with grub_host_to_target16.
36202 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 36203
3cf497cc 362042007-10-12 Robert Millan <rmh@aybabtu.com>
36205
36206 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
36207 * util/elf/grub-mkimage.c: ... here.
36208
36209 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
36210 `util/powerpc/ieee1275/grub-mkimage.c'.
36211
c8cc3692 362122007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 36213
c8cc3692 36214 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
36215 and make it easier to figure out.
36216 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
36217 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
36218 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
36219 leave us with less than HEAP_MIN_SIZE total heap.
36220 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 36221
5c58b791 362222007-10-03 Robert Millan <rmh@aybabtu.com>
36223
36224 * include/grub/i386/io.h: New file.
36225 * commands/i386/pc/play.c (inb): Removed.
36226 (outb): Removed.
36227 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36228 with grub_outb().
afcd2ef8 36229 * term/i386/pc/serial.c (inb): Removed.
36230 (outb): Removed.
36231 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36232 with grub_outb().
36233 * term/i386/pc/vga.c (inb): Removed.
36234 (outb): Removed.
36235 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36236 with grub_outb().
5c58b791 36237
1a477ed6 362382007-10-02 Robert Millan <rmh@aybabtu.com>
36239
36240 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
36241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36242 Reported by Marcin Kurek.
36243
6b5d80fa 362442007-09-07 Robert Millan <rmh@aybabtu.com>
36245
36246 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
36247 SmartFirmware version updates (as released by Sven Luther), and avoid
36248 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
36249 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
36250 known broken.
36251
5618afbf 362522007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36253
36254 From Hitoshi Ozeki:
36255 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
36256 when merging two regions.
36257
6139dcd9 362582007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36259
508e39ee 36260 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
36261 * normal/completion.c (grub_normal_do_completion): Likewise.
36262 Reported by Hitoshi Ozeki.
36263
362642007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36265
6139dcd9 36266 Do not use devices at boot in chainloading.
f19dbdb7 36267
6139dcd9 36268 * loader/i386/pc/chainloader.c (boot_drive): New variable.
36269 (boot_part_addr): Likewise.
36270 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
36271 with BOOT_DRIVE and BOOT_PART_ADDR.
36272 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
36273 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
36274
38da6516 362752007-08-29 Robert Millan <rmh@aybabtu.com>
36276
36277 Patch from Simon Peter <dn.tlp@gmx.net>:
36278 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
36279 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
36280 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
36281 util/i386/pc/grub-setup.c_DEPENDENCIES.
36282 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
36283 util/grub-probe.c_DEPENDENCIES.
36284 * conf/powerpc-ieee1275.rmk: Likewise.
36285
29d0928c 362862007-08-28 Robert Millan <rmh@aybabtu.com>
36287
36288 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
36289 to tell grub-mkdevicemap how to name devices.
36290 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
36291 feature).
36292
36293 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
36294 util/i386/get_disk_name.c.
36295 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
36296 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
36297 util/ieee1275/get_disk_name.c.
36298
36299 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
36300
36301 * DISTLIST: Add util/i386/get_disk_name.c and
36302 util/ieee1275/get_disk_name.c.
36303
36304 * util/grub-mkdevicemap.c: Replace device naming logic with
36305 grub_util_get_disk_name() calls.
36306
5a0d3cca 363072007-08-20 Robert Millan <rmh@aybabtu.com>
36308
36309 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
36310 (so that it works for both plural and singular quantities).
36311
8b72db2f 363122007-08-05 Robert Millan <rmh@aybabtu.com>
36313
36314 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
36315 so that [xz] isn't taken into account when determining order.
36316
352466bf 363172007-08-02 Marco Gerards <marco@gnu.org>
36318
36319 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
36320 `include/multiboot2.h', `include/grub/elfload.h',
36321 `include/multiboot.h', `include/grub/multiboot.h',
36322 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
36323 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
36324 `kern/elf.c', `loader/multiboot_loader.c',
36325 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
36326 `loader/i386/pc/multiboot2.c',
36327 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
36328 `util/i386/pc/grub-mkrescue.in'. Remove
36329 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
36330 `include/grub/i386/pc/util/biosdisk.h' and
36331 `include/grub/powerpc/ieee1275/multiboot.h'.
36332
8f096014 363332007-08-02 Bean <bean123ch@gmail.com>
36334
36335 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
36336 (ntfs_mod_SOURCES): New variable.
36337 (ntfs_mod_CFLAGS): Likewise.
36338 (ntfs_mod_LDFLAGS): Likewise.
36339
36340 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
36341 (grub_probe_SOURCES): Likewise.
36342 (grub_emu_SOURCES): Likewise.
36343
36344 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36345 (grub_emu_SOURCES): Likewise.
36346
36347 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36348 (grub_emu_SOURCES): Likewise.
f19dbdb7 36349
8f096014 36350 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
36351
36352 * fs/ntfs.c: New file.
36353
9959f7db 363542007-08-02 Bean <bean123ch@gmail.com>
36355
36356 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
36357
36358 * file.h (grub_file): Likewise.
36359
36360 * fshelp.h (grub_fshelp_read_file): Likewise.
36361
36362 * util/i386/pc/grub-setup.c (setup): Likewise.
36363 (save_first_sector): Likewise.
36364 (save_blocklists): Likewise.
f19dbdb7 36365
9959f7db 36366 * fs/affs.c (grub_affs_read_file): Likewise.
36367
36368 * fs/ext2.c (grub_ext2_read_file): Likewise.
36369
36370 * fs/fat.c (grub_fat_read_data): Likewise.
36371
36372 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
36373
36374 * fs/hfs.c (grub_hfs_read_file): Likewise.
36375
36376 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36377
36378 * fs/jfs.c (grub_jfs_read_file): Likewise.
36379
36380 * fs/minix.c (grub_minix_read_file): Likewise.
36381
36382 * fs/sfs.c (grub_sfs_read_file): Likewise.
36383
36384 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 36385
9959f7db 36386 * fs/xfs.c (grub_xfs_read_file): Likewise.
36387
36388 * command/blocklist.c (read_blocklist): Likewise.
36389 (print_blocklist): Likewise.
36390
0a203f83 363912007-08-02 Marco Gerards <marco@gnu.org>
36392
36393 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
36394 `util/hostfs.c'.
36395
36396 * disk/host.c: New file.
36397
36398 * util/hostfs.c: Likewise.
36399
36400 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
36401 return `GRUB_ERR_BAD_FS'.
36402 * fs/sfs.c (grub_sfs_mount): Likewise.
36403 * fs/xfs.c (grub_xfs_mount): Likewise.
36404
36405 * include/grub/disk.h (enum grub_disk_dev_id): Add
36406 `GRUB_DISK_DEVICE_HOST_ID'.
36407
36408 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
36409
e5dfe777 364102007-07-24 Jerone Young <jerone@gmail.com>
36411
f19dbdb7 36412 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 36413 modules for compilation.
36414 * conf/powerpc-ieee1275.rmk: Likewise.
36415
36416 * include/multiboot.h: Move multiboot definitions to one file. Rename
36417 many definitions to not get grub specific.
36418 * include/multiboot2.h: Create header with multiboot 2 definitions.
36419 * include/grub/multiboot.h: Header for grub specific function
36420 prototypes and definitions.
36421 * include/grub/multiboot2.h: Likewise.
36422 * include/grub/multiboot_loader.h: Likewise.
36423 * include/grub/i386/pc/multiboot.h: Removed.
36424 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
36425
36426 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
36427 and 2 to allow for one multiboot and module commands.
36428 * loader/multiboot2.c: Add multiboot2 functionality.
36429 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
36430 and definition names.
36431 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
36432 2 functions.
36433 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
36434 ieee1275 specific multiboot2 code.
36435
36436 * kern/i386/pc/startup.S: Change headers and definition names for
36437 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
36438
daf0f0ba 364392007-07-22 Robert Millan <rmh@aybabtu.com>
36440
36441 * geninitheader.sh: Process file specified in first parameter rather
36442 than hardcoding grub_modules_init.lst.
fe6b695a 36443 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 36444 than hardcoding grub_modules_init.h.
36445
36446 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
36447 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
36448 grub_probe_init.[ch] and grub_setup_init.[ch].
36449
36450 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
36451 grub_modules_init.h with grub_emu_init.h.
36452 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
36453 grub_probe_init.[ch] files.
36454 * conf/i386-efi.rmk: Likewise.
36455 * conf/i386-pc.rmk: Likewise.
36456 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
36457 grub_setup_init.[ch] files.
36458
36459 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
36460 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
36461 to initialize modules rather than a list of hardcoded functions.
36462 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
36463 grub_init_all() to initialize modules rather than a list of hardcoded
36464 functions.
36465
54cdc1cc 364662007-07-22 Robert Millan <rmh@aybabtu.com>
36467
36468 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
36469 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
36470
ad0686cc 364712007-07-22 Robert Millan <rmh@aybabtu.com>
36472
36473 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36474 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
36475 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
36476 flag when running on SmartFirmware.
36477 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
36478 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
36479 was set.
36480
36481 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36482 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
36483 rather than decreasing it.
36484
36485 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
36486 there's not enough space to do it, fail in the same way as when it
36487 can't be done because there are no partitions.
36488
36489 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
36490 when nvsetenv failed.
36491
969c02ec 364922007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36493
36494 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
36495 because this rule is automatically generated.
36496 (grub-mkrescue): Removed for the same reason as above.
36497
5a79f472 364982007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36499
36500 Migrate to GNU General Public License Version 3.
f19dbdb7 36501
5a79f472 36502 * COPYING: Replaced with the plain text version of GPLv3.
36503
36504 * config.guess: Updated from gnulib.
36505 * config.sub: Likewise.
36506
36507 * geninit.sh: Output a GPLv3 copyright notice.
36508 * geninitheader.sh: Likewise.
36509 * genmodsrc.sh: Likewise.
36510 * gensymlist.sh.in: Likewise.
36511
36512 * boot/i386/pc/boot.S: Upgraded to GPLv3.
36513 * boot/i386/pc/diskboot.S: Likewise.
36514 * boot/i386/pc/pxeboot.S: Likewise.
36515 * commands/blocklist.c: Likewise.
36516 * commands/boot.c: Likewise.
36517 * commands/cat.c: Likewise.
36518 * commands/cmp.c: Likewise.
36519 * commands/configfile.c: Likewise.
36520 * commands/echo.c: Likewise.
36521 * commands/help.c: Likewise.
36522 * commands/ls.c: Likewise.
36523 * commands/search.c: Likewise.
36524 * commands/terminal.c: Likewise.
36525 * commands/test.c: Likewise.
36526 * commands/videotest.c: Likewise.
36527 * commands/i386/cpuid.c: Likewise.
36528 * commands/i386/pc/halt.c: Likewise.
36529 * commands/i386/pc/play.c: Likewise.
36530 * commands/i386/pc/reboot.c: Likewise.
36531 * commands/i386/pc/vbeinfo.c: Likewise.
36532 * commands/i386/pc/vbetest.c: Likewise.
36533 * commands/ieee1275/halt.c: Likewise.
36534 * commands/ieee1275/reboot.c: Likewise.
36535 * commands/ieee1275/suspend.c: Likewise.
36536 * disk/loopback.c: Likewise.
36537 * disk/lvm.c: Likewise.
36538 * disk/raid.c: Likewise.
36539 * disk/efi/efidisk.c: Likewise.
36540 * disk/i386/pc/biosdisk.c: Likewise.
36541 * disk/ieee1275/ofdisk.c: Likewise.
36542 * font/manager.c: Likewise.
36543 * fs/affs.c: Likewise.
36544 * fs/ext2.c: Likewise.
36545 * fs/fat.c: Likewise.
36546 * fs/fshelp.c: Likewise.
36547 * fs/hfs.c: Likewise.
36548 * fs/hfsplus.c: Likewise.
36549 * fs/iso9660.c: Likewise.
36550 * fs/jfs.c: Likewise.
36551 * fs/minix.c: Likewise.
36552 * fs/sfs.c: Likewise.
36553 * fs/ufs.c: Likewise.
36554 * fs/xfs.c: Likewise.
36555 * hello/hello.c: Likewise.
36556 * include/grub/acorn_filecore.h: Likewise.
36557 * include/grub/arg.h: Likewise.
36558 * include/grub/bitmap.h: Likewise.
36559 * include/grub/boot.h: Likewise.
36560 * include/grub/cache.h: Likewise.
36561 * include/grub/device.h: Likewise.
36562 * include/grub/disk.h: Likewise.
36563 * include/grub/dl.h: Likewise.
36564 * include/grub/elfload.h: Likewise.
36565 * include/grub/env.h: Likewise.
36566 * include/grub/err.h: Likewise.
36567 * include/grub/file.h: Likewise.
36568 * include/grub/font.h: Likewise.
36569 * include/grub/fs.h: Likewise.
36570 * include/grub/fshelp.h: Likewise.
36571 * include/grub/gzio.h: Likewise.
36572 * include/grub/hfs.h: Likewise.
36573 * include/grub/kernel.h: Likewise.
36574 * include/grub/loader.h: Likewise.
36575 * include/grub/lvm.h: Likewise.
36576 * include/grub/misc.h: Likewise.
36577 * include/grub/mm.h: Likewise.
36578 * include/grub/net.h: Likewise.
36579 * include/grub/normal.h: Likewise.
36580 * include/grub/parser.h: Likewise.
36581 * include/grub/partition.h: Likewise.
36582 * include/grub/pc_partition.h: Likewise.
36583 * include/grub/raid.h: Likewise.
36584 * include/grub/rescue.h: Likewise.
36585 * include/grub/script.h: Likewise.
36586 * include/grub/setjmp.h: Likewise.
36587 * include/grub/symbol.h: Likewise.
36588 * include/grub/term.h: Likewise.
36589 * include/grub/terminfo.h: Likewise.
36590 * include/grub/tparm.h: Likewise.
36591 * include/grub/types.h: Likewise.
36592 * include/grub/video.h: Likewise.
36593 * include/grub/efi/api.h: Likewise.
36594 * include/grub/efi/chainloader.h: Likewise.
36595 * include/grub/efi/console.h: Likewise.
36596 * include/grub/efi/console_control.h: Likewise.
36597 * include/grub/efi/disk.h: Likewise.
36598 * include/grub/efi/efi.h: Likewise.
36599 * include/grub/efi/pe32.h: Likewise.
36600 * include/grub/efi/time.h: Likewise.
36601 * include/grub/i386/linux.h: Likewise.
36602 * include/grub/i386/setjmp.h: Likewise.
36603 * include/grub/i386/types.h: Likewise.
36604 * include/grub/i386/efi/kernel.h: Likewise.
36605 * include/grub/i386/efi/loader.h: Likewise.
36606 * include/grub/i386/efi/time.h: Likewise.
36607 * include/grub/i386/pc/biosdisk.h: Likewise.
36608 * include/grub/i386/pc/boot.h: Likewise.
36609 * include/grub/i386/pc/chainloader.h: Likewise.
36610 * include/grub/i386/pc/console.h: Likewise.
36611 * include/grub/i386/pc/init.h: Likewise.
36612 * include/grub/i386/pc/kernel.h: Likewise.
36613 * include/grub/i386/pc/loader.h: Likewise.
36614 * include/grub/i386/pc/memory.h: Likewise.
36615 * include/grub/i386/pc/multiboot.h: Likewise.
36616 * include/grub/i386/pc/serial.h: Likewise.
36617 * include/grub/i386/pc/time.h: Likewise.
36618 * include/grub/i386/pc/vbe.h: Likewise.
36619 * include/grub/i386/pc/vbeblit.h: Likewise.
36620 * include/grub/i386/pc/vbefill.h: Likewise.
36621 * include/grub/i386/pc/vbeutil.h: Likewise.
36622 * include/grub/i386/pc/vga.h: Likewise.
36623 * include/grub/ieee1275/ieee1275.h: Likewise.
36624 * include/grub/ieee1275/ofdisk.h: Likewise.
36625 * include/grub/powerpc/libgcc.h: Likewise.
36626 * include/grub/powerpc/setjmp.h: Likewise.
36627 * include/grub/powerpc/types.h: Likewise.
36628 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
36629 * include/grub/powerpc/ieee1275/console.h: Likewise.
36630 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
36631 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
36632 * include/grub/powerpc/ieee1275/loader.h: Likewise.
36633 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
36634 * include/grub/powerpc/ieee1275/time.h: Likewise.
36635 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
36636 * include/grub/sparc64/libgcc.h: Likewise.
36637 * include/grub/sparc64/setjmp.h: Likewise.
36638 * include/grub/sparc64/types.h: Likewise.
36639 * include/grub/sparc64/ieee1275/console.h: Likewise.
36640 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36641 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36642 * include/grub/sparc64/ieee1275/time.h: Likewise.
36643 * include/grub/util/biosdisk.h: Likewise.
36644 * include/grub/util/getroot.h: Likewise.
36645 * include/grub/util/lvm.h: Likewise.
36646 * include/grub/util/misc.h: Likewise.
36647 * include/grub/util/raid.h: Likewise.
36648 * include/grub/util/resolve.h: Likewise.
36649 * io/gzio.c: Likewise.
36650 * kern/device.c: Likewise.
36651 * kern/disk.c: Likewise.
36652 * kern/dl.c: Likewise.
36653 * kern/elf.c: Likewise.
36654 * kern/env.c: Likewise.
36655 * kern/err.c: Likewise.
36656 * kern/file.c: Likewise.
36657 * kern/fs.c: Likewise.
36658 * kern/loader.c: Likewise.
36659 * kern/main.c: Likewise.
36660 * kern/misc.c: Likewise.
36661 * kern/mm.c: Likewise.
36662 * kern/parser.c: Likewise.
36663 * kern/partition.c: Likewise.
36664 * kern/rescue.c: Likewise.
36665 * kern/term.c: Likewise.
36666 * kern/efi/efi.c: Likewise.
36667 * kern/efi/init.c: Likewise.
36668 * kern/efi/mm.c: Likewise.
36669 * kern/i386/dl.c: Likewise.
36670 * kern/i386/efi/init.c: Likewise.
36671 * kern/i386/efi/startup.S: Likewise.
36672 * kern/i386/pc/init.c: Likewise.
36673 * kern/i386/pc/lzo1x.S: Likewise.
36674 * kern/i386/pc/startup.S: Likewise.
36675 * kern/ieee1275/ieee1275.c: Likewise.
36676 * kern/powerpc/cache.S: Likewise.
36677 * kern/powerpc/dl.c: Likewise.
36678 * kern/powerpc/ieee1275/cmain.c: Likewise.
36679 * kern/powerpc/ieee1275/crt0.S: Likewise.
36680 * kern/powerpc/ieee1275/init.c: Likewise.
36681 * kern/powerpc/ieee1275/openfw.c: Likewise.
36682 * kern/sparc64/cache.S: Likewise.
36683 * kern/sparc64/dl.c: Likewise.
36684 * kern/sparc64/ieee1275/init.c: Likewise.
36685 * kern/sparc64/ieee1275/openfw.c: Likewise.
36686 * loader/efi/chainloader.c: Likewise.
36687 * loader/efi/chainloader_normal.c: Likewise.
36688 * loader/i386/efi/linux.c: Likewise.
36689 * loader/i386/efi/linux_normal.c: Likewise.
36690 * loader/i386/pc/chainloader.c: Likewise.
36691 * loader/i386/pc/chainloader_normal.c: Likewise.
36692 * loader/i386/pc/linux.c: Likewise.
36693 * loader/i386/pc/linux_normal.c: Likewise.
36694 * loader/i386/pc/multiboot.c: Likewise.
36695 * loader/i386/pc/multiboot_normal.c: Likewise.
36696 * loader/powerpc/ieee1275/linux.c: Likewise.
36697 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36698 * normal/arg.c: Likewise.
36699 * normal/cmdline.c: Likewise.
36700 * normal/command.c: Likewise.
36701 * normal/completion.c: Likewise.
36702 * normal/execute.c: Likewise.
36703 * normal/function.c: Likewise.
36704 * normal/lexer.c: Likewise.
36705 * normal/main.c: Likewise.
36706 * normal/menu.c: Likewise.
36707 * normal/menu_entry.c: Likewise.
36708 * normal/misc.c: Likewise.
36709 * normal/parser.y: Likewise.
36710 * normal/script.c: Likewise.
36711 * normal/i386/setjmp.S: Likewise.
36712 * normal/powerpc/setjmp.S: Likewise.
36713 * normal/sparc64/setjmp.S: Likewise.
36714 * partmap/acorn.c: Likewise.
36715 * partmap/amiga.c: Likewise.
36716 * partmap/apple.c: Likewise.
36717 * partmap/gpt.c: Likewise.
36718 * partmap/pc.c: Likewise.
36719 * partmap/sun.c: Likewise.
36720 * term/gfxterm.c: Likewise.
36721 * term/terminfo.c: Likewise.
36722 * term/efi/console.c: Likewise.
36723 * term/i386/pc/console.c: Likewise.
36724 * term/i386/pc/serial.c: Likewise.
36725 * term/i386/pc/vesafb.c: Likewise.
36726 * term/i386/pc/vga.c: Likewise.
36727 * term/ieee1275/ofconsole.c: Likewise.
36728 * util/biosdisk.c: Likewise.
36729 * util/console.c: Likewise.
36730 * util/genmoddep.c: Likewise.
36731 * util/getroot.c: Likewise.
36732 * util/grub-emu.c: Likewise.
36733 * util/grub-mkdevicemap.c: Likewise.
36734 * util/grub-probe.c: Likewise.
36735 * util/lvm.c: Likewise.
36736 * util/misc.c: Likewise.
36737 * util/raid.c: Likewise.
36738 * util/resolve.c: Likewise.
36739 * util/update-grub.in: Likewise.
36740 * util/update-grub_lib.in: Likewise.
36741 * util/grub.d/00_header.in: Likewise.
36742 * util/grub.d/10_hurd.in: Likewise.
36743 * util/grub.d/10_linux.in: Likewise.
36744 * util/i386/efi/grub-install.in: Likewise.
36745 * util/i386/efi/grub-mkimage.c: Likewise.
36746 * util/i386/pc/grub-install.in: Likewise.
36747 * util/i386/pc/grub-mkimage.c: Likewise.
36748 * util/i386/pc/grub-mkrescue.in: Likewise.
36749 * util/i386/pc/grub-setup.c: Likewise.
36750 * util/i386/pc/misc.c: Likewise.
36751 * util/powerpc/ieee1275/grub-install.in: Likewise.
36752 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
36753 * util/powerpc/ieee1275/misc.c: Likewise.
36754 * video/bitmap.c: Likewise.
36755 * video/video.c: Likewise.
36756 * video/i386/pc/vbe.c: Likewise.
36757 * video/i386/pc/vbeblit.c: Likewise.
36758 * video/i386/pc/vbefill.c: Likewise.
36759 * video/i386/pc/vbeutil.c: Likewise.
36760 * video/readers/tga.c: Likewise.
36761
3572d015 367622007-07-02 Robert Millan <rmh@aybabtu.com>
36763
36764 * conf/i386-efi.rmk: Replace obsolete reference to
36765 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
36766 with util/getroot.c.
36767 * conf/powerpc-ieee1275.rmk: Likewise.
36768 * conf/sparc64-ieee1275.rmk: Likewise.
36769
36770 * util/grub-emu.c (main): Fix unchecked pointer handling.
36771
2c2a681b 367722007-07-02 Robert Millan <rmh@aybabtu.com>
36773
36774 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
36775 invocation to fail, in order to support partition-less media.
36776
36777 * util/i386/pc/grub-install.in: Likewise.
36778
36779 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
36780 which fs or partmap modules are needed (akin to its sister scripts).
36781
36782 Also use grub-probe to get rid of unportable /proc/mounts check.
36783
36784 Print the same informational message that the other scripts do, before
fe6b695a 36785 exiting.
2c2a681b 36786
6193defe 367872007-06-23 Robert Millan <rmh@aybabtu.com>
36788
fe6b695a 36789 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 36790 a font file can be found and, if so, echo the GRUB path to it.
36791
36792 * util/update-grub.in: Handle multiple terminals depending on user
36793 input, platform availability and font file presence. Propagate
36794 variables of our findings to /etc/grub.d/ children.
36795
36796 * util/grub.d/00_header.in: Handle multiple terminals, based on
36797 environment setup by update-grub.
36798
eface1dc 367992007-06-23 Robert Millan <rmh@aybabtu.com>
36800
ba50d28f 36801 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 36802
bf697e28 368032007-06-21 Robert Millan <rmh@aybabtu.com>
36804
36805 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
36806 indicate end of data section in kernel image.
36807 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
36808 GRUB_KERNEL_MACHINE_DATA_END.
36809
36810 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
36811 space for it.
36812 * kern/i386/efi/startup.S: Likewise.
36813
36814 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
36815 during image generation. Implement --prefix option to override this
36816 patch.
36817 * util/i386/efi/grub-mkimage.c: Likewise.
36818
36819 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
36820 code to make path relative to its root into a separate function.
36821
36822 * util/i386/pc/grub-install.in: Use newly provided
36823 make_system_path_relative_to_its_root() to convert ${grubdir}, then
36824 pass the result to grub-install --prefix.
36825
baa574b4 368262007-06-13 Robert Millan <rmh@aybabtu.com>
36827
36828 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
36829 DEFAULT_DEVICE_MAP.
36830 * util/grub-emu.c: Use above definitions from misc.h instead of
36831 defining them.
36832 * util/grub-mkdevicemap.c: Likewise.
36833 * util/i386/pc/grub-setup.c: Likewise.
36834 * util/grub-probe.c: Likewise.
36835 (probe): Abort with grub_util_error() when either
36836 grub_guess_root_device or grub_util_get_grub_dev fails.
36837
0215dcbf 368382007-06-12 Robert Millan <rmh@aybabtu.com>
36839
36840 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
36841 "pager" assignment.
36842 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
36843 "pcdata".
36844 * util/grub-probe.c (probe): Likewise for "drive_name".
36845
8af2ab7b 368462007-06-11 Robert Millan <rmh@aybabtu.com>
36847
36848 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
36849 not just the cdrom one.
36850
59d31694 368512007-06-11 Robert Millan <rmh@aybabtu.com>
36852
36853 * util/i386/pc/grub-mkrescue.in: Add "set -e".
36854 Add --pkglibdir=DIR option to override pkglibdir.
36855 Mention --image-type=TYPE in help output.
36856 Fix --grub-mkimage (it was a no-op).
fe6b695a 36857 Abort gracefully when no parameter is given.
59d31694 36858
7ee367e4 368592007-06-11 Robert Millan <rmh@aybabtu.com>
36860
36861 * util/i386/pc/grub-mkrescue.in: New file.
36862 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
36863 * Makefile.in: Handle bin_SCRIPTS.
36864
29b0ed46 368652007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
36866
36867 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
36868 list of video modes.
36869
c0f90770 368702007-06-06 Robert Millan <rmh@aybabtu.com>
36871
36872 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
36873 file doesn't exist, or if it is in a filesystem grub can't read.
36874
36875 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
36876 not abort if GRUB_DRIVE could not be defined. Rearrange generated
36877 header comment to fit in 80 columns when the variables are resolved.
36878
36879 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
36880 could be identified by update-grub. Remove redundant check for
fe6b695a 36881 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 36882 handles that).
36883
fb36dc26 368842007-06-04 Robert Millan <rmh@aybabtu.com>
36885
36886 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
36887
36888 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
36889
36890 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
36891
0c68c93e 368922007-06-04 Robert Millan <rmh@aybabtu.com>
36893
36894 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
36895
36896 * include/grub/partition.h: Declare grub_apple_partition_map_init and
36897 grub_apple_partition_map_fini.
36898
36899 * util/biosdisk.c
36900 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
36901 to access >2 TiB disks).
36902
36903 Print disk->total_sectors with %llu instead of %lu, since this
36904 variable is always 64-bit (prevents wrong disk size from being displayed
36905 on either >2 TiB disk or big-endian CPU).
36906
36907 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
36908 into a generic case that supports all (sane) partition maps.
36909
36910 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
36911 breaks big-endian.
36912
36913 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
36914 and grub_apple_partition_map_fini() after that.
36915
0f23eb74 369162007-06-01 Robert Millan <rmh@aybabtu.com>
36917
36918 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
36919
36920 * util/grub.d/00_header.in: Only enable gfxterm when
36921 convert_system_path_to_grub_path() succeeds.
36922
42c71976 369232007-05-20 Robert Millan <rmh@aybabtu.com>
36924
36925 * util/update-grub_lib.in: New file.
36926 * DISTLIST: Add update-grub_lib.in.
36927 * conf/common.rmk: Generate update-grub_lib and install it in
36928 $(lib_DATA).
36929 * Makefile.in: Add install routine for $(lib_DATA).
36930
36931 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
36932 function provided by update-grub_lib to support arbitrary paths of
36933 unifont.pff.
36934 * util/update-grub.in: Use convert_system_path_to_grub_path() to
36935 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
36936
5beb2291 369372007-05-19 Robert Millan <rmh@aybabtu.com>
36938
36939 * commands/i386/cpuid.c: New module.
36940 * DISTLIST: Add it.
36941 * conf/i386-efi.rmk: Enable cpuid.mod.
36942 * conf/i386-pc.rmk: Likewise.
36943
7262eca1 369442007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
36945
36946 * kern/disk.c (grub_disk_read): Check return value of
36947 grub_realloc().
36948
260ba823 369492007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
36950
36951 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
36952 arrays.
36953 * disk/raid.c (grub_raid_open): Likewise.
36954
1ecb6cf2 369552007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
36956
36957 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
36958 stack instead of on the heap.
36959
36960 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
36961 before doing a read on it.
36962
36963 * configure.ac: Only use -fno-stack-protector for the target
36964 environment.
f19dbdb7 36965
21c8cbb1 369662007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
36967
36968 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
36969 __attribute_ ((unused)) to mode_type argument.
36970
36971 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 36972
21c8cbb1 36973 * kern/misc.c (memcmp): Fix prototype.
36974
36975 * include/grub/partition.h [GRUB_UTIL]
36976 (grub_gpt_partition_map_init): Add prototype.
36977 (grub_gpt_partition_map_fini): Likewise.
36978
36979 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
36980 at the right place.
36981
36982 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
36983 (grub_fat_read_data): Likewise.
36984 (grub_fat_find_dir): Likewise.
36985
36986 * font/manager.c (find_glyph): Make table a const.
36987 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 36988
849d55d3 369892007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
36990
36991 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
36992 code, first search for device in /dev/mapper, then in /dev.
36993 (grub_util_get_grub_dev): New function.
36994 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
36995 prototype.
36996 * util/grub-probe.c (probe): Remove check for RAID, call
36997 grub_util_get_grub_dev() instead of
36998 grub_util_biosdisk_get_grub_dev().
36999 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37000 grub_util_biosdisk_get_grub_dev().
37001 * util/i386/pc/grub-setup.c (main): Likewise.
37002
8fff7c2f 370032007-05-16 Robert Millan <rmh@aybabtu.com>
37004
37005 * DISTLIST: Update for the latest changes.
37006 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37007 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37008 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37009 grub/util/biosdisk.h.
37010 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37011 grub/util/biosdisk.h.
37012
48e12b52 370132007-05-16 Robert Millan <rmh@aybabtu.com>
37014
37015 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37016
46b9d128 370172007-05-16 Robert Millan <rmh@aybabtu.com>
37018
37019 * util/i386/efi/grub-install.in: New.
37020 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37021 newly added grub-install.
37022 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37023 include.
37024 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37025 grub/util/biosdisk.h.
37026 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37027 grub/util/biosdisk.h.
37028
2d1a40a9 370292007-05-16 Robert Millan <rmh@aybabtu.com>
37030
37031 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37032 * include/grub/util/biosdisk.h: ... here.
37033 * util/i386/pc/biosdisk.c: Moved to ...
37034 * util/biosdisk.c: ... here.
37035 * util/i386/pc/getroot.c: Moved to ...
37036 * util/getroot.c: ... here.
37037 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37038 * util/grub-mkdevicemap.c: ... here.
37039 * util/i386/pc/grub-probe.c: Moved to ...
37040 * util/grub-probe.c: ... here.
37041
9e26e3bc 370422007-05-15 Robert Millan <rmh@aybabtu.com>
37043
37044 * util/update-grub.in: Remove duplicated line in grub.cfg header
37045 message.
37046
57f96397 370472007-05-13 Robert Millan <rmh@aybabtu.com>
37048
37049 * util/update-grub.in: Fix a few assumptions about the devices holding
37050 /, /boot and /boot/grub being the same.
37051 * util/grub.d/00_header.in: Likewise.
37052 * util/grub.d/10_hurd.in: Likewise.
37053 * util/grub.d/10_linux.in: Likewise.
37054
37055 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37056 patterns. Use that to define the `.old' suffix as older than `'.
37057
37058 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37059
37060 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37061 the grub.cfg header message.
37062
2e610d62 370632007-05-11 Robert Millan <rmh@aybabtu.com>
37064
37065 * util/update-grub.in: Create device.map if it doesn't already exist,
37066 before attempting to run grub-probe.
37067 Check for grub-probe and grub-mkdevicemap with the same code
37068 grub-install is using.
37069 Remove test mode.
37070
3f6a10ef 370712007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
37072
37073 * Makefile.in: Add the datarootdir autoconf variable.
37074
02e7b75e 370752007-05-09 Robert Millan <rmh@aybabtu.com>
37076
37077 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 37078 fail gracefully if dev->disk->partition == NULL.
02e7b75e 37079
75f396cc 370802007-05-07 Robert Millan <rmh@aybabtu.com>
37081
37082 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
37083 determine partition map module.
37084 * util/i386/pc/grub-install.in: Use this feature to decide which
37085 partition module to load, instead of hardcoding pc and gpt.
37086
da65cb36 370872007-05-07 Robert Millan <rmh@aybabtu.com>
37088
37089 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
37090 source directory differs from build directory.
37091
b57d6a91 370922007-05-05 Robert Millan <rmh@aybabtu.com>
37093
37094 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
37095 initialisation.
37096
509d00f1 370972007-05-05 Robert Millan <rmh@aybabtu.com>
37098
37099 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
37100
c48f23ef 371012007-05-05 Robert Millan <rmh@aybabtu.com>
37102
37103 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
37104 command-line arguments via ${GRUB_CMDLINE_LINUX}.
37105
20b97658 371062007-05-05 Robert Millan <rmh@aybabtu.com>
37107
37108 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
37109 (grub_probe_SOURCES): Likewise.
37110 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
37111 GPT and initialize dos_part and bsd_part accordingly.
37112 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
37113 install_bsd_part.
37114 (main): Activate gpt module for use during partition identification,
37115 and deactivate it afterwards.
37116 * util/i386/pc/grub-install.in: Add gpt module to core.img.
37117 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
37118 partition identification, and deactivate it afterwards.
37119
99123174 371202007-05-05 Robert Millan <rmh@aybabtu.com>
37121
37122 * term/i386/pc/console.c (grub_console_fini): Call
37123 grub_term_set_current() before grub_term_unregister().
37124
ebd97f6e 371252007-05-04 Robert Millan <rmh@aybabtu.com>
37126
37127 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
37128 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
37129 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
37130 and update-grub_DATA.
37131 * conf/common.rmk: Build and install update-grub components.
37132 * conf/common.mk: Regenerate.
37133 * util/update-grub.in: New. Core of update-grub.
37134 * util/grub.d/00_header.in: New. Generates grub.cfg header.
37135 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
37136 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
37137 * util/grub.d/README: New. Document grub.d directory layout.
37138
b06a264d 371392007-05-01 Robert Millan <rmh@aybabtu.com>
37140
37141 * util/grub-emu.c: Move initialization functions
37142 grub_util_biosdisk_init() and grub_init_all() before
37143 grub_util_biosdisk_get_grub_dev(), which relies on them.
37144
41f0050e 371452007-04-19 Robert Millan <rmh@aybabtu.com>
37146
37147 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
37148 it is used later.
37149
04582bb3 371502007-04-18 Jerone Young <jerone@gmail.com>
37151
f19dbdb7 37152 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 37153 stanza.
37154
08db4632 371552007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 37156
08db4632 37157 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
37158 continue on and look for device node with real device name.
37159
801b76be 371602007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 37161
fe6b695a 37162 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 37163 ability.
37164 * Makefile.in: Add autoconf package transformation code.
37165 * util/i386/pc/grub-install.in: Likewise.
37166 * util/powerpc/ieee1275/grub-install.in: Likewise.
37167
6795c4e1 371682007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37169
37170 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
37171 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
37172 (EXT2_REVISION): Likewise.
37173 (EXT2_INODE_SIZE): Likewise.
37174 (struct grub_ext2_block_group): Added a missing member
37175 "used_dirs".
37176 (grub_ext2_read_inode): Divide by the inode size in a superblock
37177 instead of 128 to obtain INODES_PER_BLOCK.
37178 Use the macro EXT2_INODE_SIZE instead of directly using
37179 SBLOCK->INODE_SIZE.
37180
d70af616 371812007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37182
37183 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
37184 superblock instead of the structure size to compute an
37185 offset. This fixes the problem that GRUB could not read a
37186 filesystem when inode size is different from 128-byte.
37187
3b801603 371882007-03-05 Marco Gerards <marco@gnu.org>
37189
37190 * normal/main.c (read_config_file): When "menu" is not set, create
37191 an initial context.
37192
4785bfe4 371932007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37194
37195 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
37196 (HEAP_LIMIT): New macro.
37197 (grub_claim_heap): Claim memory up to `heaplimit'.
37198
a0cbb023 371992007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37200
37201 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
37202 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
37203 (_start): Likewise.
37204 (grub_arch_modules_addr): Return address after `_end'.
37205 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
37206 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
37207 (add_segments): Calculate `_end' from phdr size and location.
37208 (ALIGN_UP): Moved to ...
37209 * include/grub/misc.h: here.
37210 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37211 New macro.
37212 (GRUB_IEEE1275_MODULE_BASE): Removed.
37213
fd7d8eba 372142007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37215
37216 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
37217 loop boundary.
37218
9b09e6fc 372192007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37220
37221 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
37222 All users updated.
37223 (grub_elf64_load_hook_t): Likewise.
37224 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
37225 debug output.
37226
3ce27299 372272007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37228
37229 * kern/mm.c: Update copyright.
37230 (grub_mm_debug): Correct syntax error.
37231 (grub_mm_dump_free): New function.
37232 (grub_debug_free): Call `grub_free'.
37233 * include/grub/mm.h: Update copyright.
37234 (grub_mm_dump_free): Add declaration.
37235
077d5fee 372362007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37237
37238 * include/grub/ieee1275/ieee1275.h: Update copyright.
37239 * kern/powerpc/ieee1275/init.c: Likewise.
37240 * kern/powerpc/ieee1275/openfw.c: Likewise.
37241
37242 * loader/powerpc/ieee1275/linux.c: Likewise.
37243 * include/grub/elfload.h: Likewise.
37244 * kern/elf.c: Likewise.
37245 (grub_elf32_load): Pass `base' and `size' parameters. Update all
37246 callers.
37247 (grub_elf64_load): Likewise.
37248 (grub_elf32_load_segment): Move to a nested function.
37249 (grub_elf64_load_segment): Likewise.
37250
dc946850 372512007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37252
37253 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
37254 prototype.
37255 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
37256 (grub_heap_len): Likewise.
37257 (HEAP_SIZE): New macro.
37258 (grub_claim_heap): New function.
37259 (grub_machine_init): Don't claim heap directly. Call
37260 `grub_claim_heap'.
37261 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
37262 (grub_available_iterate): New function.
37263
baa2a121 372642007-02-03 Thomas Schwinge <tschwinge@gnu.org>
37265
37266 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
37267 * configure.ac: Use it for testing the HOST and TARGET compilers.
37268
4fe9862e 372692006-12-13 Thomas Schwinge <tschwinge@gnu.org>
37270
37271 * Makefile.in (enable_grub_emu): New variable.
37272 * configure.ac (--enable-grub-emu): New option.
37273 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
37274 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
37275 * conf/i386-pc.rmk: Likewise.
37276 * conf/powerpc-ieee1275.rmk: Likewise.
37277 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
37278
a8aa5762 372792006-12-12 Marco Gerards <marco@gnu.org>
37280
37281 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
37282
37283 * kern/env.c (grub_env_unset): Don't free the member `value' when
37284 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
37285 pointer.
37286
37287 * normal/main.c (current_menu): Removed.
37288 (free_menu): Unset the `menu' environment variable.
37289 (grub_normal_menu_addentry): Make use of the environment variable
37290 `menu', instead of using the global `current_menu'. Allocate
37291 memory for the sourcecode of this entry.
37292 (read_config_file): New argument `nested', changed all callers.
37293 Only in the case of a new context, initialize a new menu. Set the
37294 `menu' environment variable.
37295 (grub_normal_execute): Don't set and unset the environment
37296 variable `menu' here anymore. Only free the menu when leaving the
37297 context.
37298
37299 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
37300 leak.
37301
957b3a3e 373022006-12-11 Marco Gerards <marco@gnu.org>
37303
37304 * normal/menu_entry.c (run): Fix off by one bug so the last line
37305 is executed. Move the loader check to outside the loop.
37306
ef875714 373072006-12-08 Hollis Blanchard <hollis@penguinppc.org>
37308
37309 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
37310
4e739985 373112006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
37312
37313 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
37314 the number of sectors. Reported by Andrey Shuvikov
37315 <mr_hyro@yahoo.com>.
f19dbdb7 37316
790707f2 373172006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
37318
37319 * kern/disk.c (grub_disk_read): When there is a read error, always
37320 try to read only the necessary data.
f19dbdb7 37321
790707f2 37322 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
37323 disk/raid.c.
37324 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
37325 prototype.
37326 [GRUB_UTIL] (grub_raid_fini): Likewise.
37327 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 37328 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 37329 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
37330 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
37331 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
37332 and grub_raid_fini().
f19dbdb7 37333
03e58196 373342006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37335
37336 * include/grub/types.h (__unused): Rename to UNUSED.
37337 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
37338 (grub_elf64_size): Likewise.
f19dbdb7 37339
ae4f23bf 373402006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37341
37342 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
37343 grub_error_push and grub_error_pop in the error-handling path.
37344 (grub_elf32_load_segment): Only call grub_file_read with non-zero
37345 length.
37346
2166cc83 373472006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37348
37349 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
37350 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37352 (kernel_elf_SOURCES): Likewise.
37353 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
37354 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
37355 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37356 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37357 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
37358 (elf_mod_SOURCES): New variable.
37359 (elf_mod_CFLAGS): Likewise.
37360 (elf_mod_LDFLAGS): Likewise.
37361 * include/grub/types.h (__unused): New macro.
37362 * include/grub/elfload.h: New file.
37363 * kern/elf.c: Likewise.
37364 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
37365 (ELF32_LOADMASK): New macro.
37366 (ELF64_LOADMASK): Likewise.
37367 (vmlinux): Removed.
37368 (grub_linux_load32): New function.
37369 (grub_linux_load64): Likewise.
37370 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
37371 Use grub_elf_t instead of grub_file_t.
37372
a09d5aa5 373732006-11-02 Hollis Blanchard <hollis@penguinppc.org>
37374
37375 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
37376 `catch_result' to struct set_color_args.
37377
d976fc51 373782006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37379
37380 * normal/menu.c: Include grub/script.h.
37381 * normal/menu_entry.c: Likewise.
37382 * include/grub/normal.h: Do not include grub/script.h.
37383
67507549 373842006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37385
37386 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
37387
69203a99 373882006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37389
37390 * kern/disk.c (grub_disk_open): Print debug messages when opening a
37391 disk.
37392 (grub_disk_close): Print debug messages when closing a disk.
37393 (grub_disk_read): Print debug messages when disk read fails.
37394 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
37395 filesystem type.
37396 * kern/partition.c: Include misc.h.
37397 (grub_partition_iterate): Print debug messages when detecting
37398 partition type.
37399
e2b8278c 374002006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37401
37402 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
37403 is negative.
37404 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
37405
97b2f2ff 374062006-10-26 Hollis Blanchard <hollis@penguinppc.org>
37407
37408 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37409 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
37410
6555d655 374112006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
37412
37413 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
37414 instead of sizeof(lv). Patch by Michael Guntsche.
37415
4d42b77f 374162006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
37417
37418 * disk/lvm.c: Rename VGS to VG_LIST.
37419 (grub_lvm_iterate): Change VGS->LV to VG-LV.
37420 (grub_lvm_open): Likewise.
37421 Thanks to Michael Guntsche for finding this bug.
37422
5d74d927 374232006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37424
37425 * configure.ac (AC_INIT): Bumped to 1.95.
37426
a1bb27e4 374272006-10-14 Robert Millan <rmh@aybabtu.com>
37428
37429 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
37430 with "/dev/.static/dev/md".
37431
e0994b8b 374322006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37433
37434 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
37435 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
37436 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
37437 DRIVE_NAME are always freed.
37438
37439 * util/i386/pc/biosdisk.c (make_device_name): Add one into
37440 DOS_PART, as a DOS partition is counted from one instead of zero
37441 now. Reported by Robert Millan.
37442
ddd5cee9 374432006-10-14 Robert Millan <rmh@aybabtu.com>
37444
37445 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
37446 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
37447 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
37448 string returned by grub_guess_root_device.
37449 * util/i386/pc/grub-setup.c: Likewise.
37450 * util/i386/pc/grub-probefs.c: Likewise.
37451
37452 * util/i386/pc/grub-probefs.c: Rename to ...
37453 * util/i386/pc/grub-probe.c: ... this.
37454 * DISTLIST: Remove grub-probefs, add grub-probe.
37455 * conf/i386-efi.rmk: Likewise.
37456 * conf/i386-pc.rmk: Likewise.
37457 * util/i386/pc/grub-install.in: Likewise.
37458
37459 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
37460 choose which information we want to print.
37461
2b002173 374622006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37463
37464 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
37465 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
37466 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
37467 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
37468 video/readers/tga.c and video/i386/pc/vbeutil.c.
37469
374702006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
37471
37472 Added support for RAID and LVM.
f19dbdb7 37473
2b002173 37474 * disk/lvm.c: New file.
37475 * disk/raid.c: Likewise.
37476 * include/grub/lvm.h: Likewise.
f19dbdb7 37477 * include/grub/raid.h: Likewise.
2b002173 37478 * include/grub/util/lvm.h: Likewise.
37479 * include/grub/util/raid.h: Likewise.
37480 * util/lvm.c: Likewise.
37481 * util/raid.c: Likewise.
37482
37483 * include/grub/disk.h (grub_disk_dev_id): Add
37484 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
37485 (grub_disk_get_size): New prototype.
37486 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
37487 returns a partition.
37488 (grub_disk_get_size): New function.
f19dbdb7 37489
2b002173 37490 * kern/i386/pc/init.c (make_install_device): Copy the prefix
37491 verbatim if grub_install_dos_part is -2.
37492
37493 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
37494 and LVM devices.
37495
37496 * util/i386/pc/grub-setup.c (setup): New argument
37497 MUST_EMBED. Force embedding of GRUB when the argument is
37498 true. Close FILE before returning.
37499 (main): Add support for RAID and LVM.
f19dbdb7 37500
2b002173 37501 * conf/common.rmk: Add RAID and LVM modules.
37502 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
37503 util/lvm.c.
37504 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
37505
37506 * kern/misc.c (grub_strstr): New function.
37507 * include/grub/misc.h (grub_strstr): New prototype.
37508
050548d0 375092006-10-10 Tristan Gingold <tristan.gingold@bull.net>
37510
37511 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
37512
da849d2d 375132006-10-05 Tristan Gingold <tristan.gingold@bull.net>
37514
37515 * kern/misc.c (grub_strtoull): Guess the base only if not
37516 specified.
37517
97b2f2ff 375182006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 37519
37520 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
37521 PowerMac support.
37522
97b2f2ff 375232006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 37524
37525 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
37526
37527 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
37528 Remove `flags' argument. All callers changed.
37529 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
37530 (IEEE1275_IHANDLE_INVALID): New variable.
37531 (IEEE1275_CELL_INVALID): New variable.
37532 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37533 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
37534 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
37535 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
37536 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
37537 codes from Open Firmware. All callers updated.
37538 (grub_ieee1275_next_property): Directly return Open Firmware return
37539 code.
37540 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37541 Standardize error checking from `grub_ieee1275_get_property'.
37542 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
37543 `devalias' to `aliases'. Correct comments. Consolidate error paths.
37544
97b2f2ff 375452006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 37546
37547 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
37548 `instance_to_package_args' to `instance_to_path_args'.
37549
37550 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
37551 `grub_ieee1275_chosen'.
37552
37553 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
37554 `grub_ieee1275_interpret'.
37555
97b2f2ff 375562006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 37557
37558 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
37559
97b2f2ff 375602006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 37561
37562 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
37563 (__cmpdi): Likewise.
37564
37565 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
37566 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
37567 `grub_ssize_t'.
37568
02bb8acc 37569 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 37570
37571 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
37572 to type `grub_ssize_t'.
37573 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
37574
7f9a8531 375752006-09-22 Marco Gerards <marco@gnu.org>
37576
37577 * normal/script.c (grub_script_create_cmdmenu): Skip leading
37578 newlines.
37579
b5ef1102 375802006-09-22 Marco Gerards <marco@gnu.org>
37581
37582 * commands/echo.c: New file.
37583
37584 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
37585
37586 * conf/common.rmk (echo_mod_SOURCES): New variable.
37587 (echo_mod_CFLAGS): Likewise.
37588 (echo_mod_LDFLAGS): Likewise.
37589
2cff3677 375902006-09-22 Marco Gerards <marco@gnu.org>
37591
37592 * normal/main.c (get_line): Malloc memory instead of using
37593 preallocated memory. Removed the arguments `cmdline' and
37594 `max_len'. Updated all callers.
37595
6ba4688b 375962006-09-22 Marco Gerards <marco@gnu.org>
37597
37598 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
37599 (normal_mod_DEPENDENCIES): Likewise.
37600
37601 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
37602 (normal_mod_DEPENDENCIES): Likewise.
37603
37604 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
37605
e02ac02c 376062006-09-22 Johan Rydberg <jrydberg@gnu.org>
37607
37608 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
37609 programs.
37610 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
37611 (normal_mod_DEPENDENCIES): Likewise.
37612 * conf/i386-pc.mk: Regenerate.
37613 * conf/i386-efi.mk: Likewise
37614 * conf/common.mk: Likewise.
37615 * conf/powerpc-ieee1275.mk: Likewise.
37616 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37617
8d252e44 376182006-09-22 Robert Millan <rmh@aybabtu.com>
37619
37620 Sync with i386 version.
37621 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
37622 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
37623
209bf7ac 376242006-09-21 Robert Millan <rmh@aybabtu.com>
37625
37626 Import from GRUB Legacy (lib/device.c):
37627 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
37628 (init_device_map) [__linux__]: Add support for I2O devices.
37629
6b146090 376302006-09-14 Marco Gerards <marco@gnu.org>
37631
37632 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
37633 `-melf_i386'.
37634
e38600a8 376352006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 37636
37637 * util/i386/pc/grub-install.in: Skip menu.lst when removing
37638 /boot/grub/*.lst.
78fa1790 37639
2952da5d 37640 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 37641
2952da5d 37642 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
37643 before adding it to device.map.
37644
01b82a64 376452006-08-15 Johan Rydberg <jrydberg@gnu.org>
37646
fe6b695a 37647 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 37648 compiles a file; using the -MD option.
37649 * conf/common.mk: Regenerate.
37650 * conf/i386-pc.mk: Likewise.
37651 * conf/i386-efi.mk: Likewise.
37652 * conf/powerpc-ieee1275.mk: Likewise.
37653 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37654
1064790d 376552006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
37656
37657 Move the prototypes of grub_setjmp and grub_longjmp to
37658 cpu/setjmp.h, so that each architecture may specify different
37659 attributes.
f19dbdb7 37660
1064790d 37661 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
37662 (grub_longjmp): Likewise.
37663 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
37664 (grub_longjmp): Likewise.
37665 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
37666 (grub_longjmp): Likewise.
37667
37668 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
37669 [!GRUB_UTIL] (grub_longjmp): Removed.
37670
29dda3ed 376712006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
37672
37673 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
37674 "color!" method does not return any value.
37675
ad2a06ed 376762006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37677
37678 * include/grub/bitmap.h: New file.
37679
37680 * include/grub/i386/pc/vbeutil.h: Likewise.
37681
37682 * video/bitmap.c: Likewise.
37683
37684 * video/readers/tga.c: Likewise.
37685
37686 * video/i386/pc/vbeutil.c: Likewise.
37687
37688 * commands/videotest.c: Code cleanup and updated to reflect to new
37689 video API.
37690
37691 * term/gfxterm.c: Likewise.
37692
37693 * video/video.c: Likewise.
37694
37695 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
37696 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
37697 (bitmap_mod_SOURCES): New entry.
37698 (bitmap_mod_CFLAGS): Likewise.
37699 (bitmap_mod_LDFLAGS): Likewise.
37700 (tga_mod_SOURCES): Likewise.
37701 (tga_mod_CFLAGS): Likewise.
37702 (tga_mod_LDFLAGS): Likewise.
37703
37704 * include/grub/video.h (grub_video_blit_operators): New enum type.
37705 (grub_video_render_target): Changed as forward declaration and moved
37706 actual definition to be video driver specific.
37707 (grub_video_adapter.blit_bitmap): Added blitting operator.
37708 (grub_video_adapter.blit_render_target): Likewise.
37709 (grub_video_blit_bitmap): Likewise.
37710 (grub_video_blit_render_target): Likewise.
37711
37712 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
37713 driver specific render target definition.
37714 (grub_video_vbe_map_rgba): Added driver internal helper.
37715 (grub_video_vbe_unmap_color): Updated to use
37716 grub_video_i386_vbeblit_info.
37717 (grub_video_vbe_get_video_ptr): Likewise.
37718
37719 * include/grub/i386/pc/vbeblit.h
37720 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
37721 grub_video_i386_vbeblit_info.
37722 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37723 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37724 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37725 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37726 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37727 (grub_video_i386_vbeblit_index_index): Likewise.
37728 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
37729 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37730 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37731 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
37732 operator.
37733 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
37734 operator.
37735
37736 * video/i386/pc/vbeblit.c: Updated to reflect changes on
37737 include/grub/i386/pc/vbeblit.h.
37738
37739 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
37740 Updated to use grub_video_i386_vbeblit_info.
37741 (grub_video_i386_vbefill_R8G8B8): Likewise.
37742 (grub_video_i386_vbefill_index): Likewise.
37743 (grub_video_i386_vbefill): Added generic filler.
37744
37745 * video/i386/pc/vbefill.c: Updated to reflect changes on
37746 include/grub/i386/pc/vbefill.h.
37747
37748 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
37749 grub_video_i386_vbeblit_info.
37750 (grub_video_vbe_unmap_color): Likewise.
37751 (grub_video_vbe_blit_glyph): Likewise.
37752 (grub_video_vbe_scroll): Likewise.
37753 (grub_video_vbe_draw_pixel): Removed function.
37754 (grub_video_vbe_get_pixel): Likewise.
37755 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
37756 updated code to use it.
37757 (common_blitter): Added common blitter for render target and bitmap.
37758 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
37759 (grub_video_vbe_blit_render_target): Likewise.
37760
bc8c036d 377612006-07-30 Johan Rydberg <jrydberg@gnu.org>
37762
37763 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
37764 is in text mode if there is no console control protocol instance
37765 available.
37766
684a8eff 377672006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37768
37769 * include/grub/video.h: Code cleanup.
37770
37771 * include/grub/i386/pc/vbe.h: Likewise.
37772
37773 * video/i386/pc/vbe.c: Likewise.
37774
37775 * video/i386/pc/vbeblit.c: Likewise.
37776
37777 * video/i386/pc/vbefill.c: Likewise.
37778
37779 * video/video.c: Likewise. Also added more comments.
37780
5915059b 377812006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37782
37783 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
37784 (struct grub_biosdisk_dap): Likewise.
37785
37786 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
37787 linkage settings for all functions.
37788
90ce5d56 377892006-07-12 Marco Gerards <marco@gnu.org>
37790
37791 * configure.ac (--enable-mm-debug): Fix typo.
37792
37793 * genkernsyms.sh.in: Use proper quoting for `CC'.
37794
43e7f879 377952006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
37796
37797 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
37798 (normal_mod_ASFLAGS): Remove "-m32".
37799
4889bdec 378002006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
37801
37802 * util/misc.c: Include config.h.
37803 [!HAVE_MEMALIGN]: Do not include malloc.h.
37804 (grub_memalign): Use posix_memalign, if present. Then, use
37805 memalign, if present. Otherwise, emit an error.
37806
37807 * util/grub-emu.c: Do not include malloc.h.
37808
37809 * include/grub/util/misc.h: Include unistd.h. This is required for
37810 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
37811 D. Eades III <hde@foobar-qux.org>.
37812
37813 * configure.ac (AC_GNU_SOURCE): Added.
37814 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
37815 type.
37816
fd39d4da 378172006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
37818
37819 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
37820 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
37821
b786f3b5 378222006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
37823
37824 * include/grub/types.h (grub_host_addr_t): Rename to
37825 grub_target_addr_t.
37826 (grub_host_off_t): Rename to grub_target_off_t.
37827 (grub_host_size_t): Rename to grub_target_size_t.
37828 (grub_host_ssize_t): Rename to grub_target_ssize_t.
37829 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
37830
37831 * include/grub/kernel.h (struct grub_module_header): Change type
37832 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
37833 (grub_module_info): Likewise.
f19dbdb7 37834
051988bb 378352006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37836
37837 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
37838 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
37839 Velazquez <jesus.velazquez@gmail.com>.
37840
deae281b 378412006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37842
37843 Count partitions from 1 instead of 0 in the string representation
37844 of partitions. Still use 0-based internally.
f19dbdb7 37845
deae281b 37846 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
37847 (sun_partition_map_iterate): Use grub_partition_t instead of
37848 struct grub_partition *. Cast DESC->START_CYLINDER to
37849 grub_uint64_t after converting the endian.
37850 (sun_partition_map_probe): Subtract 1 for PARTNUM.
37851 (sun_partition_map_get_name): Add 1 to P->INDEX.
37852
37853 * partmap/pc.c (grub_partition_parse): Subtract 1 for
37854 PCDATA->DOS_PART.
37855 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
37856
37857 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
37858 zero instead of one.
37859 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
37860 (gpt_partition_map_get_name): Add 1 into P->INDEX.
37861
37862 * partmap/apple.c (apple_partition_map_iterate): Change the type
37863 of POS to unsigned.
37864 (apple_partition_map_probe): Subtract 1 for PARTNUM.
37865 (apple_partition_map_get_name): Add 1 into P->INDEX.
37866
37867 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
37868 of POS to unsigned.
37869 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
37870 calculate the offset of a partition.
37871 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
37872 (amiga_partition_map_get_name): Add 1 into P->INDEX.
37873
37874 * partmap/acorn.c (acorn_partition_map_find): Change the type of
37875 SECTOR to grub_disk_addr_t.
37876 (acorn_partition_map_iterate): Likewise.
37877 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
37878 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
37879 top.
37880 (acorn_partition_map_get_name): Add 1 into P->INDEX.
37881
37882 * kern/i386/pc/init.c (make_install_device): Add 1 into
37883 GRUB_INSTALL_DOS_PART.
37884
37885 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
37886 conditional.
37887
524a1e6a 378882006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
37889
37890 Clean up the code to support 64-bit addressing in disks and
37891 files. This change is not enough for filesystems yet.
f19dbdb7 37892
524a1e6a 37893 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
37894 type of "start" to grub_uint64_t.
37895 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
37896 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
37897 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
37898 convert addresses.
37899
37900 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
37901 to grub_disk_addr_t.
37902
37903 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
37904 string.
37905
37906 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37907
37908 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
37909 to char *.
37910
37911 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
37912
37913 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
37914
37915 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
37916
37917 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
37918 to grub_off_t, to detect an error from grub_file_seek.
37919 (grub_multiboot_load_elf32): Likewise.
37920
37921 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
37922 maximum unsigned long value when an overflow is detected.
37923 (grub_strtoull): New function.
37924 (grub_divmod64): Likewise.
37925 (grub_lltoa): use grub_divmod64.
37926
37927 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
37928 grub_disk_addr_t.
37929 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
37930 the pointer to next character. Use grub_strtoull instead of
37931 grub_strtoul.
37932 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
37933 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
37934 respectively.
37935
fe6b695a 37936 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 37937 return value is signed.
37938 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
37939 test if OFFSET is less than zero, as OFFSET is unsigned now.
37940
37941 * kern/disk.c (struct grub_disk_cache): Change the type of
37942 "sector" to grub_disk_addr_t.
37943 (grub_disk_cache_get_index): Change the type of SECTOR to
37944 grub_disk_addr_t. Calculate the hash with SECTOR casted to
37945 unsigned after shifting.
37946 (grub_disk_cache_invalidate): Change the type of SECTOR to
37947 grub_disk_addr_t.
37948 (grub_disk_cache_unlock): Likewise.
37949 (grub_disk_cache_store): Likewise.
37950 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
37951 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
37952 grub_disk_addr_t and grub_uint64_t, respectively.
37953 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
37954 body, as the value of OFFSET is tweaked by
37955 grub_disk_check_range. Change the types of START_SECTOR, LEN and
37956 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
37957 respectively.
37958 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
37959 body, as the value of OFFSET is tweaked by
37960 grub_disk_check_range. Change the types of LEN and N to
37961 grub_size_t.
37962
37963 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
37964 and "saved_offset" to grub_off_t.
37965 (test_header): Cast BUF to char *.
37966 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
37967 to char *.
37968 (grub_gzio_read): Change the types of OFFSET and SIZE to
37969 grub_off_t and grub_size_t, respectively.
37970
37971 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
37972 Removed.
37973 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
37974 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
37975 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
37976 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
37977 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
37978
37979 * include/grub/types.h (grub_off_t): Unconditionally set to
37980 grub_uint64_t.
37981 (grub_disk_addr_t): Changed to grub_uint64_t.
37982
37983 * include/grub/partition.h (struct grub_partition): Change the
37984 types of "start", "len" and "offset" to grub_disk_addr_t,
37985 grub_uint64_t and grub_disk_addr_t, respectively.
37986 (grub_partition_get_start): Return grub_disk_addr_t.
37987 (grub_partition_get_len): Return grub_uint64_t.
37988
37989 * include/grub/misc.h (grub_strtoull): New prototype.
37990 (grub_divmod64): Likewise.
37991
37992 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
37993 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
37994 grub_off_t, respectively.
37995 All callers and references changed.
37996
37997 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
37998 grub_size_t in "read".
37999 All callers and references changed.
38000
38001 * include/grub/file.h (struct grub_file): Change the types of
38002 "offset" and "size" to grub_off_t and grub_off_t,
38003 respectively. Change the type of SECTOR to grub_disk_addr_t in
38004 "read_hook".
38005 (grub_file_read): Change the type of LEN to grub_size_t.
38006 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38007 grub_off_t.
38008 (grub_file_size): Return grub_off_t.
38009 (grub_file_tell): Likewise.
38010 All callers and references changed.
38011
38012 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38013 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38014 "write".
38015 (struct grub_disk): Change the type of "total_sectors" to
38016 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 38017 "read_hook".
524a1e6a 38018 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38019 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38020 (grub_disk_write): Likewise.
38021 All callers and references changed.
38022
38023 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38024 char * for grub_strncmp to silence gcc.
38025 (grub_iso9660_mount): Likewise.
38026 (grub_iso9660_mount): Likewise.
38027 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38028 return statement.
38029 (grub_iso9660_iterate_dir): Likewise.
38030 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38031
38032 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38033 LEN to grub_disk_addr_t and grub_size_t, respectively.
38034
38035 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38036
38037 * fs/jfs.c (grub_jfs_read_file): Likewise.
38038
38039 * fs/minix.c (grub_jfs_read_file): Likewise.
38040
38041 * fs/sfs.c (grub_jfs_read_file): Likewise.
38042
38043 * fs/ufs.c (grub_jfs_read_file): Likewise.
38044
38045 * fs/xfs.c (grub_jfs_read_file): Likewise.
38046
38047 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38048 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38049 respectively.
38050
38051 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38052 BLKNR to -1 instead of returning GRUB_ERRNO.
38053 (grub_ext2_read_file): Change the types of SECTOR and
38054 LEN to grub_disk_addr_t and grub_size_t, respectively.
38055
38056 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38057 LEN to grub_disk_addr_t and grub_size_t, respectively.
38058
38059 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38060 grub_file_read.
38061
38062 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38063 string. Do not cast SECTOR explicitly.
38064
38065 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
38066 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
38067 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
38068 grub_disk_addr_t and grub_size_t, respectively. If the sector is
38069 over 2TB and LBA mode is not supported, raise an error.
38070 (get_safe_sectors): New function.
38071 (grub_biosdisk_read): Use get_safe_sectors.
38072 (grub_biosdisk_write): Likewise.
38073
38074 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
38075 (grub_efidisk_write): Likewise.
38076
38077 * disk/loopback.c (delete_loopback): Cosmetic changes.
38078 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
38079 correctly.
38080 (grub_loopback_open): Likewise.
38081 (grub_loopback_read): Likewise. Also, change the type of POS to
38082 grub_off_t, and fix the usage of grub_memset.
38083
38084 * commands/i386/pc/play.c: Include grub/machine/time.h.
38085
38086 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
38087 print FILE->SIZE.
38088
38089 * commands/configfile.c: Include grub/env.h.
38090
38091 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
38092 GRUB_ERRNO directly instead. Change the type of POS to
38093 grub_off_t. Follow the coding standard.
38094
38095 * commands/blocklist.c: Include grub/partition.h.
38096 (grub_cmd_blocklist): Return an error if the underlying device is
38097 not a disk. Take the starting sector of a partition into account,
38098 if a partition is used.
38099
38100 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
38101 a length field.
38102 (lba_mode): Support 64-bit addresses.
38103 (chs_mode): Likewise.
38104 (copy_buffer): Adapted to the new offsets of a length field and a
38105 segment field.
38106 (blocklist_default_start): Allocate 64-bit space.
38107
38108 * boot/i386/pc/boot.S (force_lba): Removed.
38109 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 38110 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 38111 space.
38112 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
38113 is useless.
38114 (lba_mode): Refactored to support a 64-bit address. More size
38115 optimization.
38116 (setup_sectors): Likewise.
38117
53af98ad 381182006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38119
38120 * DISTLIST: Added include/grub/i386/linux.h. Removed
38121 include/grub/i386/pc/linux.h
38122
38123 * configure.ac (AC_INIT): Bumped to 1.94.
38124
38125 * config.guess: Updated from gnulib.
38126 * config.sub: Likewise.
38127 * install-sh: Likewise.
38128 * mkinstalldirs: Likewise.
38129
b4c1940a 381302006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38131
38132 * conf/common.rmk (grub_modules_init.lst): Depended on
38133 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
38134 MODSRCFILES.
38135
38136 * genmk.rb (PModule::rule): Reverted the previous change.
38137
cfca1cfd 381382006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38139
38140 * conf/common.rmk (grub_modules_init.lst): Depends on
38141 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
38142 that the target does not exist before producing.
38143 (grub_modules_init.h): Remove the target before generating.
38144 (grub_emu_init.c): Likewise.
38145
38146 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
38147
aa6d7826 381482006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
38149
38150 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
38151 for the target-specific tests. Make sure that we also have the
38152 up-to-date target variables for those tests.
38153
26c607b9 381542006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38155
38156 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
38157 (PModule::rule): Likewise.
38158
0162321a 381592006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38160
38161 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
38162 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
38163 target-specific flags should be prefixed.
38164 (PModule::rule): Likewise.
38165
6c826348 381662006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
38167
38168 * configure.ac (CMP): Check if cmp is available explicitly.
38169
b977bf01 381702006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
38171
38172 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
38173 (target_cpu): New variable.
38174 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 38175
b977bf01 38176 * util/i386/pc/grub-install.in (host_cpu): Removed.
38177 (target_cpu): New variable.
38178 (pkglibdir): Use target_cpu instead of host_cpu.
38179
38180 * util/genmoddep.c: Removed.
f19dbdb7 38181
b977bf01 38182 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
38183 instead of GRUB_HOST_SIZEOF_VOID_P.
38184 * kern/dl.c: Likewise.
38185
38186 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
38187 ...
38188 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38189 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38190 (GRUB_TARGET_SIZEOF_LONG): ... this.
38191 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38192 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38193 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38194 to ...
38195 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38196 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38197 (GRUB_TARGET_SIZEOF_LONG): ... this.
38198 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38199 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38200 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38201 to ...
38202 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38203 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38204 (GRUB_TARGET_SIZEOF_LONG): ... this.
38205 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38206 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38207
38208 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
38209 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
38210 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
38211 instead of GRUB_HOST_SIZEOF_LONG.
38212 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
38213 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
38214 GRUB_CPU_WORDS_BIGENDIAN.
38215 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
38216 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
38217 grub_host_ssize_t.
38218
38219 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
38220 (genmoddep_SOURCES): Likewise.
38221 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
38222 (genmoddep_SOURCES): Likewise.
38223 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
38224 (genmoddep_SOURCES): Likewise.
38225 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
38226 Likewise.
38227 (genmoddep_SOURCES): Likewise.
38228
38229 * genmoddep.awk: New file.
38230
38231 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
38232 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
38233 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
38234 (PModule::rule): Likewise.
38235 (Program::rule): Likewise.
38236 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
38237 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
38238 respectively.
38239
38240 * configure.ac: Rewritten intensively to use host and target
38241 instead of build and host, respectively.
38242
38243 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
38244 (host_cpu): Removed.
38245 (target_cpu): New variable.
38246 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
38247 (BUILD_CC): Removed.
38248 (BUILD_CFLAGS): Likewise.
38249 (BUILD_CPPFLAGS): Likewise.
38250 (TARGET_CC): New variable.
38251 (TARGET_CFLAGS): Likewise.
38252 (TARGET_CPPFLAGS): Likewise.
38253 (TARGET_LDFLAGS): Likewise.
38254 (AWK): Likewise.
38255 (include): Use target_cpu instead of host_cpu.
38256 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 38257
b977bf01 38258 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
38259
f09771a1 382602006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
38261
38262 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
38263 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
38264 field 'false' to 'exec_on_false'.
38265 (grub_script_create_cmdif): Renamed argument names to reflect above
38266 changes.
38267
38268 * normal/execute.c (grub_script_execute_cmdif): Likewise.
38269
38270 * normal/script.c (grub_script_create_cmdif): Likewise.
38271
118f4fb3 382722006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
38273
38274 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
38275 top.
38276 (grub_hfsplus_btree_recptr): Likewise.
38277 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
38278 FILEBLOCK both to pass a block number and store next block
38279 number.
38280 (grub_hfsplus_read_block): Rewritten heavily to support an extent
38281 overflow file correctly. Specify errors appropriately, because
38282 fshelp expects that GRUB_ERRNO is set when fails. Reuse
38283 grub_hfsplus_btree_recptr to get the pointer to a found key.
38284 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
38285 is found.
38286
38287 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
38288 linux.mod.
38289 (_linux_mod_SOURCES): New variable.
38290 (_linux_mod_CFLAGS): Likewise.
38291 (_linux_mod_LDFLAGS): Likewise.
38292 (linux_mod_SOURCES): Likewise.
38293 (linux_mod_CFLAGS): Likewise.
38294 (linux_mod_LDFLAGS): Likewise.
38295
38296 * DISTLIST: Added loader/i386/efi/linux.c,
38297 loader/i386/efi/linux_normal.c and
38298 include/grub/i386/efi/loader.h.
38299
38300 * loader/i386/efi/linux.c: New file.
38301 * loader/i386/efi/linux_normal.c: Likewise.
38302 * include/grub/i386/efi/loader.h: Likewise.
38303
89a7d726 383042006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
38305
38306 * commands/blocklist.c: New file.
38307
38308 * DISTLIST: Added commands/blocklist.c.
38309
38310 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 38311 color for the background, and a darker color for the foreground.
89a7d726 38312 (grub_console_checkkey): Return READ_KEY.
38313 (grub_console_cls): Set the background to
38314 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
38315
38316 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
38317
38318 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
38319 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
38320
38321 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
38322 prototype.
38323
38324 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
38325 BG. The spec is wrong again.
38326
38327 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
38328 prototype.
38329 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
38330
38331 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38332 commands/blocklist.c.
38333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 38334
89a7d726 38335 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
38336 (blocklist_mod_SOURCES): New variable.
38337 (blocklist_mod_CFLAGS): Likewise.
38338 (blocklist_mod_LDFLAGS): Likewise.
38339
75c8f258 383402006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
38341
38342 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
38343 duplication.
38344 (lba_mode): Use %eax more intensively to reduce the code size.
38345
da2eb181 383462006-05-20 Marco Gerards <marco@gnu.org>
38347
38348 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
38349
38350 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
38351 for `menuentry'.
38352 (script): Accept leading newlines.
38353 (newlines): New rule to describe 0 or more newlines.
38354 (commands): Accept `command' with trailing newline. Fixed the
38355 order in which arguments were passed to `grub_script_add_cmd'.
38356 Accept commands separated by newlines.
38357 (function): Changed to accept newlines.
38358 (menuentry) Rewritten.
38359
38360 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
38361 front of the list, instead of to the end.
38362
577b4050 383632006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
38364
38365 * util/i386/pc/grub-install.in (bindir): New variable.
38366 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
38367 Shaver <lbgwjl@gmail.com>.
38368
0d6e1189 383692006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
38370
38371 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
38372 grub/machine/linux.h
38373 * loader/i386/pc/linux.c: Likewise.
38374
38375 * include/grub/i386/pc/linux.h: Moved to ...
38376 * include/grub/i386/linux.h: ... here.
38377
38378 * include/grub/i386/linux.h (struct linux_kernel_params): New
38379 struct.
f19dbdb7 38380
31b86e9f 383812006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
38382
38383 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
38384 checking.
38385 (grub_video_vbe_blit_glyph): Likewise.
38386 (grub_video_vbe_blit_bitmap): Likewise.
38387 (grub_video_vbe_blit_render_target): Likewise.
38388
83b984de 383892006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
38390
38391 * configure.ac (--with-platform): Properly quote the square
38392 brackets.
38393
5f0413bd 383942006-05-08 Marco Gerards <marco@gnu.org>
38395
38396 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
38397 this...
38398 (kernel_elf_HEADERS): ...to this. Updated all users.
38399 (grubof_symlist.c): Renamed from this...
38400 (kernel_elf_symlist.c): ...to this. Updated all users.
38401 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38402 (grubof_SOURCES): Renamed from this...
38403 (kernel_elf_SOURCES): ...to this.
38404 (grubof_HEADERS): Renamed from this...
38405 (kernel_elf_HEADERS): ...to this.
38406 (grubof_CFLAGS): Renamed from this...
38407 (kernel_elf_CFLAGS): ...to this.
38408 (grubof_ASFLAGS): Renamed from this...
38409 (kernel_elf_ASFLAGS): ...to this.
38410 (grubof_LDFLAGS): Renamed from this...
38411 (kernel_elf_LDFLAGS): ...to this.
38412
38413 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
38414 this...
38415 (kernel_elf_HEADERS): ...to this. Updated all users.
38416 (grubof_symlist.c): Renamed from this...
38417 (kernel_elf_symlist.c): ...to this. Updated all users.
38418 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38419 (grubof_SOURCES): Renamed from this...
38420 (kernel_elf_SOURCES): ...to this.
38421 (grubof_HEADERS): Renamed from this...
38422 (kernel_elf_HEADERS): ...to this.
38423 (grubof_CFLAGS): Renamed from this...
38424 (kernel_elf_CFLAGS): ...to this.
38425 (grubof_ASFLAGS): Renamed from this...
38426 (kernel_elf_ASFLAGS): ...to this.
38427 (grubof_LDFLAGS): Renamed from this...
38428 (kernel_elf_LDFLAGS): ...to this.
38429
38430 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
38431 `kernel.elf' instead of `grubof'.
38432
05568c2e 384332006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
38434
38435 Add --with-platform to configure. Use pkglibdir instead of
38436 pkgdatadir. This is reported by Roger Leigh.
38437
38438 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
38439 (host_vendor): Likewise.
38440 (host_os): Likewise.
38441 (pkgdatadir): Likewise.
38442 (platform): New variable.
38443 (pkglibdir): Likewise.
38444 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 38445
05568c2e 38446 * util/i386/pc/grub-install.in (datadir): Removed.
38447 (host_vendor): Likewise.
38448 (host_os): Likewise.
38449 (pkgdatadir): Likewise.
38450 (platform): New variable.
38451 (pkglibdir): Likewise.
38452 Use PKGLIBDIR instead of PKGDATADIR.
38453
38454 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
38455 instead of GRUB_DATADIR.
38456 (main): Likewise.
38457 * util/i386/pc/grub-mkimage.c (usage): Likewise.
38458 (main): Likewise.
38459 * util/i386/efi/grub-mkimage.c (usage): Likewise.
38460 (main): Likewise.
38461
38462 * configure.ac (--with-platform): New option.
38463 Use PLATFORM instead of HOST_VENDOR to specify a platform.
38464
38465 * Makefile.in: Include a makefile based on PLATFORM instead of
38466 HOST_VENDOR.
38467 (pkgdatadir): Not appended by the machine type.
38468 (pkglibdir): Appended by the machine type.
38469 (host_vendor): Removed.
38470 (platform): New variable.
38471 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
38472 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
38473 (uninstall): Likewise.
38474
4e93851c 384752006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
38476
38477 Use the environment context in the menu. Remove the commands
38478 "default" and "timeout", and use variables instead.
f19dbdb7 38479
4e93851c 38480 * normal/menu.c: Include grub/env.h.
38481 (print_entry): Cast TITLE to silence gcc.
38482 (get_timeout): New function.
38483 (set_timeout): Likewise.
38484 (get_entry_number): Likewise.
38485 (run_menu): Use a default entry, a fallback entry and a timeout
38486 in the environment variables "default", "fallback" and
38487 "timeout". Also, tweak the default entry if it is not within the
38488 current menu entries.
38489 (grub_menu_run): Use a fallback entry in the environment variable
38490 "fallback".
38491
38492 * normal/main.c (read_config_file): Do not initialize
38493 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
38494 NEWMENU->TIMEOUT.
38495 (grub_normal_execute): Use a data slot to store the menu.
38496
38497 * include/grub/normal.h (struct grub_menu): Removed default_entry,
38498 fallback_entry and timeout.
38499 (struct grub_menu_list): Removed.
38500 (grub_menu_list_t): Likewise.
38501 (struct grub_context): Likewise.
38502 (grub_context_t): Likewise.
38503 (grub_context_get): Likewise.
38504 (grub_context_get_current_menu): Likewise.
38505 (grub_context_push_menu): Likewise.
38506 (grub_context_pop_menu): Likewise.
38507 (grub_default_init): Likewise.
38508 (grub_default_fini): Likewise.
38509 (grub_timeout_init): Likewise.
38510 (grub_timeout_fini): Likewise.
38511
38512 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
38513 and timeout.mod.
38514 (normal_mod_SOURCES): Removed normal/context.c.
38515
38516 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
38517 commands/default.c, commands/timeout.c and normal/context.c.
38518 (normal_mod_SOURCES): Removed normal/context.c.
38519
38520 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
38521 commands/timeout.c and normal/context.c.
38522 (normal_mod_SOURCES): Removed normal/context.c.
38523
38524 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
38525 commands/default.c, commands/timeout.c and normal/context.c.
38526 (normal_mod_SOURCES): Removed normal/context.c.
38527
38528 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
38529 timeout.mod.
38530 (default_mod_SOURCES): Removed.
38531 (default_mod_CFLAGS): Likewise.
38532 (default_mod_LDFLAGS): Likewise.
38533 (timeout_mod_SOURCES): Removed.
38534 (timeout_mod_CFLAGS): Likewise.
38535 (timeout_mod_LDFLAGS): Likewise.
38536
38537 * DISTLIST: Removed commands/default.c, commands/timeout.c and
38538 normal/context.c.
38539
38540 * commands/default.c: Removed.
38541 * commands/timeout.c: Likewise.
38542 * normal/context.c: Likewise.
38543
1eb9cc1d 385442006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
38545
38546 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
38547
385bd9c1 385482006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
38549
38550 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
38551 "next" to "prev" for readability.
38552 (struct grub_env_sorted_var): New struct.
38553 (grub_env_context): Renamed to ...
38554 (initial_context): ... this.
38555 (grub_env_var_context): Renamed to ...
38556 (current_context): ... this.
38557 (grub_env_find): Look only at CURRENT_CONTEXT.
38558 (grub_env_context_open): Rewritten to copy exported variables from
38559 previous context.
38560 (grub_env_context_close): Rewritten according to the new
38561 scheme. Also, add an assertion to prevent the initial context from
38562 removed.
38563 (grub_env_insert): Removed the code for the sorted list.
38564 (grub_env_remove): Likewise.
38565 (grub_env_export): Simply mark the variable with
38566 GRUB_ENV_VAR_GLOBAL.
38567 (grub_env_set): A cosmetic change for naming consistency.
38568 (grub_env_get): Likewise.
38569 (grub_env_unset): Likewise.
38570 (grub_env_iterate): Rewritten to sort variables within this
38571 function.
38572 (grub_register_variable_hook): Fixed for naming consistency. Call
38573 grub_env_find again, only if NAME is not found at the first time.
38574 (mangle_data_slot_name): New function.
38575 (grub_env_set_data_slot): Likewise.
38576 (grub_env_get_data_slot): Likewise.
38577 (grub_env_unset_data_slot): Likewise.
38578
38579 * include/grub/env.h (grub_env_var_type): New enum.
38580 (GRUB_ENV_VAR_LOCAL): New constant.
38581 (GRUB_ENV_VAR_GLOBAL): Likewise.
38582 (GRUB_ENV_VAR_DATA): Likewise.
38583 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
38584 "type".
38585 (grub_env_set): Replace VAR with NAME for consistency.
38586 (grub_register_variable_hook): Likewise.
38587 (grub_env_export): Specify the name of the argument.
38588 (grub_env_set_data_slot): New prototype.
38589 (grub_env_get_data_slot): Likewise.
38590 (grub_env_unset_data_slot): Likewise.
38591
7f362539 385922006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38593
38594 Extend the loader so that GRUB can accept a loader which comes
38595 back to GRUB when a loaded image exits. Also, this change adds
38596 support for a chainloader on EFI.
f19dbdb7 38597
7f362539 38598 * term/efi/console.c: Include grub/misc.h.
38599 (grub_console_checkkey): Display a scan code on the top for
38600 debugging. This will be removed once the EFI port gets stable.
38601 Correct the scan code mapping.
38602
38603 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
38604 allocate memory from larger regions, in order to reduce the number
38605 of allocated regions. Otherwise, the MacOSX loader panics.
38606 (filter_memory_map): Avoid less than 1MB for compatibility with
38607 other loaders.
38608 (add_memory_regions): Allocate from the tail of a region, if
38609 possible, to avoid allocating a region near to 1MB, for the MacOSX
38610 loader.
38611
38612 * kern/efi/init.c (grub_efi_set_prefix): Specify
38613 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
38614
38615 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
38616 argument IMAGE_HANDLE and specify it to get a loaded image.
38617 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
38618 grub_efi_get_loaded_image.
fe6b695a 38619 (grub_efi_get_filename): Divide the length by the size of
7f362539 38620 grub_efi_char16_t.
38621 (grub_efi_get_device_path): New function.
38622 (grub_efi_print_device_path): Print End Device Path nodes. Divide
38623 the length by the size of grub_efi_char16_t for a file path device
38624 path node.
38625
38626 * kern/loader.c (grub_loader_noreturn): New variable.
38627 (grub_loader_set): Accept a new argument NORETURN. Set
38628 GRUB_LOADER_NORETURN to NORETURN.
38629 All callers changed.
38630 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
38631 grub_machine_fini.
38632
38633 * include/grub/efi/efi.h (grub_efi_get_device_path): New
38634 prototype.
38635 (grub_efi_get_loaded_image): Take an argument to specify an image
38636 handle.
38637
38638 * include/grub/loader.h (grub_loader_set): Added one more argument
38639 NORETURN.
38640
38641 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
38642 instead of grub_efi_open_protocol.
38643 (grub_efidisk_get_device_name): Likewise.
38644 (grub_efidisk_close): Print a newline.
38645 (grub_efidisk_get_device_handle): Fixed to use
38646 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
38647 GRUB_EFI_DEVICE_PATH_TYPE.
38648
38649 * disk/efi/efidisk.c (device_path_guid): Moved to ...
38650 * kern/efi/efi.c (device_path_guid): ... here.
38651
38652 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
38653 chain.mod.
38654 (kernel_mod_HEADERS): Added efi/disk.h.
38655 (_chain_mod_SOURCES): New variable.
38656 (_chain_mod_CFLAGS): Likewise.
38657 (_chain_mod_LDFLAGS): Likewise.
38658 (chain_mod_SOURCES): Likewise.
38659 (chain_mod_CFLAGS): Likewise.
38660 (chain_mod_LDFLAGS): Likewise.
38661
38662 * DISTLIST: Added include/grub/efi/chainloader.h,
38663 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
38664
38665 * include/grub/efi/chainloader.h: New file.
38666 * loader/efi/chainloader.c: Likewise.
38667 * loader/efi/chainloader_normal.c: Likewise.
38668
c0111d6e 386692006-04-30 Marco Gerards <marco@gnu.org>
38670
38671 * commands/configfile.c (grub_cmd_source): New function.
38672 (GRUB_MOD_INIT): Register the commands `source' and `.'.
38673 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
38674
df5341da 386752006-04-30 Marco Gerards <marco@gnu.org>
38676
38677 * normal/execute.c (grub_script_execute_cmd): Change the return
38678 type to `grub_err_t'. Correctly return the error.
38679 (grub_script_execute_cmdline): In case a command line is not a
38680 command or a function, try to interpret it as an assignment.
38681
f85934bd 386822006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38683
38684 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
38685 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
38686 skip a node whose name is obviously invalid as UTF-16,
38687 i.e. contains a NUL character. Stop the iteration when the last
38688 directory entry is found. Instead of using the return value of
38689 grub_hfsplus_btree_iterate_node, store the value in RET and use
38690 it, because the iterator can be stopped by the last directory
38691 entry.
38692
8f8a2cf8 386932006-04-30 Marco Gerards <marco@gnu.org>
38694
38695 * include/grub/env.h (grub_env_export): New prototype. Reported
38696 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
38697
a27e84ce 386982006-04-30 Marco Gerards <marco@gnu.org>
38699
38700 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
38701 size of the extents in a catalog file record.
38702
eaef0553 387032006-04-29 Marco Gerards <marco@gnu.org>
38704
38705 * commands/configfile.c (grub_cmd_configfile): Execute the
38706 configfile within its own context.
38707
38708 * include/grub/env.h (grub_env_context_open): New prototype.
38709 (grub_env_context_close): Likewise.
38710
38711 * kern/env.c (grub_env): Removed.
38712 (grub_env_sorted): Likewise.
38713 (grub_env_context): New variable.
38714 (grub_env_var_context): Likewise.
38715 (grub_env_find): Search both the active context and the global
38716 context.
38717 (grub_env_context_open): New function.
38718 (grub_env_context_close): Likewise.
38719 (grub_env_insert): Likewise.
38720 (grub_env_remove): Likewise.
38721 (grub_env_export): Likewise.
38722 (grub_env_set): Changed to use helper functions to avoid code
38723 duplication.
38724 (grub_env_iterate): Rewritten so both the current context and the
38725 global context are being used.
38726
38727 * normal/command.c (export_command): New function.
38728 (grub_command_init): Register the `export' function.
38729
7b455f4d 387302006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
38731
38732 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
38733 explicitly to suppress gcc's warnings.
38734 * fs/fat.c (grub_fat_find_dir): Likewise.
38735 (grub_fat_label): Likewise.
38736 * fs/xfs.c (grub_xfs_read_inode): Likewise.
38737 (grub_xfs_mount): Likewise.
38738 (grub_xfs_label): Likewise.
38739 * fs/affs.c (grub_affs_mount): Likewise.
38740 (grub_affs_label): Likewise.
38741 (grub_affs_iterate_dir): Likewise.
38742 * fs/sfs.c (grub_sfs_mount): Likewise.
38743 (grub_sfs_iterate_dir): Likewise.
38744 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
38745 * fs/hfs.c (grub_hfs_mount): Likewise.
38746 (grub_hfs_cmp_catkeys): Likewise.
38747 (grub_hfs_find_dir): Likewise.
38748 (grub_hfs_dir): Likewise.
38749 (grub_hfs_label): Likewise.
38750 * fs/jfs.c (grub_jfs_mount): Likewise.
38751 (grub_jfs_opendir): Likewise.
38752 (grub_jfs_getent): Likewise.
38753 (grub_jfs_lookup_symlink): Likewise.
38754 (grub_jfs_label): Likewise.
38755 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
38756 (grub_hfsplus_iterate_dir): Likewise.
38757 (grub_hfsplus_btree_iterate_node): Made static.
38758
38759 * util/grub-emu.c (prefix): New variable.
38760 (grub_machine_set_prefix): New function.
38761 (main): Do not set the environment variable "prefix" here. Only
38762 set PREFIX, which is used later by grub_machine_set_prefix.
38763
38764 * include/grub/video.h: Do not include grub/symbol.h.
38765 (grub_video_register): Not exported. This symbol is not defined in
38766 the kernel.
38767 (grub_video_unregister): Likewise.
38768 (grub_video_iterate): Likewise.
38769 (grub_video_setup): Likewise.
38770 (grub_video_restore): Likewise.
38771 (grub_video_get_info): Likewise.
38772 (grub_video_get_blit_format): Likewise.
38773 (grub_video_set_palette): Likewise.
38774 (grub_video_get_palette): Likewise.
38775 (grub_video_set_viewport): Likewise.
38776 (grub_video_get_viewport): Likewise.
38777 (grub_video_map_color): Likewise.
38778 (grub_video_map_rgb): Likewise.
38779 (grub_video_map_rgba): Likewise.
38780 (grub_video_fill_rect): Likewise.
38781 (grub_video_blit_glyph): Likewise.
38782 (grub_video_blit_bitmap): Likewise.
38783 (grub_video_blit_render_target): Likewise.
38784 (grub_video_scroll): Likewise.
38785 (grub_video_swap_buffers): Likewise.
38786 (grub_video_create_render_target): Likewise.
38787 (grub_video_delete_render_target): Likewise.
38788 (grub_video_set_active_render_target): Likewise.
38789
38790 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
38791 Undefined.
38792 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
38793
38794 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
38795 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38796 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38797 instead of $(srcdir)/genkernsyms.sh.
38798
38799 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
38800 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38801 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38802 instead of $(srcdir)/genkernsyms.sh.
38803
38804 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
38805 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38806 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38807 instead of $(srcdir)/genkernsyms.sh.
38808
38809 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
38810 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38811 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38812 instead of $(srcdir)/genkernsyms.sh.
38813
38814 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
38815 genkernsyms.sh.
38816
38817 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
38818 genkernsyms.sh.
38819 (gensymlist.sh): New target.
38820 (genkernsyms.sh): Likewise.
38821
38822 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
38823 genkernsyms.sh.in and gensymlist.sh.in.
38824
38825 * genkernsyms.sh: Removed.
38826 * gensymlist.sh: Likewise.
f19dbdb7 38827
7b455f4d 38828 * genkernsyms.sh.in: New file.
38829 * gensymlist.sh.in: Likewise.
38830
1885bb27 388312006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38832
38833 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
38834 clobber "prefix", since we may have already set it manually.
38835
71538dff 388362006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38837
38838 * kern/misc.c (abort): New alias for grub_abort.
38839
2965c7cc 388402006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
38841
38842 A new machine-specific function "grub_machine_set_prefix" is
38843 defined. This is called after loading modules, so that a prefix
38844 initialization can use modules. Also, this change adds an
38845 intensive debugging feature for the memory manager via the
38846 configure option "--enable-mm-debug".
f19dbdb7 38847
2965c7cc 38848 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
38849 PART.LEN.
38850
38851 * kern/sparc64/ieee1275/init.c (abort): Removed.
38852 (grub_stop): Likewise.
38853 (grub_exit): New function.
38854 (grub_set_prefix): Renamed to ...
38855 (grub_machine_set_prefix): ... this.
38856 (grub_machine_init): Do not call grub_set_prefix.
38857
38858 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
38859 (grub_machine_set_prefix): ... this.
38860 (grub_machine_init): Do not call grub_set_prefix.
38861
38862 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
38863 (grub_machine_init): Do not set the prefix here.
38864
38865 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
38866
38867 * kern/efi/init.c: Include grub/mm.h.
38868 (grub_efi_set_prefix): New function.
38869
38870 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
38871 (grub_efi_get_filename): New function.
38872 (grub_print_device_path): Renamed to ...
38873 (grub_efi_print_device_path): ... this.
38874
38875 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
38876 [MM_DEBUG] (grub_realloc): Likewise.
38877 [MM_DEBUG] (grub_free): Likewise.
38878 [MM_DEBUG] (grub_memalign): Likewise.
38879 [MM_DEBUG] (grub_mm_debug): New variable.
38880 [MM_DEBUG] (grub_debug_malloc): New function.
38881 [MM_DEBUG] (grub_debug_free): New function.
38882 [MM_DEBUG] (grub_debug_realloc): New function.
38883 [MM_DEBUG] (grub_debug_memalign): New function.
38884
38885 * kern/misc.c (grub_abort): Print a newline to distinguish
38886 the message.
38887
38888 * kern/main.c (grub_main): Call grub_machine_set_prefix and
38889 grub_set_root_dev after loading modules. This is necessary when
38890 setting a prefix depends on modules.
38891
38892 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
38893 (grub_efi_print_device_path): ... this.
38894 (grub_efi_get_filename): New prototype.
38895 (grub_efi_set_prefix): Likewise.
38896
38897 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
38898 and grub/disk.h.
38899 (grub_efidisk_get_device_handle): New prototype.
38900 (grub_efidisk_get_device_name): Likewise.
38901
38902 * include/grub/mm.h: Include config.h.
38903 (MM_DEBUG): Removed.
38904 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
38905 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
38906 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
38907 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
38908 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
38909 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
38910 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
38911 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
38912 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
38913
38914 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
38915
38916 * disk/efi/efidisk.c: Include grub/partition.h.
38917 (iterate_child_devices): New function.
38918 (add_device): First, compare only last device path nodes, so that
38919 devices are sorted by the types.
38920 (grub_efidisk_get_device_handle): New function.
38921 (grub_efidisk_get_device_name): Likewise.
38922
38923 * configure.ac (--enable-mm-debug): New option to enable the
38924 memory manager debugging feature. This makes the binary much
38925 bigger, so is disabled by default.
38926
9cacaa17 389272006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
38928
38929 Use grub_abort instead of grub_stop, and grub_exit must be
38930 define in each architecture now. Also, this change adds support
38931 for EFI disks.
f19dbdb7 38932
9cacaa17 38933 * util/i386/pc/grub-probefs.c: Include grub/term.h.
38934 (grub_getkey): New function.
38935 (grub_term_get_current): Likewise.
38936
38937 * util/i386/pc/grub-setup.c: Include grub/term.h.
38938 (grub_getkey): New function.
38939 (grub_term_get_current): Likewise.
38940
38941 * util/misc.c (grub_stop): Renamed to ...
38942 (grub_exit): ... this.
38943
38944 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
38945 (grub_exit): ... this.
38946 (grub_machine_init): Use grub_abort instead of abort.
38947 (grub_stop): Removed.
38948
38949 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
38950 abort.
38951
38952 * kern/i386/pc/startup.S (grub_exit): New function.
38953 (cold_reboot): New label.
38954
38955 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
38956 (grub_efi_init): Call grub_efidisk_init.
38957 (grub_efi_fini): Call grub_efidisk_fini.
38958
38959 * kern/efi/efi.c: Include grub/mm.h.
38960 (grub_efi_console_control_guid): Renamed to ...
38961 (console_control_guid): ... this.
38962 (grub_efi_loaded_image_guid): Renamed to ...
38963 (loaded_image_guid): ... this.
38964 (grub_efi_locate_handle): New function.
38965 (grub_efi_open_protocol): Likewise.
38966 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
38967 GRUB_EFI_CONSOLE_CONTROL_GUID.
38968 (grub_efi_exit): Removed.
38969 (grub_stop): Likewise.
38970 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
38971 (grub_exit): New function.
38972 (grub_print_device_path): Likewise.
38973
38974 * kern/rescue.c (grub_rescue_cmd_exit): New function.
38975 (grub_enter_rescue_mode): Register "exit".
38976
38977 * kern/misc.c (grub_real_dprintf): A cosmetic change.
38978 (grub_abort): New function.
38979
38980 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
38981
38982 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
38983
38984 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
38985
38986 * include/grub/efi/efi.h (grub_efi_exit): Removed.
38987 (grub_print_device_path): New prototype.
38988 (grub_efi_locate_handle): Likewise.
38989 (grub_efi_open_protocol): Likewise.
38990
38991 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
38992 * disk/efi/efidisk.c: Likewise.
38993
38994 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
38995
38996 * include/grub/efi/console_control.h
38997 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
38998
38999 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39000 last 8 bytes as an array.
39001 (GRUB_EFI_DISK_IO_GUID): New macro.
39002 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39003 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39004 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39005 grub_uint8_t.
39006 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39007 (struct grub_efi_device_path): Rename the member "sub_type" to
39008 "subtype".
39009 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39010 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39011 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39012 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39013 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39014 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39015 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39016 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39017 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39018 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39019 (struct grub_efi_pci_device_path): New structure.
39020 (grub_efi_pci_device_path_t): New type.
39021 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39022 (struct grub_efi_pccard_device_path): New structure.
39023 (grub_efi_pccard_device_path_t): New type.
39024 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39025 (struct grub_efi_memory_mapped_device_path): New structure.
39026 (grub_efi_memory_mapped_device_path_t): New type.
39027 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39028 (struct grub_efi_vendor_device_path): New structure.
39029 (grub_efi_vendor_device_path_t): New type.
39030 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39031 (struct grub_efi_controller_device_path): New structure.
39032 (grub_efi_controller_device_path_t): New type.
39033 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39034 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39035 (struct grub_efi_acpi_device_path): New structure.
39036 (grub_efi_acpi_device_path_t): New type.
39037 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39038 (struct grub_efi_expanded_acpi_device_path): New structure.
39039 (grub_efi_expanded_acpi_device_path_t): New type.
39040 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39041 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39042 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39043 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39044 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39045 (struct grub_efi_atapi_device_path): New structure.
39046 (grub_efi_atapi_device_path_t): New type.
39047 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39048 (struct grub_efi_fibre_channel_device_path): New structure.
39049 (grub_efi_fibre_channel_device_path_t): New type.
39050 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39051 (struct grub_efi_1394_device_path): New structure.
39052 (grub_efi_1394_device_path_t): New type.
39053 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39054 (struct grub_efi_usb_device_path): New structure.
39055 (grub_efi_usb_device_path_t): New type.
39056 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39057 (struct grub_efi_usb_class_device_path): New structure.
39058 (grub_efi_usb_class_device_path_t): New type.
39059 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39060 (struct grub_efi_i2o_device_path): New structure.
39061 (grub_efi_i2o_device_path_t): New type.
39062 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39063 (struct grub_efi_mac_address_device_path): New structure.
39064 (grub_efi_mac_address_device_path_t): New type.
39065 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
39066 (struct grub_efi_ipv4_device_path): New structure.
39067 (grub_efi_ipv4_device_path_t): New type.
39068 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
39069 (struct grub_efi_ipv6_device_path): New structure.
39070 (grub_efi_ipv6_device_path_t): New type.
39071 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
39072 (struct grub_efi_infiniband_device_path): New structure.
39073 (grub_efi_infiniband_device_path_t): New type.
39074 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
39075 (struct grub_efi_uart_device_path): New structure.
39076 (grub_efi_uart_device_path_t): New type.
39077 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
39078 (struct grub_efi_vendor_messaging_device_path): New structure.
39079 (grub_efi_vendor_messaging_device_path_t): New type.
39080 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
39081 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
39082 (struct grub_efi_hard_drive_device_path): New structure.
39083 (grub_efi_hard_drive_device_path_t): New type.
39084 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
39085 (struct grub_efi_cdrom_device_path): New structure.
39086 (grub_efi_cdrom_device_path_t): New type.
39087 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
39088 (struct grub_efi_vendor_media_device_path): New structure.
39089 (grub_efi_vendor_media_device_path_t): New type.
39090 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
39091 (struct grub_efi_file_path_device_path): New structure.
39092 (grub_efi_file_path_device_path_t): New type.
39093 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
39094 (struct grub_efi_protocol_device_path): New structure.
39095 (grub_efi_protocol_device_path_t): New type.
39096 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
39097 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
39098 (struct grub_efi_bios_device_path): New structure.
39099 (grub_efi_bios_device_path_t): New type.
39100 (struct grub_efi_disk_io): New structure.
39101 (grub_efi_disk_io_t): New type.
39102 (struct grub_efi_block_io_media): New structure.
39103 (grub_efi_block_io_media_t): New type.
39104 (struct grub_efi_block_io): New structure.
39105 (grub_efi_block_io_t): New type.
39106
39107 * include/grub/misc.h (grub_stop): Removed.
39108 (grub_exit): New prototype.
39109 (grub_abort): Likewise.
39110
39111 * include/grub/disk.h (enum grub_disk_dev_id): Added
39112 GRUB_DISK_DEVICE_EFIDISK_ID.
39113
39114 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
39115 disk/efi/efidisk.c.
39116 (kernel_syms.lst): Remove the target if an error occurs.
39117
49986a9f 391182006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
39119
39120 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
39121 as it was simply too buggy.
39122
970d3b8a 391232006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
39124
39125 * kern/misc.c (grub_lltoa): New function.
39126 (grub_vsprintf): Added support for the long long suffix,
39127 i.e. "ll".
39128
ff04ec24 391292006-04-20 Hollis Blanchard <hollis@penguinppc.org>
39130
39131 * Makefile.in (LDFLAGS): Add variable.
39132 (LD): Remove variable.
39133 * configure.ac: Add -m32 to LDFLAGS.
39134 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
39135 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
39136 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
39137 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
39138 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
39139 variables.
39140 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
39141 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
39142 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
39143
37e5e1a4 391442006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
39145
39146 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
39147 length for unknown glyph.
39148
c352d8dd 391492006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
39150
2eab1c0d 39151 Add support for pre-loaded modules into the EFI port.
f19dbdb7 39152
2eab1c0d 39153 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
39154 completely. Accept one more argument DIR. The caller has changed.
39155
39156 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
39157
39158 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
39159 (grub_efi_loaded_image_guid): New variable.
39160 (grub_efi_get_loaded_image): New function.
39161 (grub_arch_modules_addr): Likewise.
39162
39163 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
39164 prototype.
39165
39166 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
39167 (struct grub_efi_loaded_image): New structure.
39168 (grub_efi_loaded_image_t): New type.
39169
391702006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39171
c352d8dd 39172 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
39173 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
39174 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
39175
6d01d6b4 391762006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
39177
39178 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
39179
976a4ea0 391802006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
39181
39182 * DISTLIST: Added include/grub/efi/console.h,
39183 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
39184 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39185
39186 * include/grub/efi/console.h: New file.
39187 * include/grub/efi/time.h: Likewise.
39188 * include/grub/i386/efi/kernel.h: Likewise.
39189 * kern/efi/init.c: Likewise.
39190 * kern/efi/mm.c: Likewise.
39191 * term/efi/console.c: Likewise.
f19dbdb7 39192
976a4ea0 39193 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
39194 (grub_stop): Removed.
39195 (grub_get_rtc): Likewise.
39196 (grub_machine_init): Simply call grub_efi_init.
39197 (grub_machine_fini): Call grub_efi_fini.
39198
39199 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
39200 (grub_efi_output_string): Removed.
39201 (grub_efi_stall): New function.
39202 (grub_stop): Likewise.
39203 (grub_get_rtc): Likewise.
39204
39205 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
39206 (grub_efi_stall): New prototype.
39207 (grub_efi_allocate_pages): Likewise.
39208 (grub_efi_free_pages): Likewise.
39209 (grub_efi_get_memory_map): Likewise.
39210 (grub_efi_mm_init): Likewise.
39211 (grub_efi_mm_fini): Likewise.
39212 (grub_efi_init): Likewise.
39213 (grub_efi_fini): Likewise.
39214
39215 * include/grub/i386/efi/time.h: Do not include
39216 grub/symbol.h. Include grub/efi/time.h.
39217 (GRUB_TICKS_PER_SECOND): Removed.
39218 (grub_get_rtc): Likewise.
39219
39220 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
39221 Added padding. The EFI spec is buggy.
39222 (GRUB_EFI_BLACK): New macro.
39223 (GRUB_EFI_BLUE): Likewise.
39224 (GRUB_EFI_GREEN): Likewise.
39225 (GRUB_EFI_CYAN): Likewise.
39226 (GRUB_EFI_RED): Likewise.
39227 (GRUB_EFI_MAGENTA): Likewise.
39228 (GRUB_EFI_BROWN): Likewise.
39229 (GRUB_EFI_LIGHTGRAY): Likewise.
39230 (GRUB_EFI_BRIGHT): Likewise.
39231 (GRUB_EFI_DARKGRAY): Likewise.
39232 (GRUB_EFI_LIGHTBLUE): Likewise.
39233 (GRUB_EFI_LIGHTGREEN): Likewise.
39234 (GRUB_EFI_LIGHTCYAN): Likewise.
39235 (GRUB_EFI_LIGHTRED): Likewise.
39236 (GRUB_EFI_LIGHTMAGENTA): Likewise.
39237 (GRUB_EFI_YELLOW): Likewise.
39238 (GRUB_EFI_WHITE): Likewise.
39239 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
39240 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
39241 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
39242 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
39243 (GRUB_EFI_BACKGROUND_RED): Likewise.
39244 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
39245 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
39246 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
39247 (GRUB_EFI_TEXT_ATTR): Likewise.
39248
39249 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
39250 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39251 (kernel_mod_HEADERS): Added efi/time.h.
39252
83709125 392532006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
39254
39255 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
39256 include/grub/efi/api.h, include/grub/efi/console_control.h,
39257 include/grub/efi/efi.h, include/grub/efi/pe32.h,
39258 include/grub/i386/efi/time.h, kern/efi/efi.c,
39259 kern/i386/efi/init.c, kern/i386/efi/startup.S,
39260 and util/i386/efi/grub-mkimage.c.
39261
39262 * Makefile.in (RMKFILES): Added i386-efi.rmk.
39263
39264 * genmk.rb (PModule#rule): Do not export symbols if
39265 #{prefix}_EXPORTS is set to "no".
39266
39267 * conf/i386-efi.mk: New file.
39268 * conf/i386-efi.rmk: Likewise.
39269 * include/grub/efi/api.h: Likewise.
39270 * include/grub/efi/console_control.h: Likewise.
39271 * include/grub/efi/efi.h: Likewise.
39272 * include/grub/efi/pe32.h: Likewise.
39273 * include/grub/i386/efi/time.h: Likewise.
39274 * kern/efi/efi.c: Likewise.
39275 * kern/i386/efi/init.c: Likewise.
39276 * kern/i386/efi/startup.S: Likewise.
39277 * util/i386/efi/grub-mkimage.c: Likewise.
39278
392792006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 39280
39281 * include/grub/script.h: Include <grub/parser.h> and
39282 "grub_script.tab.h".
39283 (struct grub_lexer_param): New struct.
39284 (struct grub_parser_param): Likewise.
39285 (grub_script_create_arglist): Pass the state in an argument.
39286 (grub_script_add_arglist): Likewise.
39287 (grub_script_create_cmdline): Likewise.
39288 (grub_script_create_cmdblock): Likewise.
39289 (grub_script_create_cmdif): Likewise.
39290 (grub_script_create_cmdmenu): Likewise.
39291 (grub_script_add_cmd): Likewise.
39292 (grub_script_arg_add): Likewise.
39293 (grub_script_lexer_ref): Likewise.
39294 (grub_script_lexer_deref): Likewise.
39295 (grub_script_lexer_record_start): Likewise.
39296 (grub_script_lexer_record_stop): Likewise.
39297 (grub_script_mem_record): Likewise.
39298 (grub_script_mem_record_stop): Likewise.
39299 (grub_script_malloc): Likewise.
39300 (grub_script_yylex): Likewise.
39301 (grub_script_yyparse): Likewise.
39302 (grub_script_yyerror): Likewise.
39303 (grub_script_yylex): Likewise.
39304 (grub_script_lexer_init): Return the state.
39305
39306 * normal/lexer.c (grub_script_lexer_state): Removed variable.
39307 (grub_script_lexer_done): Likewise.
39308 (grub_script_lexer_getline): Likewise.
39309 (grub_script_lexer_refs): Likewise.
39310 (script): Likewise.
39311 (newscript): Likewise.
39312 (record): Likewise.
39313 (recording): Likewise.
39314 (recordpos): Likewise.
39315 (recordlen): Likewise.
39316 (grub_script_lexer_init): Return the state instead of setting
39317 global variables.
39318 (grub_script_lexer_ref): Use the newly added argument for state
39319 instead of globals.
39320 (grub_script_lexer_deref): Likewise.
39321 (grub_script_lexer_record_start): Likewise.
39322 (grub_script_lexer_record_stop): Likewise.
39323 (recordchar): Likewise.
39324 (nextchar): Likewise.
39325 (grub_script_yylex2): Likewise.
39326 (grub_script_yylex): Likewise.
39327 (grub_script_yyerror): Likewise.
39328
39329 * normal/parser.y (func_mem): Removed variable.
39330 (menu_entry): Likewise.
39331 (err): Likewise.
39332 (%lex-param): New parser option.
39333 (%parse-param): Likewise.
39334 (script): Always return the AST.
39335 (argument): Pass the state around.
39336 (arguments): Likewise.
39337 (grubcmd): Likewise.
39338 (commands): Likewise.
39339 (function): Likewise.
39340 (menuentry): Likewise.
39341 (if_statement): Likewise.
39342 (if): Likewise.
39343
39344 * normal/script.c (grub_script_memused): Removed variable.
39345 (grub_script_parsed): Likewise.
39346 (grub_script_malloc): Added a state argument. Use that instead of
39347 global variables.
39348 (grub_script_mem_record): Likewise.
39349 (grub_script_mem_record_stop): Likewise.
39350 (grub_script_arg_add): Likewise.
39351 (grub_script_add_arglist): Likewise.
39352 (grub_script_create_cmdline): Likewise.
39353 (grub_script_create_cmdif): Likewise.
39354 (grub_script_create_cmdmenu): Likewise.
39355 (grub_script_add_cmd): Likewise.
39356 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 39357
e2a8c904 393582006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 39359
39360 * normal/command.c (grub_command_init): Remove the title command.
39361
39362 * normal/lexer.c (grub_script_yylex): Renamed from this...
39363 (grub_script_yylex2): ... to this.
39364 (grub_script_yylex): New function. Temporary
39365 introduced to filter some tokens.
39366 (grub_script_yyerror): Print a newline.
39367
39368 * normal/main.c (read_config_file): Output information about the
39369 lines that contain errors. Wait for a key after all lines have
39370 been processed. Don't return an empty menu.
39371
39372 * normal/parser.y (func_mem): Don't initialize.
39373 (menu_entry): Likewise.
39374 (err): New variable.
39375 (script): Don't return anything when an error was encountered.
39376 (ws, returns): Removed rules.
39377 (argument): Disabled concatenated variable support.
39378 (arguments): Remove explicit separators.
39379 (grubcmd): Likewise.
39380 (function): Likewise.
39381 (menuentry): Likewise.
39382 (if): Likewise.
39383 (commands): Likewise. Add error handling.
39384
39385 * normal/script.c (grub_script_create_cmdline): If
39386 `grub_script_parsed' is 0, assume the parser encountered an error.
39387
c9a86192 393882006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
39389
39390 * configure.ac: Add support for EFI. Fix the typo
39391 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
39392
70f3b243 393932006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39394
39395 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
39396 foreign multibyte characters should be shown correctly.
39397
65f201ad 393982006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39399
39400 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
39401 calculation.
39402 (read_config_file): Made it to close file before returning.
39403
b4b93674 394042006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
39405
39406 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
39407 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
39408 video/i386/pc/vbefill.c.
39409
39410 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
39411 video/i386/pc/vbefill.c.
39412
39413 * include/grub/video.h (grub_video_blit_format): New enum.
39414 (grub_video_mode_info): Added new member blit_format.
39415 (grub_video_get_blit_format): New function prototype.
39416
39417 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
39418 function prototype.
39419 (grub_video_vbe_map_rgb): Likewise.
39420 (grub_video_vbe_unmap_color): Likewise.
39421
39422 * include/grub/i386/pc/vbeblit.h: New file.
39423
39424 * include/grub/i386/pc/vbefill.h: New file.
39425
39426 * video/video.c (grub_video_get_blit_format): New function.
39427 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
39428 (grub_video_vbe_map_rgb): Likewise.
39429 (grub_video_vbe_unmap_color): Likewise.
39430
39431 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
39432 optimized fills.
39433 (grub_video_vbe_blit_render_target): Changed to use more optimized
39434 blits.
39435 (grub_video_vbe_setup): Added detection for optimized settings.
39436 (grub_video_vbe_create_render_target): Likewise.
39437
39438 * video/i386/pc/vbeblit.c: New file.
39439
39440 * video/i386/pc/vbefill.c: New file.
39441
c2379b9c 394422006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
39443
39444 * font/manager.c (grub_font_get_glyph): Removed font fixup from
39445 here...
39446
39447 * util/unifont2pff.rb: ... and moved it to here. Improved argument
39448 parsing to support both hex and dec ranges. If filename was missing
39449 show usage information.
39450
bd0d7896 394512006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
39452
39453 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
39454 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
39455
39456 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
39457 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
39458 (video_mod_SOURCES): Added.
39459 (video_mod_CFLAGS): Likewise.
39460 (video_mod_LDFLAGS): Likewise.
39461 (gfxterm_mod_SOURCES): Likewise.
39462 (gfxterm_mod_CFLAGS): Likewise.
39463 (gfxterm_mod_LDFLAGS): Likewise.
39464 (videotest_mod_SOURCES): Likewise.
39465 (videotest_mod_CFLAGS): Likewise.
39466 (videotest_mod_LDFLAGS): Likewise.
39467 (vesafb_mod_SOURCES): Removed.
39468 (vesafb_mod_CFLAGS): Likewise.
39469 (vesafb_mod_LDFLAGS): Likewise.
39470 (vga_mod_SOURCES): Likewise.
39471 (vga_mod_CFLAGS): Likewise.
39472 (vga_mod_LDFLAGS): Likewise.
39473
39474 * commands/videotest.c: New file.
39475
39476 * font/manager.c (fill_with_default_glyph): Modified to use
39477 grub_font_glyph.
39478 (grub_font_get_glyph): Likewise.
39479 (fontmanager): Renamed from this...
39480 (font_manager): ... to this.
39481
39482 * include/grub/font.h (grub_font_glyph): Added new structure.
39483 (grub_font_get_glyph): Modified to use grub_font_glyph.
39484
39485 * include/grub/misc.h (grub_abs): Added as inline function.
39486
39487 * include/grub/video.h: New file.
39488
39489 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
39490 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
39491 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
39492 (grub_vbe_get_controller_info): Renamed from this...
39493 (grub_vbe_bios_get_controller_info): ... to this.
39494 (grub_vbe_get_mode_info): Renamed from this...
39495 (grub_vbe_bios_get_mode_info): ... to this.
39496 (grub_vbe_set_mode): Renamed from this...
39497 (grub_vbe_bios_set_mode): ... to this.
39498 (grub_vbe_get_mode): Renamed from this...
39499 (grub_vbe_bios_get_mode): ... to this.
39500 (grub_vbe_set_memory_window): Renamed from this...
39501 (grub_vbe_bios_set_memory_window): ... to this.
39502 (grub_vbe_get_memory_window): Renamed from this...
39503 (grub_vbe_bios_get_memory_window): ... to this.
39504 (grub_vbe_set_scanline_length): Renamed from this...
39505 (grub_vbe_set_scanline_length): ... to this.
39506 (grub_vbe_get_scanline_length): Renamed from this...
39507 (grub_vbe_bios_get_scanline_length): ... to this.
39508 (grub_vbe_set_display_start): Renamed from this...
39509 (grub_vbe_bios_set_display_start): ... to this.
39510 (grub_vbe_get_display_start): Renamed from this...
39511 (grub_vbe_bios_get_display_start): ... to this.
39512 (grub_vbe_set_palette_data): Renamed from this...
39513 (grub_vbe_bios_set_palette_data): ... to this.
39514 (grub_vbe_set_pixel_rgb): Removed.
39515 (grub_vbe_set_pixel_index): Likewise.
39516
39517 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
39518 from this...
39519 (grub_vbe_bios_get_controller_info): ... to this.
39520 (grub_vbe_get_mode_info): Renamed from this...
39521 (grub_vbe_bios_get_mode_info): ... to this.
39522 (grub_vbe_set_mode): Renamed from this...
39523 (grub_vbe_bios_set_mode): ... to this.
39524 (grub_vbe_get_mode): Renamed from this...
39525 (grub_vbe_bios_get_mode): ... to this.
39526 (grub_vbe_set_memory_window): Renamed from this...
39527 (grub_vbe_bios_set_memory_window): ... to this.
39528 (grub_vbe_get_memory_window): Renamed from this...
39529 (grub_vbe_bios_get_memory_window): ... to this.
39530 (grub_vbe_set_scanline_length): Renamed from this...
39531 (grub_vbe_set_scanline_length): ... to this.
39532 (grub_vbe_get_scanline_length): Renamed from this...
39533 (grub_vbe_bios_get_scanline_length): ... to this.
39534 (grub_vbe_set_display_start): Renamed from this...
39535 (grub_vbe_bios_set_display_start): ... to this.
39536 (grub_vbe_get_display_start): Renamed from this...
39537 (grub_vbe_bios_get_display_start): ... to this.
39538 (grub_vbe_set_palette_data): Renamed from this...
39539 (grub_vbe_bios_set_palette_data): ... to this.
39540 (grub_vbe_bios_get_controller_info): Fixed problem with registers
39541 getting corrupted after calling it. Added more pushes and pops.
39542 (grub_vbe_bios_set_mode): Likewise.
39543 (grub_vbe_bios_get_mode): Likewise.
39544 (grub_vbe_bios_get_memory_window): Likewise.
39545 (grub_vbe_bios_set_scanline_length): Likewise.
39546 (grub_vbe_bios_get_scanline_length): Likewise.
39547 (grub_vbe_bios_get_display_start): Likewise.
39548 (grub_vbe_bios_set_palette_data): Likewise.
39549
39550 * normal/cmdline.c (cl_set_pos): Refresh the screen.
39551 (cl_insert): Likewise.
39552 (cl_delete): Likewise.
39553
39554 * term/gfxterm.c: New file.
39555
39556 * term/i386/pc/vesafb.c: Removed file.
39557
39558 * video/video.c: New file.
39559
39560 * video/i386/pc/vbe.c (real2pm): Added new function.
39561 (grub_video_vbe_draw_pixel): Likewise.
39562 (grub_video_vbe_get_video_ptr): Likewise.
39563 (grub_video_vbe_get_pixel): Likewise
39564 (grub_video_vbe_init): Likewise.
39565 (grub_video_vbe_fini): Likewise.
39566 (grub_video_vbe_setup): Likewise.
39567 (grub_video_vbe_get_info): Likewise.
39568 (grub_video_vbe_set_palette): Likewise.
39569 (grub_video_vbe_get_palette): Likewise.
39570 (grub_video_vbe_set_viewport): Likewise.
39571 (grub_video_vbe_get_viewport): Likewise.
39572 (grub_video_vbe_map_color): Likewise.
39573 (grub_video_vbe_map_rgb): Likewise.
39574 (grub_video_vbe_map_rgba): Likewise.
39575 (grub_video_vbe_unmap_color): Likewise.
39576 (grub_video_vbe_fill_rect): Likewise.
39577 (grub_video_vbe_blit_glyph): Likewise.
39578 (grub_video_vbe_blit_bitmap): Likewise.
39579 (grub_video_vbe_blit_render_target): Likewise.
39580 (grub_video_vbe_scroll): Likewise.
39581 (grub_video_vbe_swap_buffers): Likewise.
39582 (grub_video_vbe_create_render_target): Likewise.
39583 (grub_video_vbe_delete_render_target): Likewise.
39584 (grub_video_vbe_set_active_render_target): Likewise.
39585 (grub_vbe_set_pixel_rgb): Remove function.
39586 (grub_vbe_set_pixel_index): Likewise.
39587 (index_color_mode): Remove static variable.
39588 (active_mode): Likewise.
39589 (framebuffer): Likewise.
39590 (bytes_per_scan_line): Likewise.
39591 (grub_video_vbe_adapter): Added new static variable.
39592 (framebuffer): Likewise.
39593 (render_target): Likewise.
39594 (initial_mode): Likewise.
39595 (mode_in_use): Likewise.
39596 (mode_list): Likewise.
39597
5f97350b 395982006-03-10 Marco Gerards <marco@gnu.org>
39599
39600 * configure.ac (AC_INIT): Bumped to 1.93.
39601
39602 * DISTLIST: Added `include/grub/hfs.h'.
39603
a3c5c6f8 396042006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
39605
39606 * boot/i386/pc/boot.S (general_error): Before looping, try INT
39607 18H, which might help the BIOS falling back to next boot media.
39608
6de53d26 396092006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
39610
39611 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
39612 Poe Chen <poe.poechen@gmail.com>.
39613
77c4a393 396142006-01-17 Marco Gerards <marco@gnu.org>
39615
39616 * include/grub/normal.h: Include <grub/script.h>.
39617 (grub_command_list): Removed struct.
39618 (grub_command_list_t): Removed type.
39619 (grub_menu_entry): Remove members `num' and `command_list'. Add
39620 members `commands' and `sourcecode'.
39621 * include/grub/script.h: Add inclusion guards.
39622 (grub_script_cmd_menuentry): New struct.
39623 (grub_script_execute_menuentry): New prototype.
39624 (grub_script_lexer_record_start): Likewise.
39625 (grub_script_lexer_record_stop): Likewise.
39626 * normal/execute.c (grub_script_execute_menuentry): New function.
39627 * normal/lexer.c (record, recording, recordpos, recordlen): New
39628 variables.
39629 (grub_script_lexer_record_start): New function.
39630 (grub_script_lexer_record_stop): Likewise.
39631 (recordchar): Likewise.
39632 (nextchar): Likewise.
39633 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
39634 2048 as the buffer size. Add the tokens `menuentry' and `@'.
39635 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
39636 (current_menu): New variable.
39637 (free_menu): Mainly rewritten.
39638 (grub_normal_menu_addentry): New function.
39639 (read_config_file): Rewritten.
39640 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 39641 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 39642 the menu entry.
39643 (run): Mainly rewritten.
39644 * normal/parser.y (menu_entry): New variable.
39645 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
39646 (menuentry): New rule.
39647 (command): Add `menuentry'.
39648 (if_statement): Allow additional returns before `fi'.
39649 * normal/script.c (grub_script_create_cmdmenu): New function.
39650
144f1f98 396512006-01-03 Marco Gerards <marco@gnu.org>
39652
39653 * INSTALL: GNU Bison is required.
39654 * configure.ac: Rewritten the test to detect Bison.
39655 * Makefile.in (YACC): New variable. Reported by Xun Sun
39656 <xun.sun.cn@gmail.com>.
39657
af4b2d89 396582006-01-03 Marco Gerards <marco@gnu.org>
39659
39660 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
39661 the HFS+ filesystem to filesystem blocks.
39662 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
39663 GCC warning is silenced.
39664
15643b71 396652006-01-03 Marco Gerards <marco@gnu.org>
39666
39667 * partmap/apple.c (apple_partition_map_iterate): Convert the data
39668 read from disk from big endian to host byte order.
39669
00905879 396702006-01-03 Hollis Blanchard <hollis@penguinppc.org>
39671
39672 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
39673 documentation.
39674 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
39675 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
39676 embedded HFS+ filesystem.
39677 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
39678 (grub_hfs_sblock): Move from here...
39679 * include/grub/hfs.h: To here... New file.
39680 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
39681 documentation.
39682 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
39683 New macros.
39684 (grub_hfsplus_volheader): Change type of member `magic' to
39685 `grub_uint16_t'.
39686 (grub_hfsplus_data): Add new member `embedded_offset'.
39687 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
39688 returned block.
39689 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
39690 Calculate the offset.
39691
8899bc3e 396922005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39693
39694 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
39695 Removed.
39696 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
39697
ae8c0277 396982005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39699
39700 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
39701 ENV->NAME is NULL after allocating ENV->VALUE.
39702
07084456 397032005-12-25 Marco Gerards <marco@gnu.org>
39704
39705 * kern/env.c (grub_env_set): Rewritten the error handling code.
39706
4750f5f1 397072005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39708
39709 * geninit.sh: Made more robust, and more portable.
39710
50214199 397112005-12-25 Marco Gerards <marco@gnu.org>
39712
39713 Add support for Apple HFS+ filesystems.
f19dbdb7 39714
50214199 39715 * fs/hfsplus.c: New file.
39716
39717 * DISTLIST: Added `fs/hfsplus.c'.
39718
39719 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
39720 (hfsplus_mod_SOURCES): New variable.
39721 (hfsplus_mod_CFLAGS): Likewise.
39722 (hfsplus_mod_LDFLAGS): Likewise.
39723 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
39724 (grub_setup_SOURCES): Likewise.
39725 (grub_mkdevicemap_SOURCES): Likewise.
39726 (grub_emu_SOURCES): Likewise.
39727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39728
39729 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
39730
39731 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
39732
befaed6c 397332005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39734
39735 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
39736 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
39737 include/grub/parser.h, include/grub/script.h, kern/parser.c,
39738 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
39739 normal/lexer.c, normal/parser.y, normal/script.c, and
39740 partmap/gpt.c.
39741 Removed kern/sparc64/cache.c.
39742
39743 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
39744 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
39745 grub_emu_init.c.
39746
39747 * configure.ac (AC_INIT): Bumped to 1.92.
39748
6a124103 397492005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
39750
39751 * kern/err.c (grub_error_push): Added new function to support error
39752 stacks.
39753 (grub_error_pop): Likewise.
39754 (grub_error_stack_items): New local variable to support error stacks.
39755 (grub_error_stack_pos): Likewise.
39756 (grub_error_stack_assert): Likewise.
39757 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
39758 stack depth.
39759 (grub_print_error): Added support to print errors from error stack.
39760
39761 * include/grub/err.h (grub_error_push): Added function prototype.
39762 (grub_error_pop): Likewise.
39763
be973c1b 397642005-12-09 Hollis Blanchard <hollis@penguinppc.org>
39765
39766 * configure.ac: Accept `powerpc64' as host_cpu.
39767 (amd64): Rename to `biarch32'.
39768
39769 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
39770 non-cacheline-aligned addresses.
39771
39772 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
39773 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
39774 if `size' is non-zero.
39775
b04216ab 397762005-12-03 Marco Gerards <mgerards@xs4all.nl>
39777
39778 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
39779 and `cd' to make sure the filename is not prefixed with a
39780 directory name.
39781 (pkgdata_MODULES): Add `gpt.mod'.
39782 (gpt_mod_SOURCES): New variable.
39783 (gpt_mod_CFLAGS): Likewise.
39784 (gpt_mod_LDFLAGS): Likewise.
39785
39786 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
39787
39788 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
39789 New macro.
39790
39791 * partmap/gpt.c: New file.
39792
39793 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
39794 GPT partition map is detected.
39795
41730ed9 397962005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
39797
39798 * commands/i386/pc/play.c: New file.
39799 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
39800 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
39801 macros.
f19dbdb7 39802
95dc3643 398032005-11-27 Marco Gerards <mgerards@xs4all.nl>
39804
39805 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
39806 ((unused))' to silence gcc warning.
39807
1569ec51 398082005-11-26 Hollis Blanchard <hollis@penguinppc.org>
39809
39810 * configure.ac: Correct `AC_PROG_YACC' test.
39811
9abde152 398122005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39813
39814 * util/powerpc/ieee1275/grub-install.in: Run the mount point
39815 check before installing files.
39816
44b83271 398172005-11-22 Mike Small <smallm@panix.com>
39818
39819 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
39820 number regex so multidigit numbers are recognized correctly.
39821
398222005-11-22 Mike Small <smallm@panix.com>
39823
39824 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
39825 debugging message before attempting to claim memory.
39826 (grub_rescue_cmd_initrd): Add a claim debugging message and try
39827 multiple addresses in case of failure.
39828
9c12956b 398292005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39830
39831 * term/tparm.c (get_space): Remove empty `if' statement.
39832
39833 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
39834
39835 * kern/parser.c (check_varstate): Rename `state' to 's'.
39836
aeaf81d9 398372005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39838
39839 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
39840 variable definitions to the beginning of each function. Sort stack
39841 variables by size.
39842 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
39843 `buf' argument to `char *'.
39844
79bbb63f 398452005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39846
39847 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
39848 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39849 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 39850 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39851 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39852 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39853 configfile.mod, search.mod, gzio.mod and test.mod.
39854 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39855 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39856 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39857 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39858 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39859 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39860 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39861 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39862 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39863 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39864 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39865 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39866 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39867 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39868 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39869 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39870 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39871 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39872 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39873 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
39874 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
39875 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
39876 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
39877
39878 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
39879 `grep --include'.
39880 (pkgdata_MODULES): Add test.mod.
39881
233b1628 398822005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39883
39884 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
39885 appending to variables with "+=".
39886 (PModule): Use full pathname to generate *.lst filenames.
39887
39888 * Makefile.in: Fixed list rules moved from genmk.rb.
39889 (.DELETE_ON_ERROR): New special target.
39890 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
39891
39892 * conf/i386-pc.rmk: Include conf/common.mk.
39893 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39894 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 39895 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39896 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39897 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39898 configfile.mod, search.mod, gzio.mod and test.mod.
39899 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39900 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39901 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39902 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39903 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39904 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39905 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39906 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39907 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39908 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39909 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39910 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39911 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39912 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39913 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39914 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39915 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39916 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39917 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39918 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
39919 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
39920 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
39921 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
39922 here...
39923 * conf/common.rmk: ... to here. New file.
39924
39925 * conf/common.mk: New file.
39926
16f820c8 399272005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
39928
39929 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
39930 (grub_script.tab.c): ... here.
39931
39932 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
39933 (grub_script.tab.c): ... here.
39934
39935 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
39936 (grub_script.tab.c): ... here.
39937
39938 * normal/command.c (grub_command_find): Fixed a memory leak of
39939 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
39940
63ba1554 399412005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39942
39943 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
39944 "@" which marks the start of a comment on ARM.
39945 (VARIABLE): Likewise.
39946
7f67dc13 399472005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39948
79bbb63f 39949 Add support for Linux/ADFS partition tables.
7f67dc13 39950
39951 * partmap/acorn.c: New file.
39952
39953 * include/grub/acorn_filecore.h: Likewise.
39954
39955 * DISTLIST: Added `partmap/acorn.c' and
39956 `include/grub/acorn_filecore.h'.
f19dbdb7 39957
7f67dc13 39958 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39959 `partmap/acorn.c'.
39960 (pkgdata_MODULES): Add `acorn.mod'.
39961 (acorn_mod_SOURCES): New variable.
39962 (acorn_mod_CFLAGS): Likewise.
39963
39964 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
39965 `partmap/acorn.c'.
39966 (pkgdata_MODULES): Add `acorn.mod'.
39967 (acorn_mod_SOURCES): New variable.
39968 (acorn_mod_CFLAGS): Likewise.
39969
39970 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
39971 (pkgdata_MODULES): Add `acorn.mod'.
39972 (acorn_mod_SOURCES): New variable.
39973 (acorn_mod_CFLAGS): Likewise.
39974 (acorn_mod_LDFLAGS): Likewise.
39975
39976 * include/types.h (grub_disk_addr_t): New typedef.
39977
6d099807 399782005-11-13 Marco Gerards <mgerards@xs4all.nl>
39979
39980 * geninit.sh: New file.
39981
39982 * geninitheader.sh: Likewise.
39983
39984 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
39985 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
39986 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
39987 * commands/configfile.c (grub_configfile_init)
39988 (grub_configfile_fini): Likewise.
39989 * commands/default.c (grub_default_init, grub_default_fini):
39990 Likewise.
39991 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
39992 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
39993 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
39994 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
39995 Likewise.
39996 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
39997 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
39998 Likewise.
39999 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 40000 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 40001 Likewise.
40002 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40003 Likewise.
fe6b695a 40004 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 40005 Likewise.
40006 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40007 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40008 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40009 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40010 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40011 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40012 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40013 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40014 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40015 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40016 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40017 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40018 * partmap/amiga.c (grub_amiga_partition_map_init)
40019 (grub_amiga_partition_map_fini): Likewise.
40020 * partmap/apple.c (grub_apple_partition_map_init)
40021 (grub_apple_partition_map_fini): Likewise.
40022 * partmap/pc.c (grub_pc_partition_map_init)
40023 (grub_pc_partition_map_fini): Likewise.
40024 * partmap/sun.c (grub_sun_partition_map_init,
40025 grub_sun_partition_map_fini): Likewise.
40026 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40027 Likewise.
40028
40029 * util/grub-emu.c: Include <grub_modules_init.h>.
40030 (main): Don't initialize and de-initialize any modules directly,
40031 use `grub_init_all' and `grub_fini_all' instead.
40032
40033 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40034 `grub_vesafb_mod_init'.
40035 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40036 all users.
40037 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40038 `grub_vga_mod_init'. Updated all users.
40039 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 40040
6d099807 40041 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40042 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40043 rules.
40044
40045 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40046 Generate a function to initialize the module in utilities.
40047 Updated all callers.
40048 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40049 initialize the module in utilities. Updated all callers.
40050
9046bcf0 400512005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40052
40053 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40054 escape sequence and a literal ^L to clear the screen.
40055
40056 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40057 when returning from Open Firmware.
40058
d13ea639 400592005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40060
40061 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40062 (grub_ofconsole_height): Likewise.
40063 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
40064 manually insert a '\n'.
40065 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
40066 `grub_ofconsole_height'. Return early if these are already set.
40067
a8fcf206 400682005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
40069
40070 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40071 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
40072 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
40073 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
40074 and `normal/script.c'.
40075 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40076 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40077 (test_mod_SOURCES): New variable.
40078 (test_mod_CFLAGS): Likewise.
40079 (test_mod_LDFLAGS): Likewise.
40080 (pkgdata_MODULES): Add `test.mod'.
40081 (grub_script.tab.c): New rule.
40082 (grub_script.tab.h): Likewise.
40083
b6b32745 400842005-11-07 Marco Gerards <mgerards@xs4all.nl>
40085
40086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40087 `commands/test.c', `normal/execute.c', `normal/lexer.c',
40088 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40089 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40090 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40091 (test_mod_SOURCES): New variable.
40092 (test_mod_CFLAGS): Likewise.
40093 (pkgdata_MODULES): Add `test.mod'.
40094 (grub_script.tab.c): New rule.
40095 (grub_script.tab.h): Likewise.
40096
daac212a 400972005-11-06 Marco Gerards <mgerards@xs4all.nl>
40098
40099 Add initial scripting support.
40100
40101 * commands/test.c: New file.
40102 * include/grub/script.h: Likewise.
40103 * normal/execute.c: Likewise.
40104 * normal/function.c: Likewise.
40105 * normal/lexer.c: Likewise.
40106 * normal/parser.y: Likewise.
40107 * normal/script.c: Likewise.
40108
40109 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 40110
daac212a 40111 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
40112 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
40113 `normal/function.c' and `normal/script.c'.
40114 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40115 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 40116 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
40117 variables.
daac212a 40118 (pkgdata_MODULES): Add `test.mod'.
40119 (grub_script.tab.c): New rule.
40120 (grub_script.tab.h): Likewise.
40121
40122 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
40123
40124 * include/grub/normal.h (grub_test_init): New prototype.
40125 (grub_test_fini): Likewise.
f19dbdb7 40126
daac212a 40127 * normal/command.c: Include <grub/script.h>.
40128 (grub_command_execute): Rewritten.
f19dbdb7 40129
daac212a 40130 * util/grub-emu.c (main): Call `grub_test_init' and
40131 `grub_test_fini'.
40132
77500b2b 401332005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40134
40135 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
40136 to 0.
40137 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
40138 there are no pending characters.
40139
e45deb9e 401402005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40141
40142 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
40143 `grub_strndup' to drop device arguments. Replace unnecessary
40144 `grub_strndup' with `grub_strdup'.
40145
4ce32619 401462005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40147
40148 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
40149 `debug' environment variable has been set.
40150
401512005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40152
4ce32619 40153 * Makefile.in (install-local): Use $(DATA).
40154 (uninstall): Likewise.
40155 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
40156 (sbin_UTILITIES): ... to here.
40157 (sbin_SCRIPTS): New variable.
40158 (grub_install_SOURCES): New variable.
40159 * util/powerpc/ieee1275/grub-install.in: New file.
40160 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
40161 variable.
40162 (add_segments): Call `grub_util_get_path'.
40163
25fe6f03 401642005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40165
40166 From Timothy Baldwin:
40167 * commands/ls.c (grub_ls_list_files): Close FILE with
40168 grub_file_close.
40169 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
40170
04ccf3ec 401712005-10-24 Marco Gerards <mgerards@xs4all.nl>
40172
40173 * include/grub/parser.h: New file.
40174
40175 * kern/parser.c: Likewise.
40176
40177 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
40178 (grub_setup_SOURCES): Likewise.
40179 (grub_probefs_SOURCES): Likewise.
40180 (grub_emu_SOURCES): Likewise.
40181 (kernel_img_HEADERS): Add `parser.h'.
40182
40183 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40184 (grub_emu_SOURCES): Add `kern/parser.c'.
40185 (grubof_SOURCES): Likewise.
40186
40187 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40188 (grubof_SOURCES): Add `kern/parser.c'.
40189
40190 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
40191
40192 * kern/misc.c (grub_split_cmdline): Removed function.
40193
40194 * kern/rescue.c: Include <grub/parser.h>.
40195 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
40196 of `grub_split_cmdline'.
40197
40198 * normal/command.c: Include <grub/parser.h>.
40199 (grub_command_execute): Use `grub_parser_split_cmdline' instead
40200 of `grub_split_cmdline'.
40201
40202 * normal/completion.c: Include <grub/parser.h>.
40203 (cmdline_state): New variable.
40204 (iterate_dir): End the filename with a quote depending on the
40205 command line state.
40206 (get_state): new function.
40207 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
40208 split the arguments and determine the current argument. When the
40209 argument string is not quoted, escape all spaces.
40210
6d8f4b0e 402112005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40212
40213 * normal/sparc64/setjmp.S: New file.
40214
15cf03ed 402152005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40216
40217 * include/grub/sparc64/libgcc.h: New file.
40218 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
40219 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
40220 normal/sparc64/setjmp.c.
40221
03e8661a 402222005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40223
40224 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
40225 * kern/sparc64/cache.S: New file.
40226 * kern/sparc64/cache.c: Removed.
40227 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
40228 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
40229 -mtune=ultrasparc.
40230 (COMMON_LDFLAGS): Add -melf64_sparc.
40231 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
40232 (grubof_SOURCES): Use cache.S instead of cache.c.
40233 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
40234 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
40235 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
40236 commented though.
40237 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
40238 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
40239 (linux_mod_CFLAGS): Commented out.
40240 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
40241 out because module isn't built.
40242 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
40243 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
40244 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
40245 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
40246 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
40247 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40248 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40249 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
40250 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
40251 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
40252 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40253 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40254 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
40255 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
40256
34eeec8a 402572005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
40258
40259 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
40260 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
40261 longer, because HFS should not be used on PC.
40262
708367a3 402632005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40264
40265 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
40266 consistently within the loop.
40267
6fa1251a 402682005-10-15 Marco Gerards <mgerards@xs4all.nl>
40269
40270 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
40271 directory can not be read.
40272
4801580b 402732005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40274
40275 * configure.ac (AC_INIT): Increase the version number to 1.91.
40276
40277 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
40278 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
40279 term/i386/pc/serial.c.
40280
219ad426 402812005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40282
40283 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
40284 file size must be permitted.
40285
40286 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
40287 between %ah and %al.
40288
688e5699 402892005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40290
40291 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
40292 grub_uint64_t.
40293 Call the hook with a NUL-terminated filename.
40294 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
40295 grub_cpu_to_be32.
40296
40297 * kern/term.c (cursor_state): New variable.
40298 (grub_term_set_current): Reset the cursor state on a new
40299 terminal.
40300 (grub_setcursor): Rewritten to use CURSOR_STATE.
40301 (grub_getcursor): New function.
40302
40303 * include/grub/term.h (grub_getcursor): New prototype.
40304
40305 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
40306 integers on ARM. Reported by Timothy Baldwin
40307 <T.E.Baldwin99@members.leeds.ac.uk>.
40308
bb34586c 403092005-10-11 Marco Gerards <mgerards@xs4all.nl>
40310
40311 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
40312 allocated.
40313 (grub_sfs_dir): Likewise.
40314
9a909877 403152005-10-09 Marco Gerards <mgerards@xs4all.nl>
40316
40317 Add support for the SFS filesystem.
40318
40319 * fs/sfs.c: New file.
40320
40321 * DISTLIST: Added `fs/sfs.c'.
40322
40323 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
40324 (grub_probefs_SOURCES): Likewise.
40325 (grub_emu_SOURCES): Likewise.
40326 (pkgdata_MODULES): Add `sfs.mod'.
40327 (sfs_mod_SOURCES): New variable.
40328 (sfs_mod_CFLAGS): Likewise.
40329 (sfs_mod_LDFLAGS): Likewise.
40330
40331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
40332 (pkgdata_MODULES): Add `sfs.mod'.
40333 (sfs_mod_SOURCES): New variable.
40334 (sfs_mod_CFLAGS): Likewise.
40335
40336 * util/grub-emu.c (main): Call `grub_sfs_init' and
40337 `grub_sfs_fini'.
40338
40339 * include/grub/fs.h (grub_sfs_init): New prototype.
40340 (grub_sfs_fini): Likewise.
40341
57bdbde3 403422005-10-07 Marco Gerards <mgerards@xs4all.nl>
40343
40344 Add support for the AFFS filesystem.
40345
40346 * fs/affs.c: New file.
40347
40348 * DISTLIST: Added `fs/affs.c'.
40349
40350 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
40351 (grub_probefs_SOURCES): Likewise.
40352 (grub_emu_SOURCES): Likewise.
40353 (pkgdata_MODULES): Add `affs.mod'.
40354 (affs_mod_SOURCES): New variable.
40355 (affs_mod_CFLAGS): Likewise.
40356 (affs_mod_LDFLAGS): Likewise.
40357
40358 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
40359 (pkgdata_MODULES): Add `affs.mod'.
40360 (affs_mod_SOURCES): New variable.
40361 (affs_mod_CFLAGS): Likewise.
40362
40363 * util/grub-emu.c (main): Call `grub_affs_init' and
40364 `grub_affs_fini'.
40365
40366 * include/grub/fs.h (grub_affs_init): New prototype.
40367 (grub_affs_fini): Likewise.
40368
047b67e0 403692005-10-01 Marco Gerards <mgerards@xs4all.nl>
40370
40371 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
40372
59b8208a 403732005-10-01 Marco Gerards <mgerards@xs4all.nl>
40374
40375 * configure.ac: Accept `x86_64' as host_cpu. In that case add
40376 `-m32' to CFLAGS.
40377
40378 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
40379 linking.
f19dbdb7 40380
59b8208a 40381 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
40382 (COMMON_LDFLAGS): New variable.
40383 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
40384 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
40385 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
40386 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
40387 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
40388 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
40389 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
40390 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
40391 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
40392 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
40393 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40394 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40395 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
40396 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
40397 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
40398 variables.
40399 (normal_mod_ASFLAGS): Add `-m32'.
40400
40401 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
40402 (grub_host_size_t, grub_host_ssize_t): New types.
40403 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 40404 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 40405 `GRUB_HOST_SIZEOF_VOID_P'.
40406
40407 * include/grub/kernel.h (struct grub_module_header): Type of
40408 member offset changed to `grub_host_off_t'. Type of member size
40409 changed to `grub_host_size_t'.
40410 (struct grub_module_info): Type of member offset changed to
40411 `grub_host_off_t'. Type of member size changed to
40412 `grub_host_size_t'.
40413
b4093103 404142005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
40415
40416 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 40417
b4093103 40418 * kern/i386/pc/startup.S (multiboot_header): New label.
40419 (multiboot_entry): Likewise.
40420 (multiboot_trampoline): Likewise.
40421
40422 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40423 Increased to 0x4A0.
40424
40425 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
40426 put parentheses after a question mark.
40427 [!GRUB_UTIL] (my_mod): New variable.
40428
40429 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
40430
b2499b29 404312005-09-28 Marco Gerards <mgerards@xs4all.nl>
40432
40433 Adds support for the XFS filesystem. Btrees are not supported
40434 yet.
40435
40436 * fs/xfs.c: New file.
40437
40438 * DISTLIST: Added `fs/xfs.c'.
40439
40440 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
40441 (grub_probefs_SOURCES): Likewise.
40442 (grub_emu_SOURCES): Likewise.
40443 (pkgdata_MODULES): Add `xfs.mod'.
40444 (xfs_mod_SOURCES): New variable.
40445 (xfs_mod_CFLAGS): Likewise.
40446
40447 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
40448 (pkgdata_MODULES): Add `xfs.mod'.
40449 (xfs_mod_SOURCES): New variable.
40450 (xfs_mod_CFLAGS): Likewise.
40451
40452 * util/grub-emu.c (main): Call `grub_xfs_init' and
40453 `grub_xfs_fini'.
40454
40455 * include/grub/fs.h (grub_xfs_init): New prototype.
40456 (grub_xfs_fini): Likewise.
40457
f19dbdb7 40458
83d37a62 404592005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
40460
40461 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
40462 color modes, allow greater than 16 colors to be configured as
40463 a default palette.
40464
47d2d65e 404652005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40466
40467 * normal/completion.c (complete_arguments): Add the qualifier
40468 const into OPTIONS.
40469
40470 From Omniflux <omniflux+lists@omniflux.com>:
40471 * include/grub/terminfo.h: New file.
40472 * include/grub/tparm.h: Likewise.
40473 * include/grub/i386/pc/serial.h: Likewise.
40474 * term/terminfo.c: Likewise.
40475 * term/tparm.c: Likewise.
40476 * term/i386/pc/serial.c: Likewise.
40477 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
40478 serial.mod.
40479 (terminfo_mod_SOURCES): New variable.
40480 (terminfo_mod_CFLAGS): Likewise.
40481 (serial_mod_SOURCES): Likewise.
40482 (serial_mod_CFLAGS): Likewise.
40483
48b671ff 404842005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
40485
40486 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
40487 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
40488 and kern/powerpc/ieee1275/cmain.c, respectively.
40489
40490 * boot/powerpc/ieee1275/crt0.S: Moved to ...
40491 * kern/powerpc/ieee1275/crt0.S: ... here.
40492
40493 * boot/powerpc/ieee1275/cmain.c: Moved to ...
40494 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 40495
48b671ff 40496 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
40497 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
40498 instead of boot/powerpc/ieee1275/crt0.S and
40499 boot/powerpc/ieee1275/cmain.c, respectively.
40500
40501 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
40502 sectors. It was not used anyway.
40503
09fc77a7 405042005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40505
40506 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
40507 `unused parameter' warning.
40508
003789c7 405092005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40510
40511 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
40512 function.
40513 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
40514 getcharwidth.
40515
67f44c86 405162005-08-28 Marco Gerards <metgerards@student.han.nl>
40517
40518 * include/grub/normal.h (enum grub_completion_type): Added
40519 `GRUB_COMPLETION_TYPE_ARGUMENT'.
40520
40521 * normal/cmdline.c (print_completion): Handle
40522 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
40523 * normal/menu_entry.c (store_completion): Likewise.
40524
40525 * normal/completion.c (complete_arguments): New function.
40526 (grub_normal_do_completion): Call `complete_arguments' when the
40527 current words start with a dash.
40528
0b5abe02 405292005-08-27 Marco Gerards <metgerards@student.han.nl>
40530
40531 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
40532 `gzio.mod' instead of `io.mod').
40533
d9864ee1 405342005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
40535
40536 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
40537 (DISTDIRS): Added io and video.
40538 Rewrite the search routine to make an output consistently.
40539
40540 * DISTLIST: Added conf/sparc64-ieee1275.mk,
40541 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
40542 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
40543 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
40544 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
40545 util/powerpc/ieee1275/misc.c.
f19dbdb7 40546
d9864ee1 40547 * include/grub/gzio.h: New file.
40548 * io/gzio.c: Likewise.
f19dbdb7 40549
d9864ee1 40550 * kern/file.c (grub_file_close): Call grub_device_close only if
40551 FILE->DEVICE is not NULL.
40552
40553 * include/grub/mm.h [!NULL] (NULL): New macro.
40554
40555 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
40556
40557 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
40558 (pkgdata_MODULES): Added gzio.mod.
40559 (gzio_mod_SOURCES): New variable.
40560 (gzio_mod_CFLAGS): Likewise.
40561
40562 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
40563 (pkgdata_MODULES): Added gzio.mod.
40564 (gzio_mod_SOURCES): New variable.
40565 (gzio_mod_CFLAGS): Likewise.
40566
40567 * commands/cat.c: Include grub/gzio.h.
40568 (grub_cmd_cat): Use grub_gzfile_open instead of
40569 grub_file_open.
f19dbdb7 40570
d9864ee1 40571 * commands/cmp.c: Include grub/gzio.h.
40572 (grub_cmd_cmp): Use grub_gzfile_open instead of
40573 grub_file_open.
40574
40575 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
40576 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
40577 grub_file_open.
40578 (grub_rescue_cmd_module): Likewise.
40579
fa46f4b5 405802005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40581
40582 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
40583 kern/sparc64/ieee1275/init.c because it contains _start.
40584 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
40585
e9211b5d 405862005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40587
40588 * configure.ac: Add support for sparc64 host with ieee1275
40589 firmware.
40590 * configure: Generated from configure.ac.
40591 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
40592 instead of int.
40593 (grub_ofdisk_read): Likewise.
40594 (grub_ofdisk_open): Use %p to print pointer values, and cast the
40595 pointers as (void *) to remove a warning.
40596 (grub_ofdisk_close): Likewise.
40597 (grub_ofdisk_read): Likewise.
40598 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
40599 returns, so make it return void to remove a warning.
40600 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
40601 Corresponding prototype change.
40602 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
40603 values, and cast the pointers as (void *) to remove a warning.
40604 (grub_mm_dump): Likewise.
40605 * conf/sparc64-ieee1275.mk: New file.
40606 * conf/sparc64-ieee1275.rmk: Likewise.
40607 * include/grub/sparc64/setjmp.h: Likewise.
40608 * include/grub/sparc64/types.h: Likewise.
40609 * include/grub/sparc64/ieee1275/console.h: Likewise.
40610 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40611 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40612 * include/grub/sparc64/ieee1275/time.h: Likewise.
40613 * kern/sparc64/cache.c: Likewise.
40614 * kern/sparc64/dl.c: Likewise.
40615 * kern/sparc64/ieee1275/init.c: Likewise.
40616 * kern/sparc64/ieee1275/openfw.c: Likewise.
40617
385c6a92 406182005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
40619
40620 * util/console.c (grub_ncurses_putchar): If C is greater than
40621 0x7f, set C to a question mark.
40622 (grub_ncurses_getcharwidth): New function.
40623 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
40624 getcharwidth.
40625
40626 * normal/menu.c (print_entry): Made aware of Unicode. First,
40627 convert TITLE to UCS-4, and predict the cursor position by
40628 grub_getcharwidth.
40629
40630 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
40631 const to SRC.
40632 * kern/misc.c (grub_utf16_to_utf8): Likewise.
40633
16ccb8b1 406342005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40635
40636 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
40637 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40638 grub_strcat.
40639
40640 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
40641 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40642 grub_strcpy and grub_strlen. Take it into account that a space
40643 character is inserted as a delimiter.
40644
6a85ce79 406452005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40646
40647 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 40648 invalid magic in the error.
6a85ce79 40649
40650 * commands/search.c: New file.
f19dbdb7 40651
6a85ce79 40652 * util/grub-emu.c (main): Call grub_search_init and
40653 grub_search_fini.
40654
40655 * kern/rescue.c (grub_rescue_print_disks): Removed.
40656 (grub_rescue_print_devices): New function.
40657 (grub_rescue_cmd_ls): Use grub_device_iterate with
40658 grub_rescue_print_devices instead of grub_disk_dev_iterate with
40659 grub_rescue_print_disks.
40660
40661 * kern/partition.c (grub_partition_iterate): Return the result of
40662 PARTMAP->ITERATE instead of GRUB_ERRNO.
40663
40664 * kern/device.c: Include grub/partition.h.
40665 (grub_device_iterate): New function.
40666
40667 * include/grub/partition.h (grub_partition_iterate): Return int
40668 instead of grub_err_t.
40669
40670 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
40671 prototype.
40672 [GRUB_UTIL] (grub_search_fini): Likewise.
40673
40674 * include/grub/device.h (grub_device_iterate): New prototype.
40675
40676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40677 commands/search.c.
40678 (pkgdata_MODULES): Added search.mod.
40679 (search_mod_SOURCES): New variable.
40680 (search_mod_CFLAGS): Likewise.
40681
40682 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
40683 (pkgdata_MODULES): Added search.mod.
40684 (search_mod_SOURCES): New variable.
40685 (search_mod_CFLAGS): Likewise.
40686
40687 * commands/ls.c (grub_ls_list_disks): Renamed to ...
40688 (grub_ls_list_devices): ... this, and use grub_device_iterate.
40689 All callers changed.
40690
40691 * DISTLIST: Added commands/search.c.
40692
ef095434 406932005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40694
40695 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
40696 conversion.
40697 (grub_getcharwidth): New function.
40698
40699 * kern/misc.c (grub_utf8_to_ucs4): New function.
40700
40701 * include/grub/term.h (struct grub_term): Added a new member
40702 "getcharwidth".
40703 (grub_getcharwidth): New prototype.
40704
40705 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
40706
40707 * term/i386/pc/console.c (map_char): New function. Segregated from
40708 grub_console_putchar.
40709 (grub_console_putchar): Use map_char.
40710 (grub_console_getcharwidth): New function.
40711 (grub_console_term): Specified grub_console_getcharwidth as
40712 getcharwidth.
40713
40714 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
40715 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
40716
40717 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
40718 GRUB_ERRNO.
40719 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
40720 on grub_strtoul completely.
40721 (write_char): Declare local variables in the beginning of the
40722 function.
40723 (grub_vesafb_getcharwidth): New function.
40724 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
40725 getcharwidth.
40726
1f0a95e4 407272005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
40728
40729 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
40730 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
40731 commands/i386/pc/vbetest.c.
40732
40733 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
40734 call grub_vbe_get_controller_info again, because the returned
40735 information is volatile.
40736 (grub_vbe_set_video_mode): Mostly rewritten.
40737 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
40738 grub_vbe_status_t correctly.
40739 (grub_vbe_get_video_mode_info): Likewise.
40740 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
40741 several if statements.
40742
40743 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
40744 * commands/i386/pc/vbeinfo.c: ... this.
40745
40746 * commands/i386/pc/vbe_test.c: Renamed to ...
40747 * commands/i386/pc/vbetest.c: ... this.
40748
40749 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
40750 ...
40751 (grub_cmd_vbeinfo): ... this. Save video modes before
40752 iterating. Skip a video mode, if it is not available, not enough
40753 information is given or it is monochrome. Show the memory
40754 model. Leave the interpretation of MODEVAR to grub_strtoul
40755 completely.
40756 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
40757 (GRUB_MOD_FINI): Likewise.
40758
40759 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
40760 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
40761 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
40762 duplicated grub_env_get. Leave the interpretation of MODEVAR to
40763 grub_strtoul completely.
40764 (real2pm): Removed.
40765 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
40766 (GRUB_MOD_FINI): Likewise.
40767
40768 * normal/misc.c: Include grub/mm.h.
40769
40770 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
40771 vbe_list_modes with vbetest.mod and vbeinfo.mod.
40772 (vbe_list_modes_mod_SOURCES): Removed.
40773 (vbe_list_modes_mod_CFLAGS): Likewise.
40774 (vbe_test_mod_SOURCES): Likewise.
40775 (vbe_test_mod_CFLAGS): Likewise.
40776 (vbeinfo_mod_SOURCES): New variable.
40777 (vbeinfo_mod_CFLAGS): Likewise.
40778 (vbetest_mod_SOURCES): Likewise.
40779 (vbetest_mod_CFLAGS): Likewise.
40780
992ffbbe 407812005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
40782
40783 * normal/misc.c: New file.
40784
40785 * DISTLIST: Added normal/misc.c.
f19dbdb7 40786
992ffbbe 40787 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
40788 DISK to HOOK. Call HOOK with DISK.
40789 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40790 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40791 * partmap/sun.c (sun_partition_map_iterate): Likewise.
40792
40793 * normal/menu_entry.c (struct screen): Added a new member
40794 "completion_shown".
40795 (completion_buffer): New global variable.
40796 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
40797 (store_completion): New function.
40798 (complete): Likewise.
40799 (clear_completions): Likewise.
40800 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
40801 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
40802 a tab, call complete.
40803
40804 * normal/completion.c (disk_dev): Removed.
40805 (print_simple_completion): Likewise.
40806 (print_partition_completion): Likewise.
40807 (print_func): New global variable.
40808 (add_completion): Do not take the arguments WHAT or PRINT any
40809 longer. Added a new argument TYPE. Instead of printing directly,
40810 call PRINT_FUNC if not NULL.
40811 All callers changed.
40812 (complete_device): Use a local variable DEV instead of
40813 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
40814 (grub_normal_do_completion): Take a new argument HOOK. Do not
40815 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
40816 empty string, return NULL instead.
40817 All callers changed.
40818
40819 * normal/cmdline.c (print_completion): New function.
40820
40821 * kern/partition.c (grub_partition_iterate): Add an argument DISK
40822 to HOOK.
40823 All callers changed.
40824
40825 * kern/disk.c (grub_print_partinfo): Removed.
40826
40827 * include/grub/partition.h (struct grub_partition_map): Add a new
40828 argument DISK into HOOK of ITERATE.
40829 (grub_partition_iterate): Add a new argument DISK to HOOK.
40830
40831 * include/grub/normal.h (enum grub_completion_type): New enum.
40832 (grub_completion_type_t): New type.
40833 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
40834 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
40835 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
40836 (GRUB_COMPLETION_TYPE_FILE): Likewise.
40837 (grub_normal_do_completion): Added a new argument HOOK.
40838 (grub_normal_print_device_info): New prototype.
40839
40840 * include/grub/disk.h (grub_print_partinfo): Removed.
40841
40842 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
40843 (normal_mod_SOURCES): Likewise.
40844 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40845 (normal_mod_SOURCES): Likewise.
40846
40847 * commands/ls.c (grub_ls_list_disks): Use
40848 grub_normal_print_device_info instead of grub_print_partinfo. Free
40849 PNAME.
40850 (grub_ls_list_files): Use grub_normal_print_device_info instead of
40851 duplicating the code.
40852
0bd41162 408532005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40854
40855 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 40856 follow GCS more precisely.
40857 * commands/i386/pc/vbe_test.c: Likewise.
40858 * include/grub/i386/pc/vbe.h: Likewise.
40859 * term/i386/pc/vesafb.c: Likewise.
40860 * video/i386/pc/vbe.c: Likewise.
0bd41162 40861
6323696a 408622005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40863
40864 * DISTLIST: Added term/i386/pc/vesafb.c
40865 DISTLIST: Added video/i386/pc/vbe.c
40866 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
40867 DISTLIST: Added commands/i386/pc/vbe_test.c.
40868 * commands/i386/pc/vbe_list_modes.c: New file.
40869 * commands/i386/pc/vbe_test.c: Likewise.
40870 * term/i386/pc/vesafb.c: Likewise.
40871 * video/i386/pc/vbe.c: Likewise.
40872 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
40873 (grub_vbe_probe) Added prototype.
40874 (grub_vbe_set_video_mode) Likewise.
40875 (grub_vbe_get_video_mode) Likewise.
40876 (grub_vbe_get_video_mode_info) Likewise.
40877 (grub_vbe_set_pixel_rgb) Likewise.
40878 (grub_vbe_set_pixel_index) Likewise.
40879 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
40880 (pkgdata_MODULES): Added vesafb.mod.
40881 (pkgdata_MODULES): Added vbe_list_modes.mod.
40882 (pkgdata_MODULES): Added vbe_test.mod.
40883 (vbe_mod_SOURCES): Added.
40884 (vbe_mod_CFLAGS): Likewise.
40885 (vesafb_mod_SOURCES): Likewise.
40886 (vesafb_mod_CFLAGS): Likewise.
40887 (vbe_list_modes_mod_SOURCES): Likewise.
40888 (vbe_list_modes_mod_CFLAGS): Likewise.
40889 (vbe_test_mod_SOURCES): Likewise.
40890 (vbe_test_mod_CFLAGS): Likewise.
40891
0a74e62f 408922005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
40893
0a74e62f 40894 * normal/command.c (grub_command_execute): If INTERACTIVE is
40895 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
40896 CMDLINE. Disable the pager if INTERACTIVE is true.
40897 All callers are changed.
40898
40899 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
40900 before reading a config file.
40901 * normal/main.c (read_config_file): Even if a command is not
40902 found, register it if it is within an entry.
40903
40904 * util/grub-emu.c: Include sys/types.h and unistd.h.
40905 (options): Added --hold.
40906 (struct arguments): Added a new member "hold".
40907 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
40908 missing.
40909 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
40910 cleared by a debugger, if it is not zero.
40911
40912 * include/grub/normal.h (grub_command_execute): Add an argument
40913 INTERACTIVE.
40914
e51f85ae 409152005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
40916
40917 * DISTLIST: Added include/grub/i386/pc/vbe.h.
40918
e9c6f39b 409192005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
40920
40921 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
40922 program with another one, because the old one didn't detect a bug
40923 in gcc-3.4. Always use regparm 2, because the new test is still
40924 not enough for gcc-4.0. Someone must investigate a simple test
40925 case which detects a bug in gcc-4.0.
40926
8de3495c 409272005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
40928
40929 * DISTLIST: Added normal/completion.c.
40930
40931 * normal/completion.c: New file.
f19dbdb7 40932
8de3495c 40933 * term/i386/pc/console.c (grub_console_getwh): New function.
40934 (grub_console_term): Assign grub_console_getwh to getwh.
40935
40936 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
40937 function is defined in normal/completion.c as
40938 grub_normal_do_completion.
40939 (grub_cmdline_get): Use grub_normal_do_completion instead of
40940 grub_tab_complete.
40941
40942 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
40943 returns non-zero, otherwise return 0.
40944 (grub_partition_iterate): First, probe the partition map. Then,
40945 call ITERATE only for this partition map.
40946
40947 * kern/misc.c (grub_strncmp): Rewritten.
40948
40949 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
40950 returns non-zero. Otherwise return 0.
40951
40952 * include/grub/partition.h (grub_partition_map_iterate): Return
40953 int instead of void.
40954
40955 * include/grub/normal.h (grub_normal_do_completion): New prototype.
40956
40957 * include/grub/misc.h (grub_strncmp): Change the type of N to
40958 grub_size_t.
40959
40960 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
40961 of void.
40962
40963 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 40964 unsigned explicitly before comparing it with I.
8de3495c 40965
40966 * kern/main.c (grub_env_write_root): Add the attribute unused into
40967 VAR.
40968
40969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40970 normal/completion.c.
40971 (normal_mod_SOURCES): Likewise.
40972 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40973 (normal_mod_SOURCES): Likewise.
40974
40975 * normal/command.c (grub_iterate_commands): If ITERATE returns
40976 non-zero, return one immediately.
40977
e85e144b 409782005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
40979
40980 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
40981 * kern/i386/pc/startup.S: Updated Global Descriptor table's
40982 descriptions.
40983 (grub_vbe_get_controller_info): New function.
40984 (grub_vbe_get_mode_info): Likewise.
40985 (grub_vbe_set_mode): Likewise.
40986 (grub_vbe_get_mode): Likewise.
40987 (grub_vbe_set_memory_window): Likewise.
40988 (grub_vbe_get_memory_window): Likewise.
40989 (grub_vbe_set_scanline_length): Likewise.
40990 (grub_vbe_get_scanline_length): Likewise.
40991 (grub_vbe_set_display_start): Likewise.
40992 (grub_vbe_get_display_start): Likewise.
40993 (grub_vbe_set_palette_data): Likewise.
40994 * include/grub/i386/pc/vbe.h: New file.
40995
c46153d2 409962005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40997
40998 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
40999 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41000 * DISTLIST: Likewise.
41001 * kern/ieee1275/of.c: Moved to ...
41002 * kern/ieee1275/ieee1275.c: ... here.
41003
0cb90c45 410042005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41005
41006 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41007 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41008 Pass 0 as `end' parameter to grub_strtoul().
41009
a19fb360 410102005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41011
41012 * include/grub/powerpc/ieee1275/console.h: Do not include
41013 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41014 ifdef.
41015 (grub_console_cur_color): Remove i386-specific prototype.
41016 (grub_console_real_putchar): Likewise.
41017 (grub_console_checkkey): Likewise.
41018 (grub_console_getkey): Likewise.
41019 (grub_console_getxy): Likewise.
41020 (grub_console_gotoxy): Likewise.
41021 (grub_console_cls): Likewise.
41022 (grub_console_setcursor): Likewise.
41023 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41024 Include <grub/machine/console.h>.
41025 * term/ieee1275/ofconsole.c: Likewise.
41026
4ac9bd04 410272005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41028
41029 * Makefile.in (LIBLZO): New variable.
41030
41031 * configure.ac: Check for LZO version 2.
41032
41033 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41034 lzo/lzo1x.h instead of lzo1x.h.
41035
41036 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41037 of -llzo.
41038
41039 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41040 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41041
41042 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41043 copying the data from PARTITION to P.
41044
f4917dfd 410452005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41046
41047 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41048 negative, unload the module.
41049
41050 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41051 map is "pc_partition_map" but not "pc".
41052 (usage): Fix the description. The options are --boot-image and
41053 --core-image but not --boot-file or --core-file.
41054 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41055 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41056 DEFAULT_DIRECTORY.
41057
41058 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41059 --core-file. Specify INSTALL_DEVICE as an argument.
41060
41061 * util/console.c: Include config.h.
41062 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41063 [HAVE_NCURSES_H]: Include ncurses.h.
41064 [HAVE_CURSES_H]: Include curses.h.
41065 [!A_NORMAL] (A_NORMAL): Defined as zero.
41066 [!A_STANDOUT] (A_STANDOUT): Likewise.
41067
41068 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
41069 -lncurses.
41070 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
41071
41072 * configure.ac: Check for curses libraries and headers.
41073
41074 * Makefile.in (LIBCURSES): New variable.
41075
41076 * genmk.rb (Script::rule): Set the executable bits.
41077
41078 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
41079 name of the PC partition map is "pc_partition_map" but not "pc".
41080
0e143073 410812005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41082
41083 * util/i386/pc/grub-install.in (grub_probefs): New variable.
41084 (modules): Likewise.
41085 (usage): Added descriptions for --modules and --grub-probefs.
41086 Handle --modules and --grub-probefs. Save the arguments in MODULES
41087 and GRUB_PROBEFS, respectively.
41088 Auto-detect a filesystem module against GRUBDIR. If the result is
41089 empty and modules are not specified explicitly, abort the
41090 installation. Add the result to MODULES.
41091
41092 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
41093 disk/powerpc/ieee1275/ofdisk.c,
41094 include/grub/powerpc/ieee1275/init.h and
41095 term/powerpc/ieee1275/ofconsole.c.
41096 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
41097 term/ieee1275/ofconsole.c.
41098
41099 * include/grub/powerpc/ieee1275/console.h: Resurrected.
41100
41101 * COPYING: Upgraded to the latest version. Only the address of the
41102 FSF office has changed.
f19dbdb7 41103
efd6e6d5 411042005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41105
41106 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41107 kern/ieee1275.c with kern/ieee1275/of.c.
41108
41109 * kern/ieee1275.c: Moved to ...
41110 * kern/ieee1275/of.c: ... here.
41111
8ceafda2 411122005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
41113
41114 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 41115 readability.
8ceafda2 41116
41117 * config.guess: Updated to the latest version from gnulib.
41118 * config.sub: Likewise.
41119 * install.sh: Likewise.
41120 * mkinstalldirs: Likewise.
41121
41122 * include/grub/console.h: Removed. This file is arch-specific. Do
41123 not put this in include/grub.
41124
41125 * include/grub/i386/pc/console.h: Resurrected.
41126
41127 * util/console.c: Include grub/machine/console.h instead of
41128 grub/console.h.
41129 * util/grub-emu.c: Likewise.
41130
267f6cd9 411312005-08-04 Marco Gerards <metgerards@student.han.nl>
41132
41133 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
41134 hardcoded value.
f19dbdb7 41135
267f6cd9 41136 From Vincent Pelletier <subdino2004@yahoo.fr>
41137 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
41138 Redefined to use grub_getwh.
41139 (grub_term): New member named getwh.
41140 (grub_getwh): New prototype.
41141 * kern/term.c (grub_getwh): New function.
41142 * term/i386/pc/console.c (grub_console_getwh): New function.
41143 (grub_console_term): New member `getwh'.
41144 * term/i386/pc/vga.c (grub_vga_getwh): New function.
41145 (grub_vga_term): New member `getwh'.
0b5abe02 41146 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 41147 grub_ssize_t.
41148 (grub_ofconsole_getw): New function.
41149 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
41150 (grub_ofconsole_term): New field named getwh and new initial
41151 value.
41152
3be7266d 411532005-08-03 Hollis Blanchard <hollis@penguinppc.org>
41154
41155 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
41156 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
41157 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
41158 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
41159 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
41160 of <grub/machine/ieee1275.h>.
41161 * commands/ieee1275/reboot.c: Likewise.
41162 * boot/powerpc/ieee1275/ieee1275.c: Move ...
41163 * kern/ieee1275.c: ... to here. All users updated. Change all
41164 parameter structs to use new type `grub_ieee1275_cell_t'.
41165 * term/powerpc/ieee1275/ofconsole.c: Move ...
41166 * term/ieee1275/ofconsole.c: ... to here. All users updated.
41167 * disk/powerpc/ieee1275/ofdisk.c: Move ...
41168 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
41169 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
41170 to return int.
41171 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
41172 Remove unused prototypes. All users updated.
41173 * include/grub/powerpc/ieee1275/console.h: Removed.
41174 * include/grub/powerpc/ieee1275/ieee1275.h: Define
41175 `grub_ieee1275_cell_t'.
41176 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
41177 Cast comparisons with -1 to the correct type.
41178 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
41179 type to match `grub_ieee1275_entry_fn'.
41180
8b5f3938 411812005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
41182
41183 * DISTLIST: Added util/i386/pc/grub-probefs.c.
41184
41185 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
41186 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
41187 partmap/sun.c.
41188 (grub_probefs_SOURCES): New variable.
41189
41190 * util/i386/pc/grub-probefs.c: New file.
41191
41192 * util/i386/pc/grub-setup.c (main): Call
41193 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
41194 grub_hfs_init and grub_jfs_init to initialize the system. Call
41195 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
41196 grub_pc_partition_map_fini to finish the system.
41197
ea409713 411982005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
41199
41200 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
41201 function.
41202 (grub_multiboot_load_elf32): Likewise.
41203 (grub_multiboot_is_elf64): Likewise.
41204 (grub_multiboot_load_elf64): Likewise.
41205 (grub_multiboot_load_elf): Likewise.
41206 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
41207 an ELF32 or ELF64 file.
41208 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
41209
41210 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
41211 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
41212 NULL before calling FS->LABEL.
41213 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
41214 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
41215 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
41216 before calling FS->LABEL.
41217
141a288b 412182005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
41219
41220 * util/i386/pc/grub-install.in (datadir): New variable.
41221 (libdir): Removed.
41222 (pkgdatadir): New variable.
41223 (pkglibdir): Removed.
41224
0d5f8a54 412252005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
41226
41227 * DISTLIST: Added util/i386/pc/grub-install.in.
41228
41229 * util/i386/pc/grub-install.in: New file.
41230
41231 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
41232 (grub_install_SOURCES): Likewise.
41233
41234 * genmk.rb: Added support for scripts.
41235 (Script): New class.
41236 (scripts): New variable.
41237
41238 * Makefile.in (install-local): Install sbin_SCRIPTS by
41239 INSTALL_SCRIPT.
41240 (uninstall): Remove sbin_SCRIPTS.
41241
41242 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
41243 device, try to get a GRUB device by
41244 grub_util_biosdisk_get_grub_dev.
41245 Free DEST_DEV.
41246
41247 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
41248 description for --device-map.
41249
5f968e1e 412502005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41251
41252 Change the semantics of variable hooks. They now return strings
41253 instead of error values.
f19dbdb7 41254
5f968e1e 41255 * util/i386/pc/grub-setup.c: Include grub/env.h.
41256 (setup): Use grub_device_set_root instead of grub_env_set.
41257
41258 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
41259 grub_env_get instead of grub_device_set_root and
41260 grub_device_get_root, respectively.
41261
41262 * kern/main.c (grub_env_write_root): New function.
41263 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
41264 grub_env_set instead of grub_device_set_root.
41265
41266 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
41267 many variables.
41268 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
41269 rather than calling ENV->WRITE_HOOK afterwards.
41270 (grub_env_get): Return the result of ENV->READ_HOOK rather than
41271 passing a pointer of a pointer.
41272 (grub_register_variable_hook): Change the types of "read_hook" and
41273 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
41274 respectively.
41275 Allocate the default empty string on the heap, because this string
41276 may be freed later.
41277
41278 * kern/device.c: Include grub/env.h.
41279 (grub_device_set_root): Removed.
41280 (grub_device_get_root): Likewise.
41281 (grub_device_open): Use grub_env_get instead of
41282 grub_device_get_root.
41283
41284 * include/grub/env.h (grub_env_read_hook_t): New type.
41285 (grub_env_write_hook_t): Likewise.
41286 (grub_env_var): Change the types of "read_hook" and "write_hook"
41287 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
41288 (grub_register_variable_hook): Likewise.
41289
41290 * include/grub/device.h (grub_device_set_root): Removed.
41291 (grub_device_set_root): Likewise.
41292
41293 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
41294 make sure that DIRNAME terminates with '/', so that
41295 grub_fat_find_dir will fail if PATH is not a directory.
41296
41297 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
41298 from DIRNAME.
41299 Use the qualifier auto for print_files and print_files_long.
41300 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
41301 as a regular file.
41302 Put a newline only if there is no error.
41303 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
41304 used.
41305
896f0afd 413062005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41307
41308 * kern/partition.c (grub_partition_probe): Initialize PART to
41309 NULL. Otherwise, when no partition map is registered, this returns
41310 a garbage.
41311
b28b81b2 413122005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
41313
41314 * partmap/apple.c (apple_partition_map_iterate): Check if POS
41315 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
41316 valid.
41317
5f3607e0 413182005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
41319
41320 * commands/ls.c (grub_ls_list_disks): Print the filesystem
41321 information on each device, if it does not have partitions. Print
41322 "Device" instead of "Disk", because this function is not specific
41323 to disk devices.
41324
41325 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
41326 static to ensure that it is put on the memory rather than a
41327 register.
41328
502c87e8 413292005-07-17 Yoshinori Okuji <okuji@enbug.org>
41330
41331 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
41332 (grub_cat_init): Likewise.
41333 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
41334 (options): Likewise.
41335 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
41336 (grub_configfile_init): Likewise.
41337 * font/manager.c (GRUB_MOD_INIT): Likewise.
41338 * commands/help.c (GRUB_MOD_INIT): Likewise.
41339 (grub_help_init): Likewise.
41340 * normal/command.c (grub_command_init): Likewise.
41341 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
41342 * disk/loopback.c (grub_loop_init): Likewise.
41343 (GRUB_MOD_INIT): Likewise.
41344 * commands/ls.c (grub_ls_init): Likewise.
41345 (GRUB_MOD_INIT): Likewise.
41346 (options): Likewise.
41347 * commands/boot.c (grub_boot_init): Likewise.
41348 (GRUB_MOD_INIT): Likewise.
41349 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
41350 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
41351 (GRUB_MOD_INIT): Likewise.
41352 * commands/cmp.c (grub_cmp_init): Likewise.
41353 (GRUB_MOD_INIT): Likewise.
41354
41355 * normal/arg.c: Use <> instead of "" to include header files.
41356 (SHORT_ARG_HELP): New macro.
41357 (SHORT_ARG_USAGE): Likewise.
41358 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
41359 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
41360 descriptions.
41361 (find_short): Check if C is 'h' or 'u' explicitly.
41362 (grub_arg_show_help): Use space characters instead of tabs. Treat
41363 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
41364 are shown with --help and --usage only if they are not used for
41365 the command itself.
41366 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
41367 'h' and 'u'.
41368
41369 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
41370 const into "longarg". Change the type of "shortarg" to int.
41371
f806d18e 413722005-07-17 Yoshinori Okuji <okuji@enbug.org>
41373
41374 * boot/i386/pc/boot.S (boot_drive_check): New label.
41375
41376 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
41377 macro.
41378
41379 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
41380 which do not pass a boot drive correctly. Copied from GRUB Legacy.
41381
e293232b 413822005-07-17 Yoshinori Okuji <okuji@enbug.org>
41383
41384 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
41385 When turning off Gate A20, skip the check and return immediately,
41386 because this is not fatal usually.
41387
ebedfd00 413882005-07-17 Yoshinori Okuji <okuji@enbug.org>
41389
41390 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
41391 be 0x7C00 instead of 0x8000.
41392
41393 * boot/i386/pc/pxeboot.S: Rewritten.
41394
41395 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
41396 EXT_C.
41397 (gate_a20_check_state): Read a byte from 0x108000. Invert the
41398 result.
41399
654fc59f 414002005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
41401
41402 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
41403 robustness. This routine now supports a BIOS call and System
41404 Control Port A to modify the gate A20.
41405
41406 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41407 Increased to 0x440.
41408
09f9923f 414092005-07-12 Hollis Blanchard <hollis@penguinppc.org>
41410
41411 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
41412 device path and resulting ihandle.
41413 (grub_ofdisk_close): dprintf the ihandle being closed.
41414 (grub_ofdisk_read): dprintf function parameters.
41415 * kern/mm.c (grub_mm_init_region): Likewise.
41416 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
41417 (grub_linux_boot): dprintf the Linux entry point, initrd address and
41418 size, and boot arguments.
41419 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
41420 before loading into memory.
41421 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
41422 before loading into memory.
41423
7ef504d8 414242005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
41425
41426 * kern/mm.c: Added much documentation.
41427 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
41428 8, set to 5 instead of 8.
41429
e0f050c2 414302005-07-10 Yoshinori Okuji <okuji@enbug.org>
41431
41432 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
41433
41434 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
41435 (grub_mkdevicemap_SOURCES): New variable.
41436
41437 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
41438 lib/device.c of GRUB Legacy.
41439
7224189a 414402005-07-10 Yoshinori Okuji <okuji@enbug.org>
41441
41442 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
41443 instead of PATH is NULL.
41444
68c864eb 414452005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
41446
41447 * commands/cmp.c (BUFFER_SIZE): New macro.
41448 (grub_cmd_cmp): Close the right file at the right time. Compare
41449 only data just read. Don't report files of different size as
41450 identical. Dynamically allocate buffers. Move variable
41451 declarations at the beginning of function.
41452
e6f3e614 414532005-07-09 Yoshinori Okuji <okuji@enbug.org>
41454
41455 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
41456 reverse.
41457
f8f1559a 414582004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
41459
41460 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
41461 when backspace is pressed at beginning of line.
41462
39c9d41d 414632005-07-03 Yoshinori Okuji <okuji@enbug.org>
41464
41465 * DISTLIST: Added genfslist.sh.
41466
41467 * normal/main.c (fs_module_list): New variable.
41468 (autoload_fs_module): New function.
41469 (read_fs_list): Likewise.
41470 (grub_normal_execute): Call read_fs_list.
41471
41472 * kern/fs.c (grub_fs_autoload_hook): New variable.
41473 (grub_fs_probe): Added support for auto-loading.
41474
41475 * include/grub/normal.h (struct grub_fs_module_list): New struct.
41476 (grub_fs_module_list_t): New type.
41477
41478 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
41479 (grub_fs_autoload_hook): New prototype.
41480
41481 * genfslist.sh: New file.
f19dbdb7 41482
39c9d41d 41483 * genmk.rb: Added a rule to generate a filesystem list.
41484
121c1d83 414852005-06-30 Marco Gerards <metgerards@student.han.nl>
41486
41487 * configure.ac: Fix the test for cross-compiling.
41488
41489 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
41490 define GRUB_UTIL anymore.
41491
41492 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
41493 so this function works on other systems than just big endian.
41494 (load_modules): Likewise.
41495 (add_segments): Likewise.
41496
e75d76e1 414972005-06-23 Hollis Blanchard <hollis@penguinppc.org>
41498
41499 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
41500 contains `l' modifier, get a long from va_arg().
41501
50b5a0a7 415022005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
41503
41504 * kern/mm.c (grub_free): If the next free block which is being
41505 merged is the first free block, set the first block to the block
41506 being freed.
41507 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
41508
89371b20 415092005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41510
41511 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
41512 `grub_ieee1275_chosen'.
41513
168d6e58 415142005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41515
41516 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
41517 (grub_ieee1275_chosen): New variable.
41518 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
41519 `chosen'.
41520 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
41521 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41522 Rename first argument to `phandle' for consistency.
41523 (grub_ieee1275_get_property_length): Likewise.
41524 (grub_ieee1275_next_property): Likewise. Change type of first argument
41525 to grub_ieee1275_phandle_t.
41526 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
41527 Move export next to declaration.
41528 (grub_ieee1275_chosen): New variable.
41529 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
41530 Correct cosmetic typo.
41531 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
41532 `grub_ieee1275_chosen'.
41533 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
41534 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
41535 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
41536 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
41537 `grub_ieee1275_chosen'.
41538
ca5baa3f 415392005-05-10 Hollis Blanchard <hollis@penguinppc.org>
41540
41541 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
41542 /chosen/bootargs.
41543 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
41544 /chosen/bootargs as "variable=value" pairs.
41545
708b345f 415462005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
41547
41548 * include/grub/misc.h (grub_dprintf): New macro.
41549 (grub_real_dprintf): New prototype.
41550 (grub_strword): Likewise.
41551 (grub_iswordseparator): Likewise.
41552 * kern/misc.c (grub_real_dprintf): New function.
41553 (grub_strword): Likewise.
41554 (grub_iswordseparator): Likewise.
41555
f4c5e67c 415562005-04-30 Hollis Blanchard <hollis@penguinppc.org>
41557
41558 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
41559 (roundup): Remove macro.
41560 (grub_ieee1275_flags): Make static.
41561 (grub_ieee1275_realmode): Remove.
41562 (grub_ieee1275_test_flag): New function.
41563 (grub_ieee1275_set_flag): Likewise.
41564 (find_options): Rename to `grub_ieee1275_find_options'; update
41565 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
41566 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
41567 (cmain): New prototype.
41568 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
41569 `grub_ieee1275_flags' directly.
41570 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
41571 machine/biosdisk.h.
41572 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
41573 Don't include grub/machine/init.h.
41574 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
41575 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41576 Remove prototype.
41577 (grub_ieee1275_realmode): Likewise.
41578 (grub_ieee1275_flag): New enum.
41579 (grub_ieee1275_test_flag): New prototype.
41580 (grub_ieee1275_set_flag): New prototype.
41581 * include/grub/powerpc/ieee1275/init.h: Remove file.
41582 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
41583 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
41584 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
41585 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
41586 comment.
41587 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
41588 `grub_ieee1275_test_flag'.
41589 (grub_ieee1275_encode_devname): Likewise.
41590
ed16607e 415912005-04-21 Hollis Blanchard <hollis@penguinppc.org>
41592
41593 * include/grub/powerpc/ieee1275/ieee1275.h
41594 (grub_ieee1275_encode_devname): New prototype.
41595 (grub_ieee1275_get_filename): Likewise.
41596 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
41597 function.
41598 (grub_set_prefix): Likewise.
41599 (grub_machine_init): Call grub_set_prefix.
41600 * kern/powerpc/ieee1275/openfw.c: Fix typos.
41601 (grub_parse_type): New enum.
41602 (grub_ieee1275_get_devargs): New function.
41603 (grub_ieee1275_get_devname): Likewise.
41604 (grub_ieee1275_parse_args): Likewise.
41605 (grub_ieee1275_get_filename): Likewise.
41606 (grub_ieee1275_encode_devname): Likewise.
41607
be369920 416082005-03-30 Marco Gerards <metgerards@student.han.nl>
41609
41610 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
41611 `grub_loader_unset'.
41612
a5ce3a4a 416132005-03-26 Hollis Blanchard <hollis@penguinppc.org>
41614
41615 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
41616 instead of grub_ieee1275_interpret.
41617 (grub_halt_init): New function.
41618 (grub_halt_fini): Likewise.
41619 (GRUB_MOD_INIT): Correct message grammar.
41620 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
41621 instead of grub_ieee1275_interpret.
41622 (grub_reboot_init): New function.
41623 (grub_reboot_fini): Likewise.
41624 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
41625 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
41626 util/i386/pc/misc.c with commands/ieee1275/halt.c,
41627 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
41628 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
41629 function.
41630 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
41631 Add prototype.
41632 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
41633 prototype.
41634 (grub_halt): Likewise.
41635 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
41636 (cmain): Remove __attribute__((unused)).
41637 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
41638 (grub_heap_len): Likewise.
41639 (grub_machine_fini): New function.
41640 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
41641 (grub_halt): Likewise.
41642 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
41643 function.
41644 * util/powerpc/ieee1275/misc.c: New file.
41645
0058f771 416462005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41647
41648 * DISTLIST: New file.
41649 * gendistlist.sh: Likewise.
f19dbdb7 41650
0058f771 41651 * Makefile.in (COMMON_DISTFILES): Removed.
41652 (BOOT_DISTFILES): Likewise.
41653 (CONF_DISTFILES): Likewise.
41654 (DISK_DISTFILES): Likewise.
41655 (FS_DISTFILES): Likewise.
41656 (INCLUDE_DISTFILES): Likewise.
41657 (KERN_DISTFILES): Likewise.
41658 (LOADER_DISTFILES): Likewise.
41659 (TERM_DISTFILES): Likewise.
41660 (UTIL_DISTFILES): Likewise.
41661 (DISTFILES): Likewise.
41662 (uninstall): Uninstall files in $(pkgdata_DATA).
41663 (DISTLIST): New target.
41664 (distdir): Use the contents of the file DISTLIST to get a list of
41665 distributed files.
41666
46b3b8a5 416672005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41668
41669 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
41670 descriptor. This is ported from GRUB Legacy.
41671
41672 * gencmdlist.sh: Added an extra semicolon to make it work with
41673 old sed versions. Reported by Robert Bihlmeyer
41674 <robbe@orcus.priv.at>.
41675
5822ff87 416762005-03-08 Yoshinori Okuji <okuji@enbug.org>
41677
41678 Automatic loading of commands is supported.
f19dbdb7 41679
5822ff87 41680 * normal/main.c (read_command_list): New function.
41681 (grub_normal_execute): Call read_command_list.
41682
41683 * normal/command.c (grub_register_command): Return zero or CMD.
41684 Allocate CMD->NAME from the heap.
41685 Initialize CMD->MODULE_NAME to zero.
41686 Find the same name as well. If the same command is found and it is
41687 a dummy command, overwrite members. If it is not a dummy command,
41688 return zero.
41689 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
41690 (grub_command_find): If a dummy command is found, load a module
41691 and retry to find a command only once.
41692
41693 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
41694 make sure that each command is loaded.
41695
41696 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
41697 macro.
41698 (struct grub_command): Remove const from the member `name'.
41699 Add a new member `module_name'.
41700 (grub_register_command): Return grub_command_t.
41701
41702 * commands/help.c (grub_cmd_help): Call grub_command_find to make
41703 sure that each command is loaded.
41704
41705 * genmk.rb (PModule::rule): Specify a module name without the
41706 suffix ".mod" to gencmdlist.sh.
41707
7b1f4b57 417082005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41709
41710 * gencmdlist.sh: New file.
f19dbdb7 41711
7b1f4b57 41712 * genmk.rb (PModule::rule): Generate a rule for a command list.
41713 Clean command.lst.
41714 Generate command.lst from $(COMMANDFILES).
41715
41716 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
41717 (DATA): Added $(pkgdata_DATA).
41718 (install-local): Install files in $(pkgdata_DATA).
41719
062aaf39 417202005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41721
41722 * term/i386/pc/vga.c (debug_command): Removed.
41723 (GRUB_MOD_INIT): Do not register the command "debug".
41724
41725 From Hollis Blanchard:
41726 * commands/configfile.c: New file.
41727 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41728 commands/configfile.c.
41729 (pkgdata_MODULES): Added configfile.mod.
41730 (configfile_mod_SOURCES): New variable.
41731 (configfile_mod_CFLAGS): Likewise.
41732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41733 commands/configfile.c.
41734 (pkgdata_MODULES): Added configfile.mod.
41735 (configfile_mod_SOURCES): New variable.
41736 (configfile_mod_CFLAGS): Likewise.
41737 * util/grub-emu.c (main): Call grub_configfile_init and
41738 grub_configfile_fini.
41739 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
41740 prototype.
41741 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 41742
cee01aa6 417432005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41744
41745 * normal/arg.c (grub_arg_show_help): Do not show the bug report
41746 address.
41747
41748 * commands/help.c (grub_cmd_help): Do not print newlines after
41749 the last command in print_command_help.
41750
93f3a1d8 417512005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41752
41753 * commands/default.h: New file.
41754 * commands/timeout.h: Likewise.
41755 * normal/context.c: Likewise.
f19dbdb7 41756
93f3a1d8 41757 * util/misc.c: Do not include sys/times.h.
41758 Include sys/time.h and grub/machine/time.h.
41759 (grub_get_rtc): Rewritten with gettimeofday.
41760
41761 * util/grub-emu.c (main): Call grub_default_init and
41762 grub_timeout_init before grub_normal_init, and call
41763 grub_timeout_fini and grub_default_fini after grub_main.
41764
41765 * util/console.c (grub_ncurses_checkkey): Return the read
41766 character or -1.
41767
41768 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
41769 timeouts.
41770
41771 * normal/main.c (read_config_file): Push MENU. If this fails,
41772 print an error and wait for a user input.
41773 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
41774 If a menu is empty or an error occurs, pop MENU.
41775 (grub_normal_execute): Pop and free MENU after grub_menu_run
41776 returns.
41777
41778 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
41779
41780 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
41781 include time.h.
41782 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41783 without GRUB_UTIL.
41784 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
41785 time.h.
41786 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41787 without GRUB_UTIL.
41788
41789 * include/grub/normal.h (struct grub_menu_list): New struct.
41790 (grub_menu_list_t): New type.
41791 (struct grub_context): New struct.
41792 (grub_context_t): New type.
41793 (grub_register_command): Got rid of EXPORT_FUNC.
41794 (grub_unregister_command): Likewise.
41795 (grub_context_get): New prototype.
41796 (grub_context_get_current_menu): Likewise.
41797 (grub_context_push_menu): Likewise.
41798 (grub_context_pop_menu): Likewise.
41799 [GRUB_UTIL] (grub_default_init): Likewise.
41800 [GRUB_UTIL] (grub_default_fini): Likewise.
41801 [GRUB_UTIL] (grub_timeout_init): Likewise.
41802 [GRUB_UTIL] (grub_timeout_fini): Likewise.
41803
41804 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
41805 commands/timeout.c and normal/context.c.
41806 (pkgdata_MODULES): Added default.mod and timeout.mod.
41807 (normal_mod_SOURCES): Added normal/context.c.
41808 (default_mod_SOURCES): New variable.
41809 (default_mod_CFLAGS): Likewise.
41810 (timeout_mod_SOURCES): Likewise.
41811 (timeout_mod_CFLAGS): Likewise.
41812 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
41813 conf/i386-pc.rmk.
41814 (pkgdata_MODULES): Added default.mod and timeout.mod.
41815 (normal_mod_SOURCES): Added normal/context.c.
41816 (default_mod_SOURCES): New variable.
41817 (default_mod_CFLAGS): Likewise.
41818 (timeout_mod_SOURCES): Likewise.
41819 (timeout_mod_CFLAGS): Likewise.
41820
41821 * Makefile.in (all-local): Added $(MKFILES).
41822
4ed2e1dd 418232005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
41824
41825 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
41826 (grub_emu_SOURCES): Likewise.
41827 (pkgdata_MODULES): Add `sun.mod'.
41828 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41829 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41830 `partmap/sun.c'.
41831 (pkgdata_MODULES): Add `sun.mod'.
41832 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41833 * include/grub/partition.h (grub_sun_partition_map_init): New
41834 prototype.
41835 (grub_sun_partition_map_fini): Likewise.
41836 * partmap/sun.c: New file.
41837 * util/grub-emu.c (main): Initialize and de-initialize the sun
41838 partitionmap support.
41839
4d4e372e 418402005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
41841
41842 This implements an Emacs-like menu entry editor.
f19dbdb7 41843
4d4e372e 41844 * normal/menu_entry.c: New file.
f19dbdb7 41845
4d4e372e 41846 * util/console.c (grub_ncurses_putchar): Translate some Unicode
41847 characters to ASCII.
41848 (saved_char): New variable.
41849 (grub_ncurses_checkkey): Rewritten completely.
41850 (grub_ncurses_getkey): Likewise.
41851 (grub_ncurses_init): Call raw instead of cbreak.
41852
41853 * normal/menu.c (print_entry): Do not put a space.
41854 (init_page): Renamed to ...
41855 (grub_menu_init_page): ... this. All callers changed.
41856 (edit_menu_entry): Removed.
41857 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
41858
41859 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
41860
41861 * kern/misc.c (grub_vprintf): Call grub_refresh.
41862
41863 * normal/menu.c (DISP_LEFT): Renamed to ...
41864 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
41865 * normal/menu.c (DISP_UP): Renamed to ...
41866 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
41867 * normal/menu.c (DISP_RIGHT): Renamed to ...
41868 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
41869 * normal/menu.c (DISP_DOWN): Renamed to ...
41870 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
41871 * normal/menu.c (DISP_HLINE): Renamed to ...
41872 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
41873 * normal/menu.c (DISP_VLINE): Renamed to ...
41874 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
41875 * normal/menu.c (DISP_UL): Renamed to ...
41876 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
41877 * normal/menu.c (DISP_UR): Renamed to ...
41878 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
41879 * normal/menu.c (DISP_LL): Renamed to ...
41880 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
41881 * normal/menu.c (DISP_LR): Renamed to ...
41882 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
41883 * normal/menu.c (TERM_WIDTH): Renamed to ...
41884 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
41885 * normal/menu.c (TERM_HEIGHT): Renamed to ...
41886 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
41887 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
41888 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
41889 * normal/menu.c (TERM_MARGIN): Renamed to ...
41890 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
41891 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
41892 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
41893 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
41894 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
41895 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
41896 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
41897 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
41898 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
41899 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
41900 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
41901 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
41902 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
41903 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
41904 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
41905 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
41906 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
41907 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
41908 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
41909 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
41910 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
41911 All callers changed.
41912
41913 * include/grub/normal.h: New prototype.
41914
41915 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41916 normal/menu_entry.c.
41917 (normal_mod_SOURCES): Likewise.
41918 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41919 (normal_mod_SOURCES): Likewise.
41920
e6b92c8a 419212005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
41922
41923 * include/grub/normal.h (grub_halt_init): New prototype.
41924 (grub_halt_fini): Likewise.
41925 (grub_reboot_init): Likewise.
41926 (grub_reboot_fini): Likewise.
41927
41928 * util/grub-emu.c: Include signal.h.
41929 (main_env): New global variable.
41930 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
41931 catch C-c.
41932 (grub_machine_fini): New function.
41933 (main): Call grub_halt_init and grub_reboot_init before
41934 grub_main, and grub_reboot_fini and grub_halt_fini after it.
41935 Call setjmp with MAIN_ENV to go back afterwards.
41936 Call grub_machine_fini right before return.
41937
41938 * include/grub/util/misc.h: Include setjmp.h.
41939 (main_env): New prototype.
41940
41941 * include/grub/kernel.h (grub_machine_fini): New prototype.
41942 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
41943 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
41944
41945 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
41946 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
41947 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 41948
e6b92c8a 41949 * util/i386/pc/misc.c: New file.
f19dbdb7 41950
e6b92c8a 41951 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41952 util/i386/pc/misc.c, commands/i386/pc/halt.c and
41953 commands/i386/pc/reboot.c.
41954
c642636f 419552005-02-14 Guillem Jover <guillem@hadrons.org>
41956
41957 * include/grub/dl.h (grub_dl_check_header): New prototype.
41958 (grub_arch_dl_check_header): Change return type to grub_err_t,
41959 remove size parameter and export function. Update all callers.
41960 * kern/dl.c (grub_dl_check_header): New function.
41961 (grub_dl_load_core): Use `grub_dl_check_header' instead of
41962 `grub_arch_dl_check_header'. Check ELF type. Check if sections
41963 are inside the core.
41964 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
41965 independent ELF header checks.
41966 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
41967 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
41968 `grub_dl_check_header' instead of explicit checks. Check for the
41969 ELF type.
41970 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
41971 `grub_dl_check_header' instead of explicit checks. Remove arch
41972 specific ELF header checks.
41973
e6b92c8a 41974 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
41975 argument SIZE.
41976
5eabe94b 419772005-02-13 Hollis Blanchard <hollis@penguinppc.org>
41978
41979 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
41980 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
41981
1b14a681 419822005-02-12 Hollis Blanchard <hollis@penguinppc.org>
41983
41984 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 41985 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 41986 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 41987 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 41988 * partmap/amiga.c (amiga_partition_map_iterate): Return
41989 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
41990 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41991
aca108aa 419922005-02-01 Guillem Jover <guillem@hadrons.org>
41993
41994 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
41995 help info.
41996
c9f9c556 419972005-01-31 Marco Gerards <metgerards@student.han.nl>
41998
41999 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42000 Removed prototype.
42001 (grub_rescue_cmd_linux): New prototype.
42002 (grub_rescue_cmd_initrd): Likewise.
42003 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42004 `bi_rec'.
42005 (grub_linux_release_mem): Release the memory for the initrd.
42006 (grub_load_linux): Renamed from this...
42007 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42008 Changed `entry' not to be static. Loop over memory regions to
42009 find another one when the default fails.
42010 (grub_rescue_cmd_initrd): New function.
42011 (grub_linux_init): Remove function.
42012 (grub_linux_fini): Likewise.
42013 (GRUB_MOD_INIT): Register `initrd'.
42014 (GRUB_MOD_FINI): Unregister `initrd'.
42015 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42016 Function removed.
42017 (grub_linux_normal_fini): Likewise.
42018 (GRUB_MOD_INIT): Register `initrd'.
42019 (GRUB_MOD_FINI): Unregister `initrd'.
42020
990cf3aa 420212005-01-31 Marco Gerards <metgerards@student.han.nl>
42022
42023 * commands/help.c: New file.
42024 * normal/arg.c (show_help): Renamed to...
42025 (grub_arg_show_help): ... this.
42026 * commands/i386/pc/halt.c: New file.
42027 * commands/i386/pc/reboot.c: Likewise.
42028 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42029 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42030 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42031 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42032 variables.
42033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42034 `commands/help.c'.
42035 (pkgdata_MODULES): Add `help.mod'.
42036 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42037 * grub/i386/pc/init.h (grub_reboot): New prototype.
42038 (grub_halt): Likewise.
42039 * include/grub/normal.h (grub_arg_show_help): New prototype.
42040 (grub_help_init): Likewise.
42041 (grub_help_fini): Likewise.
42042 * util/grub-emu.c (main): Initialize and deinitialize the help
42043 command.
42044
42045 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42046
42047 * normal/command.c (grub_command_init): Fixed the description of
42048 the `set' and `unset' commands.
42049
420502005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 42051
42052 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42053 function.
42054 * commands/ieee1275/halt.c: New file.
42055 * commands/ieee1275/reboot.c: Likewise.
42056 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42057 `__attribute__ ((unused))'. Some GCS related fixed.
42058 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42059 (grub_suspend_fini): Likewise.
42060 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42061 and `halt.mod'.
42062 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42063 (halt_mod_CFLAGS): New variables.
42064 * include/grub/powerpc/ieee1275/ieee1275.h
42065 (grub_ieee1275_interpret): New prototype.
42066
1ab09cc7 420672005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
42068
42069 * include/grub/misc.h (memmove): New prototype.
42070 (memcpy): Likewise.
42071
8b8cbdb2 420722005-01-22 Hollis Blanchard <hollis@penguinppc.org>
42073
42074 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
42075 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
42076
e3741a27 420772005-01-22 Marco Gerards <metgerards@student.han.nl>
42078
42079 * kern/misc.c (grub_strndup): Function rewritten.
42080
776bd780 420812005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
42082
42083 * normal/menu.c (TERM_WIDTH): Macro redefined.
42084 (TERM_TOP_BORDER_Y): Likewise.
42085 (draw_border): Replaced while-loop by a for-loop. Make the number
42086 of lines consistent with the number of lines displayed in
42087 print_entries. Added a margin below the rectangle.
42088 (print_entry): Make the entry fit in the rectangle.
42089 (print_entries): Display the scroll arrows next to the right
42090 border.
42091
78026bce 420922005-01-21 Marco Gerards <metgerards@student.han.nl>
42093
42094 * fs/minix.c (grub_minix_find_file): Reserve more space for
42095 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
42096 `grub_strncpy' to copy `path' into it.
42097
67bbaf0f 420982005-01-21 Marco Gerards <metgerards@student.han.nl>
42099
42100 Add the loopback device, a device via which files can be accessed
42101 as devices.
f19dbdb7 42102
67bbaf0f 42103 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
42104 (pkgdata_MODULES): Add loopback.mod.
42105 (loopback_mod_SOURCES): New variable.
42106 (loopback_mod_CFLAGS): Likewise.
42107 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42108 `disk/loopback.c'.
42109 (pkgdata_MODULES): Add loopback.mod.
42110 (loopback_mod_SOURCES): New variable.
42111 (loopback_mod_CFLAGS): Likewise.
42112 * disk/loopback.c: new file.
42113 * include/grub/normal.h (grub_loop_init): New prototype.
42114 (grub_loop_fini): New prototype.
42115 * util/grub-emu.c (main): Initialize and de-initialize loopback
42116 support.
42117 * include/grub/disk.h (grub_disk_dev_id): Add
42118 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
42119
6f1c18bd 421202005-01-20 Hollis Blanchard <hollis@penguinppc.org>
42121
42122 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
42123 function.
42124 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
42125 (suspend_mod_SOURCES): New variable.
42126 (suspend_mod_CFLAGS): Likewise.
42127 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
42128 New prototype.
42129 * commands/ieee1275/suspend.c: New file.
42130
b38551da 421312005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42132
42133 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 42134 ((unused))' to `__attribute__ ((used))'.
b38551da 42135 (GRUB_MOD_FINI): Likewise.
42136 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
42137 * genmk.rb (PModule): Assign space to common symbols when linking
42138 modules.
42139
777aff39 421402005-01-20 Marco Gerards <metgerards@student.han.nl>
42141
42142 * include/grub/mm.h (grub_mm_init_region): Change the type of the
42143 `unsigned' arguments to `grub_size_t'.
42144 (grub_malloc): Likewise.
42145 (grub_realloc): Likewise.
42146 (grub_memalign): Likewise.
42147 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
42148 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42149 * util/misc.c (grub_malloc): Likewise.
42150 (grub_realloc): Likewise.
42151 * kern/mm.c (get_header_from_pointer): Change the casts to
42152 `unsigned' into a cast to `grub_size_t'.
42153
42154 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
42155 point to `currnode' when `currnode' is changed.
42156
42157 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
42158 Schottelius <nico-linux@schottelius.org>.
42159
d0ff18e1 421602005-01-09 Hollis Blanchard <hollis@penguinppc.org>
42161
42162 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
42163 (note_path): Remove variable.
42164 (GRUB_IEEE1275_NOTE_NAME): New macro.
42165 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
42166 (grub_ieee1275_note_hdr): New structure.
42167 (grub_ieee1275_note_desc): Likewise.
42168 (grub_ieee1275_note): Likewise.
42169 (load_note): Remove `dir' argument. All callers updated. Remove
42170 `note_img' and `path'. Do not load a file from `note_path'.
42171 Initialize a struct grub_ieee1275_note and write that to `out'.
42172 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
42173
4ca7004c 421742005-01-05 Marco Gerards <metgerards@student.han.nl>
42175
42176 * util/misc.c (grub_util_read_image): Revert last change. It
42177 called `grub_util_read_at', which seeks from the beginning of the
42178 file.
42179
0b412211 421802005-01-04 Hollis Blanchard <hollis@penguinppc.org>
42181
42182 * TODO: Add note about endianness in grub-mkimage.
42183 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
42184 section.
42185 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
42186 (grub_mkimage_SOURCES): New target.
42187 * include/grub/kernel.h (grub_start_addr): Remove variable.
42188 (grub_end_addr): Likewise.
42189 (grub_total_module_size): Likewise.
42190 (grub_kernel_image_size): Likewise.
42191 (GRUB_MODULE_MAGIC): New constant.
42192 (grub_module_info): New structure.
42193 (grub_arch_modules_addr): New prototype.
42194 (grub_get_end_addr): Remove prototype.
42195 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
42196 * include/grub/powerpc/ieee1275/kernel.h: New file.
42197 * include/grub/util/misc.h (grub_util_get_fp_size): New
42198 prototype.
42199 (grub_util_read_at): Likewise.
42200 (grub_util_write_image_at): Likewise.
42201 * kern/main.c (grub_get_end_addr): Remove function.
42202 (grub_load_modules): Call grub_arch_modules_addr instead of using
42203 grub_end_addr. Look for a grub_module_info struct in memory. Use
42204 the grub_module_info fields instead of calling grub_get_end_addr
42205 as loop conditions. Move grub_add_unused_region code here.
42206 (grub_add_unused_region): Remove function.
42207 * kern/i386/pc/init.c: Include grub/cache.h.
42208 (grub_machine_init): Remove call to grub_get_end_addr. Remove
42209 one call to add_mem_region.
42210 (grub_arch_modules_addr): New function.
42211 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
42212 (grub_total_module_size): Likewise.
42213 Include grub/machine/kernel.h.
42214 (grub_arch_modules_addr): New function.
42215 * util/grub-emu.c (grub_end_addr): Remove variable.
42216 (grub_total_module_size): Likewise.
42217 (grub_arch_modules_addr): New function.
42218 * util/misc.c: Include unistd.h.
42219 (grub_util_get_fp_size): New function.
42220 (grub_util_read_at): Likewise.
42221 (grub_util_write_image_at): Likewise.
42222 (grub_util_read_image): Call grub_util_read_at.
42223 (grub_util_write_image): Call grub_util_write_image_at.
42224 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
42225 additional memory in kernel_img for a struct grub_module_info.
42226 Fill in that grub_module_info.
42227 * util/powerpc/ieee1275/grub-mkimage.c: New file.
42228
458786f8 422292005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42230
42231 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
42232 New function.
42233 * include/grub/powerpc/ieee1275/ieee1275.h
42234 (grub_ieee1275_milliseconds): New prototype.
42235 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
42236 Change to 1000.
42237 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
42238 grub_ieee1275_milliseconds.
42239
ac507d1b 422402005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42241
42242 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
42243 variable.
42244 (find_options): New function.
42245 (cmain): Call find_options.
42246 * include/grub/powerpc/ieee1275/ieee1275.h
42247 (grub_ieee1275_realmode): New extern variable.
42248 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
42249 grub_map if grub_ieee1275_realmode is false.
42250
6b8fd1c4 422512004-12-29 Marco Gerards <metgerards@student.han.nl>
42252
42253 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
42254 lines are inserted and make it work like readline. Reported by
42255 Vincent Pelletier <subdino2004@yahoo.fr>.
42256
8514a1e0 422572004-12-28 Marco Gerards <metgerards@student.han.nl>
42258
42259 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
42260
42261 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
42262 `kern/powerpc/cache.S'.
42263
924b6140 422642004-12-27 Marco Gerards <metgerards@student.han.nl>
42265
42266 * genmk.rb: Handle the `Program' class in the main loop. Written
42267 by Johan Rydberg <jrydberg@gnu.org>.
42268 (Program): New class.
42269 (programs): New variable.
42270 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
42271 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
42272 instead of "grub/kernel.h". Include <grub/machine/init.h>.
42273 (help_arch): Function removed.
42274 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
42275 `powerpc/libgcc.h' and `loader.h'.
42276 (pkgdata_PROGRAMS): New variable.
42277 (sbin_UTILITIES): Variable removed.
42278 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
42279 (grubof_SOURCES): Variable re-defined so it only includes the
42280 core functionality.
42281 (grubof_CFLAGS): Remove `-DGRUBOF'.
42282 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
42283 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
42284 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
42285 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
42286 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
42287 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
42288 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
42289 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
42290 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
42291 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
42292 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42293 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
42294 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
42295 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
42296 (pc_mod_CFLAGS): New variables.
42297 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
42298 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
42299 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
42300 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
42301 Moved from here...
42302 * include/grub/i386/pc/init.h (grub_os_area_addr)
42303 (rub_os_area_size): ... to here.
42304 * include/grub/powerpc/ieee1275/ieee1275.h
42305 (grub_ieee1275_entry_fn): Export symbol.
42306 * include/grub/powerpc/ieee1275/init.h: New file.
42307 * include/grub/powerpc/libgcc.h: Likewise.
42308 * include/grub/cache.h: Likewise.
42309 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
42310 <hollis@penguinppc.org>.
42311 * kern/dl.c: Include <grub/cache.h>.
42312 (grub_dl_flush_cache): New function.
42313 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
42314 for this module.
42315 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
42316 (grub_console_init): Removed prototypes.
42317 (grub_machine_init): Don't initialize the modules anymore.
42318 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
42319 static.
42320 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
42321 Macro undef removed.
42322 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
42323 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
42324 relocation `R_PPC_REL32'. Return an error when the relocation is
42325 unknown.
42326 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
42327 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
42328 * util/misc.c (grub_arch_sync_caches): Likewise.
42329
e4b47e0c 423302004-12-19 Marco Gerards <metgerards@student.han.nl>
42331
42332 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
42333 `symlist.c', add `grubof_symlist.c'.
42334 (symlist.c): Variable removed.
42335 (grubof_HEADERS): Variable added.
42336 (grubof_symlist.c): New target.
42337 (kernel_syms.lst): Use `grubof_HEADERS' instead of
42338 `kernel_img_HEADERS'.
42339 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
42340 * kern/powerpc/dl.c: New file.
42341 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
42342 Function removed.
42343 (grub_arch_dl_relocate_symbols): Likewise.
42344 (grub_register_exported_symbols): Likewise.
42345
4ceb3636 423462004-12-13 Marco Gerards <metgerards@student.han.nl>
42347
42348 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
42349 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
42350 to fail instead. Reported by Vincent Pelletier
42351 <subdino2004@yahoo.fr>.
42352
42353 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
42354 it is not allocated. Reported by Vincent Pelletier
42355 <subdino2004@yahoo.fr>.
42356
42357 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
42358 output so the output looks better.
f19dbdb7 42359
3f1578fe 423602004-12-04 Marco Gerards <metgerards@student.han.nl>
42361
42362 Modulize the partition map support and add support for the amiga
42363 partition map.
f19dbdb7 42364
3f1578fe 42365 * commands/ls.c: Include <grub/partition.h> instead of
42366 <grub/machine/partition.h>.
42367 * kern/disk.c: Likewise.
42368 * kern/rescue.c: Likewise.
42369 * loader/i386/pc/chainloader.c: Likewise.
42370 * normal/cmdline.c: Likewise.
42371 * kern/powerpc/ieee1275/init.c: Likewise.
42372 (grub_machine_init): Call `grub_pc_partition_map_init',
42373 `grub_amiga_partition_map_init' and
42374 `grub_apple_partition_map_init'.
42375 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
42376 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
42377 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
42378 `partition.h' and `pc_partition.h'.
42379 (grub_setup_SOURCES): Remove
42380 `disk/i386/pc/partition.c'. Add `kern/partition.c',
42381 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42382 (grub_emu_SOURCES): Likewise.
42383 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
42384 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
42385 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
42386 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42387 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
42388 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42389 (grubof_SOURCES): Likewise.
42390 * disk/i386/pc/partition.c: File removed.
42391 * disk/powerpc/ieee1275/partition.c: Likewise.
42392 * include/grub/powerpc/ieee1275/partition.h: Likewise.
42393 * include/grub/i386/pc/partition.h: Likewise.
42394 * kern/partition.c: New file.
42395 * partmap/amiga.c: Likewise.
42396 * partmap/apple.c: Likewise.
42397 * partmap/pc.c: Likewise.
42398 * include/grub/partition.h: Likewise..
42399 * include/grub/pc_partition.h: Likewise.
42400 * util/grub-emu.c: Include <grub/partition.h> instead of
42401 <grub/machine/partition.h>.
42402 (main): Call `grub_pc_partition_map_init',
42403 `grub_amiga_partition_map_init' and
42404 `grub_apple_partition_map_init' and deinitialize afterwards.
42405 * util/i386/pc/biosdisk.c: Include `#include
42406 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42407 `<grub/machine/partition.h>'.
42408 * util/i386/pc/grub-setup.c: Likewise.
42409 * util/i386/pc/biosdisk.c: Likewise.
42410 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
42411 partition information in case of a PC partition.
42412 * util/i386/pc/grub-setup.c: Include `#include
42413 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42414 `<grub/machine/partition.h>'.
42415 (setup): Only access the PC specific partition information in case
42416 of a PC partition.
42417
0ef4ced9 424182004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42419
0ef4ced9 42420 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
42421 (grub_longjmp): Likewise.
42422 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
42423 20.
42424 * normal/powerpc/setjmp.S: New file.
42425 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42426 `normal/powerpc/setjmp.S'.
42427 (grubof_CFLAGS): Add `-DGRUBOF'.
42428 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
42429 [GRUB_UTIL && !GRUBOF].
f19dbdb7 42430
19950e29 424312004-11-16 Marco Gerards <metgerards@student.han.nl>
42432
42433 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
42434 property named `name'. Correctly handle the error returned by
42435 `grub_ieee1275_finddevice' if a device can not be opened.
42436
a2fea427 424372004-11-02 Hollis Blanchard <hollis@penguinppc.org>
42438
42439 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
42440 `actual' for negativity.
42441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42442 kern/fshelp.c.
42443
41ea0ea3 424442004-11-01 Marco Gerards <metgerards@student.han.nl>
42445
42446 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
42447 (PAGE_OFFSET): New macro.
42448 (CRTC_ADDR_PORT): Likewise.
42449 (CRTC_DATA_PORT): Likewise.
42450 (START_ADDR_HIGH_REGISTER): Likewise.
42451 (START_ADDR_LOW_REGISTER): Likewise.
42452 (GRAPHICS_ADDR_PORT): Likewise.
42453 (GRAPHICS_DATA_PORT): Likewise.
42454 (READ_MAP_REGISTER): Likewise.
42455 (INPUT_STATUS1_REGISTER): Likewise.
42456 (INPUT_STATUS1_VERTR_BIT): Likewise.
42457 (page): New variable.
42458 (wait_vretrace): New function.
42459 (set_read_map): Likewise.
42460 (set_start_address): Likewise.
42461 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
42462 the right page.
42463 (check_vga_mem): Take the page into account.
42464 (write_char): Likewise.
42465 (write_cursor): Likewise.
42466 (scroll_up): Likewise. Copy the page to the page that is not
42467 shown and switch between both pages.
42468 (grub_vga_putchar): Fix off by one error.
42469 (grub_vga_cls): Wait for the vertical retrace. Take the page into
42470 account.
42471
ad0bd20b 424722004-11-01 Marco Gerards <metgerards@student.han.nl>
42473
42474 Add support for iso9660 (including rockridge).
f19dbdb7 42475
ad0bd20b 42476 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42477 (iso9660_mod_SOURCES): New variable.
42478 (iso9660_mod_CFLAGS): Likewise.
42479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42480 * include/grub/fs.h (grub_iso9660_init): New prototype.
42481 * util/grub-emu.c (main): Call `grub_iso9660_init'.
42482 * fs/iso9660.c: New file.
42483
42484 * include/grub/misc.h (grub_strncat): New prototype.
42485 * kern/misc.c (grub_strncat): New function.
f19dbdb7 42486
ad0bd20b 42487 * fs/hfs.c (grub_hfs_mount): Translate the error
42488 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
42489 * fs/jfs.c (grub_jfs_mount): Likewise.
42490 * fs/ufs.c (grub_ufs_mount): Likewise.
42491
a5477a59 424922004-10-28 Hollis Blanchard <hollis@penguinppc.org>
42493
42494 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
42495 which initialized BAT registers.
42496 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
42497 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42498 Move from here...
42499 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
42500 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42501 ... to here.
42502 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
42503 (grub_mapclaim): Likewise.
42504 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
42505 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
42506 hand.
42507
9304c1f8 425082004-10-19 Hollis Blanchard <hollis@penguinppc.org>
42509
42510 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
42511 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
42512 -ffreestanding and -msoft-float.
42513
86f4ae25 425142004-10-15 Hollis Blanchard <hollis@penguinppc.org>
42515
42516 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
42517 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
42518 set in grub_ieee1275_flags.
42519
38912228 425202004-10-14 Hollis Blanchard <hollis@penguinppc.org>
42521
42522 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
42523 prototype.
42524 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
42525 grub_console_init first.
42526 Change the memory range used for grub_ieee1275_claim and
42527 grub_mm_init_region.
42528 Print an error message if the claim fails.
42529 Include <grub/misc.h>.
42530
d1923dc8 425312004-10-13 Hollis Blanchard <hollis@penguinppc.org>
42532
42533 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
42534 Call grub_children_iterate for device nodes of type `scsi',
42535 `ide', or `ata'.
42536 (grub_ofdisk_open): Remove manual device alias resolution.
42537 Fix memory leak when device cannot be opened.
f19dbdb7 42538 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 42539 (grub_children_iterate): New prototype.
42540 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
42541 New function.
42542 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42543 Return -1 if args.size was -1.
42544
4512e4f3 425452004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42546
42547 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
42548 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
42549 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
42550 Open Firmware's memory for it; claim memory from _start to _end.
42551 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
42552 (_end): New extern.
42553 (_start): Zero BSS from __bss_start to _end.
42554 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42555 New extern.
42556 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
42557
4d61feb0 425582004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42559
ad0bd20b 42560 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
42561 -1 if args.base was -1.
4d61feb0 42562
026fa2f9 425632004-10-08 Hollis Blanchard <hollis@penguinppc.org>
42564
42565 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
42566 escape sequence instead of a literal ^L. Also call
42567 grub_ofconsole_gotoxy.
42568
9f2220ef 425692004-10-03 Hollis Blanchard <hollis@penguinppc.org>
42570
42571 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
42572 void * arguments to grub_addr_t. All callers updated. Also make
42573 the `result' argument optional.
42574 (grub_ieee1275_release): change void * arguments to grub_addr_t.
42575 All callers updated.
42576
8a572cd7 425772004-09-22 Hollis Blanchard <hollis@penguinppc.org>
42578
42579 * commands/ls.c (grub_ls_list_files): Use the string following the
42580 initial ')', if present, as the filesystem path.
42581 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
42582
42583 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
42584
18aa81f2 425852004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
42586
42587 Make the source code of the menu interface more readable.
f19dbdb7 42588
18aa81f2 42589 * normal/menu.c: Include grub/mm.h.
42590 (TERM_WIDTH): New macro.
42591 (TERM_HEIGHT): Likewise.
42592 (TERM_INFO_HEIGHT): Likewise.
42593 (TERM_MARGIN): Likewise.
42594 (TERM_SCROLL_WIDTH): Likewise.
42595 (TERM_TOP_BORDER_Y): Likewise.
42596 (TERM_LEFT_BORDER_X): Likewise.
42597 (TERM_BORDER_WIDTH): Likewise.
42598 (TERM_MESSAGE_HEIGHT): Likewise.
42599 (TERM_BORDER_HEIGHT): Likewise.
42600 (TERM_NUM_ENTRIES): Likewise.
42601 (TERM_FIRST_ENTRY_Y): Likewise.
42602 (TERM_ENTRY_WIDTH): Likewise.
42603 (TERM_CURSOR_X): Likewise.
42604 (draw_border): Use macros instead of magic numbers.
42605 (print_entry): Likewise.
42606 (print_entries): Likewise.
42607 (run_menu): Likewise. Also, handle the key 'e'.
42608 (run_menu_entry): Ignore empty command lines.
42609 (print_message): Added a new argument EDIT. If EDIT is true,
42610 print a different message.
42611 (init_page): Likewise.
42612 (edit_menu_entry): New function. Not implemented yet.
42613
b47efe30 426142004-09-17 Marco Gerards <metgerards@student.han.nl>
42615
42616 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
42617 can be loaded from normal mode.
f19dbdb7 42618
b47efe30 42619 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
42620 `multiboot.mod'.
42621 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
42622 (multiboot_mod_CFLAGS): New variables.
42623 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 42624 * loader/i386/pc/multiboot_normal.c: Likewise.
42625
b47efe30 42626 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
42627 attribute `unused'.
f19dbdb7 42628
b47efe30 42629 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
42630 `fdiro' to read the mode information from instead of `diro'.
42631
42632 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
42633 looking up a symlink.
42634
42635 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
42636 macro.
42637 * normal/command.c (grub_command_execute): Don't parse the
42638 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
42639 flags of the command.
42640
42641 * normal/menu.c (grub_menu_run): Fix typo.
42642
da75ac71 426432004-09-14 Hollis Blanchard <hollis@penguinppc.org>
42644
42645 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
42646
42647 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
42648 `y + 1' instead of `y - 1'.
42649
42650 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 42651
062b24c2 426522004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
42653
42654 From Hollis Blanchard <hollis@penguinppc.org>:
42655 * kern/misc.c (memmove): New alias for grub_memmove.
42656 (memcmp): New alias for grub_memcmp.
42657 (memset): New alias for grub_memset.
f19dbdb7 42658 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 42659 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 42660 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 42661 (grub_ieee1275_get_property): Likewise.
f19dbdb7 42662
8ddad845 426632004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
42664
42665 Added normal mode command `chainloader' as module chain.mod, which
42666 depends on normal.mod and _chain.mod.
f19dbdb7 42667
8ddad845 42668 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
42669 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
42670 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
42671 Deleted prototype.
42672 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
42673 but arguments parsing moved to ...
42674 (grub_chainloader_cmd): ... here. New function.
42675 * include/grub/i386/pc/chainloader.h: New file.
42676 * loader/i386/pc/chainloader_normal.c: Likewise.
42677
2c1f4ce3 426782004-09-11 Marco Gerards <metgerards@student.han.nl>
42679
42680 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
42681 (grub_mkimage_LDFLAGS): Likewise.
42682 (grub_emu_SOURCES): Likewise.
42683 (kernel_img_HEADERS): Added fshelp.h.
42684 * fs/ext2.c: Include <grub/fshelp.h>.
42685 (FILETYPE_REG): New macro.
42686 (FILETYPE_INO_REG): Likewise.
42687 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
42688 Changed all users.
42689 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
42690 all users.
42691 (grub_fshelp_node): New struct.
42692 (grub_ext2_data): Added member `diropen'. Changed member `inode'
42693 to a pointer.
42694 (grub_ext2_get_file_block): Removed function.
42695 (grub_ext2_read_block): New function.
42696 (grub_ext2_read_file): Replaced parameter `data' by `node'.
42697 This function was written.
42698 (grub_ext2_mount): Read the root inode. Create a diropen struct.
42699 (grub_ext2_find_file): Removed function.
42700 (grub_ext2_read_symlink): New function.
42701 (grub_ext2_iterate_dir): Likewise.
42702 (grub_ext2_open): Rewritten.
42703 (grub_ext2_dir): Rewritten.
42704 * include/grub/fshelp.h: New file.
42705 * fs/fshelp.c: Likewise.
42706
3c52136a 427072004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
42708
42709 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
42710 (print_message): Add a missing newline.
42711 (run_menu): Added timeout support.
42712 (run_menu_entry): New local function.
42713 (grub_menu_run): Added support for booting.
42714
42715 * kern/loader.c (grub_loader_is_loaded): New function.
42716
42717 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
42718 (grub_get_rtc): Exported.
42719
42720 * include/grub/i386/pc/time.h: Include grub/symbol.h.
42721 (grub_get_rtc): Exported.
42722
42723 * include/grub/normal.h (struct grub_command_list): Remove
42724 constant from the member `command'.
42725
42726 * include/grub/loader.h (grub_loader_is_loaded): Declared.
42727
42728 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
42729
42730 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
42731
aa033560 427322004-08-28 Marco Gerards <metgerards@student.han.nl>
42733
42734 Add support for the JFS filesystem.
42735
42736 * fs/jfs.c: New file.
42737 * include/grub/fs.h (grub_jfs_init): New prototype.
42738 (grub_jfs_fini): New prototype.
42739 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
42740 (grub_emu_SOURCES): Likewise.
42741 (pkgdata_MODULES): Add jfs.mod.
42742 (jfs_mod_SOURCES): New variable.
42743 (jfs_mod_CFLAGS): Likewise.
42744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
42745 (grubof_SOURCES): Likewise.
42746 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
42747
42748 * fs/fat.c (grub_fat_find_dir): Convert the filename little
42749 endian to the host endian.
42750 (grub_fat_utf16_to_utf8): Move function from there...
42751 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 42752 the endianness of the source string anymore.
aa033560 42753 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
42754
94bc45af 427552004-08-24 Marco Gerards <metgerards@student.han.nl>
42756
42757 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
42758 (grub_boot_fini) [GRUB_UTIL]: Likewise.
42759 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
42760 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 42761
94bc45af 42762 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
42763 (grub_hfs_iterate_dir): Make the function static. Add prototypes
42764 for `node_found' and `it_dir'.
42765 (grub_hfs_dir): Add prototype for `dir_hook'.
42766
42767 * fs/minix.c (grub_minix_get_file_block): Add prototype for
42768 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
42769 and `indir32' to silence a gcc warning.
42770
42771 * include/grub/fs.h (grub_hfs_init): New prototype.
42772 (grub_hfs_fini): Likewise.
f19dbdb7 42773
42774
97543f08 427752004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42776
42777 Each disk device has its own id now. This is useful to make use
42778 of multiple disk devices.
f19dbdb7 42779
97543f08 42780 * include/grub/disk.h (grub_disk_dev_id): New enum.
42781 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
42782 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
42783
42784 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
42785 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42786
42787 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
42788 GRUB_DISK_DEVICE_OFDISK_ID as an id.
42789
42790 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
42791 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42792
42793 * include/grub/disk.h (struct grub_disk_dev): Added a new member
42794 "id" which is used by the cache manager.
42795
42796 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
42797 of just "GRUB".
42798
64372eb4 427992004-08-18 Marco Gerards <metgerards@student.han.nl>
42800
42801 * fs/hfs.c: New file.
42802 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
42803 (grub_emu_SOURCES): Likewise.
42804 (pkgdata_MODULES): Add hfs.mod.
42805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
42806 (grubof_SOURCES): Likewise.
42807 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
42808
42809 * include/grub/misc.h (grub_strncasecmp): Add prototype.
42810 * kern/misc.c (grub_strncasecmp): Add function.
42811
cc61b58f 428122004-08-14 Marco Gerards <metgerards@student.han.nl>
42813
42814 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
42815 with parentheses.
42816
42817 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
42818 (grub_ext2_dir): In case the directory entry type is unknown, read
42819 it from the inode.
42820
0ef123f6 428212004-08-02 Peter Bruin <pjbruin@dds.nl>
42822
42823 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
42824 grub_load_linux instead of grub_rescue_cmd_linux as second
42825 argument of grub_rescue_register_command.
42826
42827 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
42828
a447c5df 428292004-07-27 Marco Gerards <metgerards@student.han.nl>
42830
42831 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
42832 function.
42833 * commands/boot.c: Remove the check for `GRUB_UTIL'.
42834 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42835 `loader/powerpc/ieee1275/linux.c',
42836 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
42837 * include/grub/powerpc/ieee1275/ieee1275.h
42838 (grub_ieee1275_release): New prototype.
42839 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
42840 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
42841 normal, boot, linux and linux_normal.
42842 * loader/powerpc/ieee1275/linux.c: New file.
42843 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42844
5a9e3546 428452004-07-12 Marco Gerards <metgerards@student.han.nl>
42846
42847 * normal/arg.c (grub_arg_parse): Correct error handling after
42848 reallocating the argumentlist (check if `argl' is not null instead
42849 of checking if `args' is not null).
42850 * kern/mm.c (grub_realloc): Return the same pointer when using the
42851 same region, instead of returning the header address.
42852
e15199cb 428532004-07-11 Marco Gerards <metgerards@student.han.nl>
42854
42855 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
42856 one block instead of two when looking for the initial partition.
42857 (grub_partition_probe): Initialize the local variable `p' with 0.
42858 Use base 10 for the grub_strtoul call.
42859 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
42860 need for one local variable.
42861 (grub_strtoul): Don't add the new value to `num', instead of that
42862 just assign it.
42863
020616c2 428642004-07-11 Marco Gerards <metgerards@student.han.nl>
42865
42866 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
42867 (pxeboot_img_SOURCES): New variable.
42868 (pxeboot_img_ASFLAGS): Likewise.
42869 (pxeboot_img_LDFLAGS): Likewise.
42870 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
42871 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
42872 <lode_leroy@hotmail.com>.
42873
6c51eb64 428742004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42875
42876 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
42877 there was no input.
42878
cfb12aff 428792004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42880
42881 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
42882 the history buffer logic.
42883
6eabba74 428842004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42885
42886 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
42887 (FILETYPE_INO_SYMLINK): New macros.
42888 (grub_ext2_find_file): Check if the node is a directory using the
42889 inode stat information instead of using the filetype in the
42890 dirent. Exclude the first character of an absolute symlink.
42891 (grub_ext2_dir): Mask out the filetype part of the mode member of
42892 the inode.
42893
66e19ef8 428942004-05-24 Marco Gerards <metgerards@student.han.nl>
42895
42896 Add support for UFS version 1 and 2. Add support for the minix
42897 filesystem version 1 and 2, both the variants with 14 and 30 long
42898 filenames.
f19dbdb7 42899
66e19ef8 42900 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
42901 fs/minix.c.
42902 (grub_emu_SOURCES): Likewise.
42903 (pkgdata_MODULES): Add ufs.mod and minix.mod.
42904 (ufs_mod_SOURCES): New variable.
42905 (ufs_mod_CFLAGS): Likewise.
42906 (minix_mod_SOURCES): Likewise.
42907 (minix_mod_CFLAGS): Likewise.
42908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
42909 fs/minix.c.
42910 (grubof_SOURCES): Likewise.
42911 * fs/ufs.c: New file.
42912 * fs/minix.c: New file.
42913 * include/grub/fs.h (grub_ufs_init): New prototype.
42914 (grub_ufs_fini): Likewise.
42915 (grub_minix_init): Likewise.
42916 (grub_minix_fini): Likewise.
42917 * util/grub-emu.c (main): Initialize and deinitialize UFS and
42918 minix fs.
42919
cc2e748a 429202004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
42921
42922 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
42923 commands/ls.c, commands/terminal.c, commands/boot.c,
42924 commands/cmp.c and commands/cat.c.
42925 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
42926
42927 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
42928 "env.h"
42929
4b13b216 429302004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
42931
42932 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
42933 and grub_, respectively. Because the conversion is trivial and
42934 mechanical, I omit the details here. Please refer to the CVS
42935 if you need more information.
42936
6a142551 429372004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
42938
42939 * include/pupa: Renamed to ...
42940 * include/grub: ... this.
42941 * util/i386/pc/pupa-mkimage.c: Renamed to ...
42942 * util/i386/pc/grub-mkimage.c: ... this.
42943 * util/i386/pc/pupa-setup.c: Renamed to ...
42944 * util/i386/pc/grub-setup.c: ... this.
42945 * util/pupa-emu.c: Renamed to ...
42946 * util/grub-emu.c: ... this.
42947
e56cdf21 429482004-03-29 Marco Gerards <metgerards@student.han.nl>
42949
42950 Add support for the newworld apple macintosh (PPC). This has been
42951 tested on the powerbook 2000 only. It only adds support for
42952 generic ieee1275 functions, console and disk support. This should
42953 be easy to port to other architectures with support for Open
42954 Firmware.
f19dbdb7 42955
e56cdf21 42956 * configure.ac: Accept the powerpc as host_cpu. In the case of
42957 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
42958 specific tests are only executed while building for the i386.
42959 Inverse test for crosscompile.
42960 * genmk.rb (Utility): Allow assembler files.
42961 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
42962 * conf/powerpc-ieee1275.rmk: New file.
42963 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
42964 * disk/powerpc/ieee1275/partition.c: Likewise.
42965 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
42966 * include/pupa/powerpc/ieee1275/console.h: Likewise.
42967 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
42968 * include/pupa/powerpc/ieee1275/time.h: Likewise.
42969 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
42970 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
42971 * include/pupa/powerpc/ieee1275/loader.h
42972 * include/pupa/powerpc/setjmp.h: Likewise.
42973 * include/pupa/powerpc/types.h: Likewise.
42974 * kern/powerpc/ieee1275/init.c: Likewise.
42975 * kern/powerpc/ieee1275/openfw.c: Likewise.
42976 * term/powerpc/ieee1275/ofconsole.c: Likewise.
42977
42978 These files were written by Johan Rydberg
42979 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 42980
e56cdf21 42981 * boot/powerpc/ieee1275/cmain.c: New file.
42982 * boot/powerpc/ieee1275/crt0.S: Likewise.
42983 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
42984 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
42985
8c8cc205 429862004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
42987
42988 * Makefile.in: Update copyright.
42989 * genmodsrc.sh: Likewise.
42990 * gensymlist.sh: Likewise.
42991 * term/i386/pc/vga.c: Indent correctly.
42992
42993 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
42994 bugreporting address.
42995 * util/i386/pc/pupa-setup.c (usage): Likewise,
42996 (main): Call pupa_ext2_init and pupa_ext2_fini.
42997
f19dbdb7 42998 * fs/fat.c (log2): Renamed to ...
8c8cc205 42999 (fat_log2): ... this.
43000 All callers changed.
43001 * kern/misc.c (memcpy): Alias to pupa_memmove.
43002 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43003 lvalue cast.
43004 * util/console.c (pupa_ncurses_fini): Return 0.
43005
43006 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43007 Move fail label here.
43008 [__GNU__]: Don't warn when using stat.
43009 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43010 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43011 long int. Use strtol instead of strtoul.
f19dbdb7 43012
db1771cf 430132004-03-14 Marco Gerards <metgerards@student.han.nl>
43014
43015 * commands/boot.c: New file.
43016 * commands/cat.c: Likewise.
43017 * commands/cmp.c: Likewise.
43018 * commands/ls.c: Likewise.
43019 * commands/terminal.c: Likewise.
43020 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43021 (pupa_register_command): Changed interface to match the new
43022 argument parser.
43023 (pupa_command_execute): Changed (almost rewritten) so it uses
43024 pupa_split_command. Added support for setting variables using the
43025 syntax `foo=bar'.
43026 (rescue_command): Changed to work with the new argument parser.
43027 (terminal_command): Moved from here to commands/terminal.c.
43028 (set_command): New function.
43029 (unset_command): New function.
43030 (insmod_command): New function.
43031 (rmmod_command): New function.
43032 (lsmod_command): New function.
43033 (pupa_command_init): Don't initialize the command terminal
43034 anymore. Initialize the commands set, unset, insmod, rmmod and
43035 lsmod.
43036 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43037 (kernel_img_HEADERS): Add arg.h and env.h.
43038 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43039 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43040 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43041 normal/arg.c.
43042 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43043 terminal.mod.
43044 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43045 (boot_mod_SOURCES): New variable.
43046 (terminal_mod_SOURCES): Likewise.
43047 (ls_mod_SOURCES): Likewise.
43048 (cmp_mod_SOURCES): Likewise.
43049 (cat_mod_SOURCES): Likewise.
43050
43051 * normal/arg.c: New file.
43052 * kern/env.c: Likewise.
43053 * include/pupa/arg.h: Likewise.
43054 * include/pupa/env.h: Likewise.
43055 * font/manager.c (font_command): Changed to match argument parsing
43056 interface changes.
43057 (PUPA_MOD_INIT): Likewise.
43058 * hello/hello.c (pupa_cmd_hello): Likewise.
43059 (PUPA_MOD_INIT): Likewise.
43060 * include/pupa/disk.h: Include <pupa/device.h>.
43061 (pupa_print_partinfo): New prototype.
43062 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43063 (pupa_dl_get_prefix): Likewise.
43064 * include/pupa/misc.h: Include <pupa/err.h>.
43065 (pupa_isgraph): New prototype.
43066 (pupa_isdigit): Likewise.
43067 (pupa_split_cmdline): Likewise.
43068 * include/pupa/normal.h: Include <pupa/arg.h>.
43069 (pupa_command): Changed the prototype of the member `func' to
43070 match the argument parsing interface. Added member `options'.
43071 (pupa_register_command): Updated to match function.
43072 (pupa_arg_parse): New prototype.
43073 (pupa_hello_init) [PUPA_UTIL]: New prototype.
43074 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
43075 (pupa_ls_init) [PUPA_UTIL]: Likewise.
43076 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
43077 (pupa_cat_init) [PUPA_UTIL]: Likewise.
43078 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
43079 (pupa_boot_init) [PUPA_UTIL]: Likewise.
43080 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
43081 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
43082 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
43083 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
43084 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
43085 * kern/disk.c: Include <pupa/file.h>.
43086 (pupa_print_partinfo): New function.
43087 * kern/dl.c: Include <pupa/env.h>.
43088 (pupa_dl_dir): Variable removed.
43089 (pupa_dl_load): Use the environment variable `prefix' instead of
43090 the variable pupa_dl_dir.
43091 (pupa_dl_set_prefix): Function removed.
43092 (pupa_dl_get_prefix): Likewise.
43093 * kern/i386/pc/init.c: Include <pupa/env.h>.
43094 (pupa_machine_init): Use the environment variable `prefix' instead of
43095 using pupa_dl_set_prefix to set the prefix.
43096 * kern/main.c: Include <pupa/env.h>.
43097 (pupa_set_root_dev): Use the environment variable `prefix' instead of
43098 using pupa_dl_get_prefix to get the prefix.
43099 * kern/misc.c: Include <pupa/env.h>.
43100 (pupa_isdigit): New function.
43101 (pupa_isgraph): Likewise.
43102 (pupa_ftoa): Likewise.
43103 (pupa_vsprintf): Added support for printing values of the type
43104 `double'. Make it possible to format variable output when using
43105 formatting like `%1.2%f'.
43106 (pupa_split_cmdline): New function.
43107 * kern/rescue.c: Include <pupa/env.h>.
43108 (next_word): Removed function.
43109 (pupa_rescue_cmd_prefix): Likewise.
43110 (pupa_rescue_cmd_set): New function.
43111 (pupa_rescue_cmd_unset): New function.
43112 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
43113 split the command line instead of splitting it here. Added
43114 support for setting variables using the syntax `foo=bar'. Don't
43115 initialize the prefix command anymore. Initialized the set and
43116 unset commands.
43117 * normal/cmdline.c: Include <pupa/env.h>.
43118 (pupa_tab_complete): Added prototypes for print_simple_completion,
43119 print_partition_completion, add_completion, iterate_commands,
43120 iterate_dev, iterate_part and iterate_dir. Moved code to print
43121 partition information from here to kern/disk.c.
fe6b695a 43122 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 43123 * normal/main.c: Include <pupa/env.h>.
43124 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
43125 instead of using pupa_dl_get_prefix to get the prefix.
43126 * term/i386/pc/vga.c: Include <pupa/arg.h>.
43127 (check_vga_mem): Cast pointers to `void *' to silence a gcc
43128 warning.
43129 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
43130 (pupa_vga_setcolor): Declare unused variables with `__attribute__
43131 ((unused))' to silence a gcc warning.
43132 (pupa_vga_setcolor): Likewise.
43133 (debug_command): Changed to match argument parsing
43134 interface changes.
43135 * util/pupa-emu.c: Include <pupa/env.h>.
43136 (options): Added 0's for unused fields to silence a gcc warning.
43137 (argp): Likewise.
43138 (main): Use the environment variable `prefix' instead of using
43139 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
43140 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
43141 and terminal.
43142
43143 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
43144 * util/misc.c: Include <malloc.h>.
43145 (pupa_malloc): Rewritten so errors are correctly reported.
43146 (pupa_realloc): Likewise.
43147 (pupa_memalign): Likewise.
43148 (pupa_mm_init_region): Declare unused variables with
43149 `__attribute__ ((unused))' to silence a gcc warning.
43150 * normal/i386/setjmp.S: Remove tab at the end of the file to
43151 silence a gcc warning.
43152 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
43153 variables with `__attribute__ ((unused))' to silence a gcc
43154 warning.
43155 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
43156 local variable i unsigned to silence a gcc warning.
43157
43158 * kern/term.c: Include <pupa/misc.h>.
43159 (pupa_more_lines): New variable.
43160 (pupa_more): Likewise.
43161 (pupa_putcode): When the pager is active pause at the end of every
43162 screen.
43163 (pupa_set_more): New function.
43164 * include/pupa/term.h (pupa_set_more): New prototype.
43165
43166
3b1139cb 431672004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
43168
43169 Now this project is GRUB 2 rather than PUPA. The location of
43170 the CVS repository was moved to GRUB's.
f19dbdb7 43171
3b1139cb 43172 * configure.ac: Use bug-grub as the reporting address.
43173 Use GRUB instead of PUPA.
43174 Change the version number to 1.90.
43175
8367695c 431762004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
43177
43178 * genkernsyms.sh: Updated copyright information.
43179 * genmk.rb: Likewise.
43180 * genmodsrc.sh: Likewise.
43181 * gensymlist.sh: Likewise.
43182 * boot/i386/pc/boot.S: Likewise.
43183 * boot/i386/pc/diskboot.S: Likewise.
43184 * disk/i386/pc/biosdisk.c: Likewise.
43185 * disk/i386/pc/partition.c: Likewise.
43186 * font/manager.c: Likewise.
43187 * fs/ext2.c: Likewise.
43188 * fs/fat.c: Likewise.
43189 * include/pupa/boot.h: Likewise.
43190 * include/pupa/device.h: Likewise.
43191 * include/pupa/disk.h: Likewise.
43192 * include/pupa/dl.h: Likewise.
43193 * include/pupa/elf.h: Likewise.
43194 * include/pupa/err.h: Likewise.
43195 * include/pupa/file.h: Likewise.
43196 * include/pupa/font.h: Likewise.
43197 * include/pupa/fs.h: Likewise.
43198 * include/pupa/kernel.h: Likewise.
43199 * include/pupa/loader.h: Likewise.
43200 * include/pupa/misc.h: Likewise.
43201 * include/pupa/mm.h: Likewise.
43202 * include/pupa/net.h: Likewise.
43203 * include/pupa/normal.h: Likewise.
43204 * include/pupa/rescue.h: Likewise.
43205 * include/pupa/setjmp.h: Likewise.
43206 * include/pupa/symbol.h: Likewise.
43207 * include/pupa/term.h: Likewise.
43208 * include/pupa/types.h: Likewise.
43209 * include/pupa/i386/setjmp.h: Likewise.
43210 * include/pupa/i386/types.h: Likewise.
43211 * include/pupa/i386/pc/biosdisk.h: Likewise.
43212 * include/pupa/i386/pc/boot.h: Likewise.
43213 * include/pupa/i386/pc/console.h: Likewise.
43214 * include/pupa/i386/pc/init.h: Likewise.
43215 * include/pupa/i386/pc/kernel.h: Likewise.
43216 * include/pupa/i386/pc/linux.h: Likewise.
43217 * include/pupa/i386/pc/loader.h: Likewise.
43218 * include/pupa/i386/pc/memory.h: Likewise.
43219 * include/pupa/i386/pc/multiboot.h: Likewise.
43220 * include/pupa/i386/pc/partition.h: Likewise.
43221 * include/pupa/i386/pc/time.h: Likewise.
43222 * include/pupa/i386/pc/vga.h: Likewise.
43223 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
43224 * include/pupa/util/getroot.h: Likewise.
43225 * include/pupa/util/misc.h: Likewise.
43226 * include/pupa/util/resolve.h: Likewise.
43227 * kern/device.c: Likewise.
43228 * kern/disk.c: Likewise.
43229 * kern/dl.c: Likewise.
43230 * kern/err.c: Likewise.
43231 * kern/file.c: Likewise.
43232 * kern/fs.c: Likewise.
43233 * kern/loader.c: Likewise.
43234 * kern/main.c: Likewise.
43235 * kern/misc.c: Likewise.
43236 * kern/mm.c: Likewise.
43237 * kern/rescue.c: Likewise.
43238 * kern/term.c: Likewise.
43239 * kern/i386/dl.c: Likewise.
43240 * kern/i386/pc/init.c: Likewise.
43241 * kern/i386/pc/lzo1x.S: Likewise.
43242 * kern/i386/pc/startup.S: Likewise.
43243 * loader/i386/pc/chainloader.c: Likewise.
43244 * loader/i386/pc/linux.c: Likewise.
43245 * loader/i386/pc/multiboot.c: Likewise.
43246 * normal/cmdline.c: Likewise.
43247 * normal/command.c: Likewise.
43248 * normal/main.c: Likewise.
43249 * normal/menu.c: Likewise.
43250 * normal/i386/setjmp.S: Likewise.
43251 * term/i386/pc/console.c: Likewise.
43252 * term/i386/pc/vga.c: Likewise.
43253 * util/console.c: Likewise.
43254 * util/genmoddep.c: Likewise.
43255 * util/misc.c: Likewise.
43256 * util/pupa-emu.c: Likewise.
43257 * util/resolve.c: Likewise.
43258 * util/unifont2pff.rb: Likewise.
43259 * util/i386/pc/biosdisk.c: Likewise.
43260 * util/i386/pc/getroot.c: Likewise.
43261 * util/i386/pc/pupa-mkimage.c: Likewise.
43262 * util/i386/pc/pupa-setup.c: Likewise.
43263
e6eced71 432642004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
43265
43266 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
43267 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
43268 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
43269 reading and reset it after reading.
43270 (pupa_ext2_close): Return PUPA_ERR_NONE.
43271
43272 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
43273 Correct value.
43274 (struct linux_kernel_header): Add kernel_version and
43275 initrd_addr_max.
43276 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
43277 pupa_file_read succeeds.
43278 (pupa_rescue_cmd_initrd): Implement.
43279
5aded270 432802003-12-03 Marco Gerards <metgerards@student.han.nl>
43281
43282 * fs/ext2.c (pupa_ext2_label): New function.
43283 (pupa_ext2_fs): Added label.
43284 * fs/fat.c (pupa_fat_label): New function.
43285 (pupa_fat_fs): Added label.
43286 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
43287
43288 * kern/misc.c (pupa_strndup): New function.
43289 * include/pupa/misc.h (pupa_strndup): New prototype.
43290
43291 * include/pupa/normal.h: Include <pupa/err.h>.
43292 (pupa_set_history): New prototype.
43293 (pupa_iterate_commands): New prototype.
43294 * normal/cmdline.c: Include <pupa/machine/partition.h>,
43295 <pupa/disk.h>, <pupa/file.h>.
43296 (hist_size): New variable.
43297 (hist_lines): Likewise.
43298 (hist_end): Likewise.
43299 (hist_used): Likewise.
43300 (pupa_set_history): New function.
43301 (pupa_history_get): Likewise.
43302 (pupa_history_add): Likewise.
43303 (pupa_history_replace): Likewise.
43304 (pupa_tab_complete): Likewise.
43305 (pupa_cmdline_run): Added tab completion and history buffer. Tab
43306 completion shows partitionnames while completing partitions, this
43307 feature was suggested by Jeff Bailey.
43308 * normal/command.c (pupa_iterate_commands): New function.
43309 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
43310 (pupa_normal_init): Initialize history buffer.
43311 (PUPA_MOD_INIT): Likewise.
43312 (pupa_normal_fini): Free the history buffer.
43313 (PUPA_MOD_FINI): Likewise.
43314
43315 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
43316 key.
43317
43318 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
43319 * configure.ac [i386]: Check for regparam bug.
43320 (NESTED_FUNC_ATTR) [! i386]: Defined.
43321
1f7315a3 433222003-11-17 Marco Gerards <metgerards@student.han.nl>
43323
43324 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
43325 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
43326 (pupa_emu_SOURCES): New variable.
43327 (pupa_emu_LDFLAGS): Likewise.
43328 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
43329 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
43330 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
43331 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43332 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
43333 (pupa_jmp_buf): New typedef.
43334 (pupa_setjmp) [PUPA_UTIL]: New macro.
43335 (pupa_longjmp) [PUPA_UTIL]: Likewise.
43336 * include/pupa/term.h (struct pupa_term): New member `refresh'.
43337 (pupa_refresh): New prototype.
43338 * include/pupa/util/getroot.h: New file.
43339 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
43340 it.
43341 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
43342 (pupa_rescue_cmd_cat): Likewise.
43343 (pupa_rescue_cmd_ls): Likewise.
43344 (pupa_rescue_cmd_testload): Likewise.
43345 (pupa_rescue_cmd_lsmod): Likewise.
43346 * normal/cmdline.c (pupa_cmdline_get): Likewise.
43347 * normal/menu.c (run_menu): Likewise.
43348 * kern/term.c (pupa_cls): Likewise.
43349 (pupa_refresh): New function.
43350 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
43351 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43352 * util/console.c: New file.
f19dbdb7 43353
1f7315a3 43354 * util/i386/pc/getroot.c: New file.
43355 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
43356 (pupa_putchar): New function.
43357 (pupa_refresh): Likewise.
43358 (xgetcwd): Function moved to ...
43359 (strip_extra_slashes): Likewise.
43360 (get_prefix): Likewise.
f19dbdb7 43361 * util/i386/pc/getroot.c: ... here.
1f7315a3 43362 (find_root_device): Function moved and renamed to...
43363 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
43364 Changed all callers.
43365 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
43366 and renamed to...
43367 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
43368 Changed all callers.
43369 * util/misc.c (pupa_memalign): New function.
43370 (pupa_mm_init_region): Likewise.
43371 (pupa_register_exported_symbols): Likewise.
43372 (pupa_putchar): Function removed.
43373 * util/pupa-emu.c: New file.
43374
9a5c1ade 433752003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
43376
43377 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
43378 (_multiboot_mod_SOURCES): New variable.
43379 (_multiboot_mod_CFLAGS): Likewise.
43380 * loader/i386/pc/multiboot.c: New file.
43381 * include/pupa/i386/pc/multiboot.h: Likewise.
43382 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
43383 (pupa_multiboot_real_boot): New function.
43384 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
43385 (pupa_multiboot_real_boot): New prototype.
43386 (pupa_rescue_cmd_multiboot): Likewise
43387 (pupa_rescue_cmd_module): Likewise.
43388
43389 * kern/loader.c (pupa_loader_set): Continue when
43390 pupa_loader_unload_func() fails.
43391 (pupa_loader_unset): New function.
43392 * include/pupa/loader.h (pupa_loader_unset): New prototype.
43393
43394 * kern/misc.c (pupa_stpcpy): New function.
43395 * include/pupa/misc.h (pupa_stpcpy): New prototype.
43396
8e72a9c0 433972003-11-12 Marco Gerards <metgerards@student.han.nl>
43398
43399 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
43400 for available extensions.
43401
43402 * include/pupa/i386/pc/time.h: New file.
43403 * kern/disk.c: Include <pupa/machine/time.h>.
43404 (PUPA_CACHE_TIMEOUT): New macro.
43405 (pupa_last_time): New variable.
43406 (pupa_disk_open): Flush the cache when there was a timeout.
43407 (pupa_disk_close): Reset the timer.
43408 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
43409 pupa_currticks.
43410 * util/misc.c: Include <sys/times.h>
43411 (pupa_get_rtc): New function.
43412
c4adbd32 434132003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43414
43415 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
43416 as blocks.
43417 (pupa_ext2_get_file_block): Use blocks member.
43418
43419 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
43420 first block. Return -1 instead of pupa_errno on error.
43421
bfd30f06 434222003-10-27 Marco Gerards <metgerards@student.han.nl>
43423
43424 * README: In the pupa-mkimage example use _chain instead of chain
43425 and ext2 instead of fat.
43426 * TODO: Replace ext2fs with jfs as an example. Add an item for
43427 adding journal playback for ext2fs.
43428 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
43429 (pkgdata_MODULES): Added ext2.mod.
43430 (ext2_mod_SOURCES): New variable.
43431 (ext2_mod_CFLAGS): Likewise.
43432 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
43433 * include/pupa/misc.h (pupa_strncpy): New prototype.
43434 (pupa_strcat): Likewise.
43435 (pupa_strncmp): Likewise.
43436 * kern/misc.c (pupa_strcat): Enable function.
43437 (pupa_strncpy): New function.
43438 (pupa_strncmp): Likewise.
43439 * fs/ext2.c: New file.
f19dbdb7 43440
bfd30f06 43441 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
43442 when the read failed before retrying.
43443 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
43444 (_FILE_OFFSET_BITS): Likewise.
43445 * configure.ac: Added AC_SYS_LARGEFILE.
43446
98d15063 434472003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43448
43449 * genmk.rb (PModule#rule): Make sure to get only symbol names
43450 from the output of nm.
59cad637 43451 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 43452
18d9c7cd 434532003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43454
43455 I forgot to check in these changes for a long time. This adds
43456 incomplete support for VGA console, and this is still very
43457 buggy. Also, a lot of consideration is required for I18N,
43458 UNICODE, and VGA font issues. Therefore, assume that this is
43459 such that "better than nothing".
f19dbdb7 43460
18d9c7cd 43461 * font/manager.c: New file.
43462 * include/pupa/font.h: Likewise.
43463 * include/pupa/i386/pc/vga.h: Likewise.
43464 * term/i386/pc/vga.c: Likewise.
43465 * util/unifont2pff.rb: Likewise.
43466
43467 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
43468 (pkgdata_MODULES): Added vga.mod and font.mod.
43469 (vga_mod_SOURCES): New variables.
43470 (vga_mod_CFLAGS): Likewise.
43471 (font_mod_SOURCES): Likewise.
43472 (font_mod_CFLAGS): Likewise.
43473
43474 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
43475
43476 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 43477 (struct pupa_term): Added init and fini.
18d9c7cd 43478 Changed the argument of putchar to pupa_uint32_t.
43479
43480 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
43481 (pupa_console_real_putchar): New prototype.
43482 (pupa_console_putchar): Removed.
43483 (pupa_console_checkkey): Exported.
43484 (pupa_console_getkey): Likewise.
43485
43486 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
43487 characters.
43488
43489 * kern/term.c (pupa_term_set_current): Rewritten.
43490 (pupa_putchar): Likewise.
43491 (pupa_putcode): New function.
43492
43493 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
43494 (pupa_console_real_putchar): ... this.
43495 (pupa_vga_set_mode): New function.
43496 (pupa_vga_get_font): Likewise.
43497
43498 * normal/command.c: Include pupa/term.h.
43499 (terminal_command): New function.
43500 (pupa_command_init): Register the command "terminal".
43501
43502 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
43503 (DISP_UP): Likewise.
43504 (DISP_RIGHT): Likewise.
43505 (DISP_DOWN): Likewise.
43506 (DISP_HLINE): Likewise.
43507 (DISP_VLINE): Likewise.
43508 (DISP_UL): Likewise.
43509 (DISP_UR): Likewise.
43510 (DISP_LL): Likewise.
43511 (DISP_LR): Likewise.
43512
43513 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 43514
977329f5 435152003-02-08 NIIBE Yutaka <gniibe@m17n.org>
43516
43517 * util/resolve.c (pupa_util_resolve_dependencies): BUG
43518 FIX. Reverse the path_list.
43519
43520 * include/pupa/normal.h: Export pupa_register_command and
43521 pupa_unregister_command.
43522
43523 * hello/hello.c (pupa_cmd_hello): New module.
43524 * conf/i386-pc.rmk: Added hello.mod.
43525
1f5ab428 435262003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
43527
43528 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 43529
1f5ab428 43530 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
43531 (compress_kernel): New variable.
43532 (generate_image): Heavily modified to support compressing a
43533 large part of the core image.
43534
43535 * util/misc.c (pupa_util_read_image): Fix a file descriptor
43536 leak.
43537 (pupa_util_load_image): New function.
43538
43539 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
43540 (pupa_compressed_size): New variable.
43541 (codestart): Enable Gate A20 here.
43542 Decompress the compressed part of the core image.
43543 Rearrange the code to put functions and variables which are
43544 required for initialization in the non-compressed part.
43545 Include lzo1x.S.
43546
43547 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
43548 here.
43549
43550 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
43551
f19dbdb7 43552 * include/pupa/i386/pc/kernel.h
1f5ab428 43553 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
43554 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
43555 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43556 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43557 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
43558
43559 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
43560
43561 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
43562 (Utility#rule): Likewise.
43563
43564 * configure.ac: Check if LZO is available.
43565
ce5bf700 435662003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
43567
43568 * include/pupa/normal.h: New file.
43569 * include/pupa/setjmp.h: Likewise.
43570 * include/pupa/i386/setjmp.h: Likewise.
43571 * normal/cmdline.c: Likewise.
43572 * normal/command.c: Likewise.
43573 * normal/main.c: Likewise.
43574 * normal/menu.c: Likewise.
43575 * normal/i386/setjmp.S: Likewise.
f19dbdb7 43576
ce5bf700 43577 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
43578 (pupa_rescue_cmd_initrd): Likewise.
43579
43580 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
43581 Likewise.
43582
43583 * kern/i386/pc/startup.S (translation_table): New variable.
43584 (translate_keycode): New function.
43585 (pupa_console_getkey): Call translate_keycode.
43586
43587 * kern/rescue.c (attempt_normal_mode): New function.
43588 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
43589 it failed, print a message.
43590
43591 * kern/mm.c (pupa_real_malloc): Print more information when a
43592 free magic is broken.
43593 (pupa_free): If the first free header is not free actually, set
43594 it to P.
43595
43596 * kern/main.c (pupa_load_normal_mode): Just load the module
43597 "normal".
43598 (pupa_main): Don't print the message
43599 "Entering into rescue mode..." here.
43600
43601 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
43602 Declared.
43603 (pupa_rescue_cmd_initrd): Likewise.
43604 (pupa_rescue_cmd_initrd): Likewise.
43605
43606 * include/pupa/symbol.h (FUNCTION): Specify the type.
43607 (VARIABLE): Likewise.
43608
43609 * include/pupa/err.h (pupa_err_t): Added
43610 PUPA_ERR_UNKNOWN_COMMAND.
43611
43612 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
43613 (pupa_dl_get_prefix): Likewise.
43614
43615 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
43616 Added _chain.mod and _linux.mod instead of chain.mod and
43617 linux.mod.
43618 (chain_mod_SOURCES): Renamed to ...
43619 (_chain_mod_SOURCES): ... this.
43620 (chain_mod_CFLAGS): Renamed to ...
43621 (_chain_mod_CFLAGS): ... this.
43622 (linux_mod_SOURCES): Renamed to ...
43623 (_linux_mod_SOURCES): ... this.
43624 (linux_mod_CFLAGS): Renamed to ...
43625 (_linux_mod_CFLAGS): ... this.
43626 (normal_mod_SOURCES): New variable.
43627 (normal_mod_CFLAGS): Likewise.
43628 (normal_mod_ASFLAGS): Likewise.
43629
436302003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
43631
43632 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
43633 possible.
43634
fe6b695a 43635 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 43636 recursively.
43637 (pupa_dl_unref): Unrefer depending modules recursively.
43638 Don't call pupa_dl_unload implicitly, because PUPA can crash if
43639 a module is unloaded before one depending on that module is
43640 unloaded.
43641 (pupa_dl_unload): Unload depending modules explicitly,
43642 if possible.
43643
c04da074 436442003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
43645
43646 * include/pupa/i386/pc/linux.h: New file.
43647 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 43648
c04da074 43649 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
43650 Removed.
43651 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
43652 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
43653 of PUPA_CHAINLOADER_BOOT_SECTOR.
43654
43655 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
43656 (pupa_linux_prot_size): New variable.
43657 (pupa_linux_tmp_addr): Likewise.
43658 (pupa_linux_real_addr): Likewise.
43659 (pupa_linux_boot_zimage): New function.
43660 (pupa_linux_boot_bzimage): Likewise.
43661
43662 * kern/i386/pc/init.c (struct mem_region): New structure.
43663 (MAX_REGIONS): New macro.
43664 (mem_regions): New variable.
43665 (num_regions): Likewise.
43666 (pupa_os_area_addr): Likewise.
43667 (pupa_os_area_size): Likewise.
43668 (pupa_lower_mem): Likewise.
43669 (pupa_upper_mem): Likewise.
43670 (add_mem_region): New function.
43671 (compact_mem_regions): Likewise.
43672 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
43673 the size of the conventional memory and that of so-called upper
43674 memory (before the first memory hole).
43675 Instead of adding each found region to free memory, use
43676 add_mem_region and add them after removing overlaps.
43677 Also, add only 1/4 of the upper memory to free memory. The rest
43678 is used for loading OS images. Maybe this is ad hoc, but this
43679 makes it much easier to relocate OS images when booting.
43680
43681 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
43682 (pupa_enter_rescue_mode): Don't register initrd and module.
43683
43684 * kern/mm.c: Include pupa/dl.h.
43685
43686 * kern/main.c: Include pupa/file.h and pupa/device.h.
43687
43688 * kern/loader.c (pupa_loader_load_module_func): Removed.
43689 (pupa_loader_load_module): Likewise.
43690
43691 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
43692 ``.o''.
43693
43694 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
43695 (pupa_linux_tmp_addr): Likewise.
43696 (pupa_linux_real_addr): Likewise.
43697 (pupa_linux_boot_zimage): Likewise.
43698 (pupa_linux_boot_bzimage): Likewise.
43699
43700 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
43701 (pupa_upper_mem): Likewise.
43702 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
43703 module is too dangerous.
43704
43705 * include/pupa/loader.h (pupa_os_area_addr): Declared.
43706 (pupa_os_area_size): Likewise.
43707 (pupa_loader_set): Remove the first argument. Loader doesn't
43708 manage modules or initrd any longer.
43709 (pupa_loader_load_module): Removed.
43710
43711 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
43712 (linux_mod_SOURCES): New variable.
43713 (linux_mod_CFLAGS): Likewise.
43714
a13f9237 437152003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
43716
43717 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
43718 the length of a blocklist correctly.
43719
43720 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
43721 Use ioctl only if the OS file is a block device.
43722 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
43723 not very useful for normal files.
43724
43725 * kern/main.c (pupa_set_root_dev): New function.
43726 (pupa_load_normal_mode): Likewise.
43727 (pupa_main): Call those above.
43728
43729 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
43730 pupa_uint16_t.
43731
43732 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
43733
a5ffe966 437342003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43735
43736 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
43737 (setup): Configure the installed partition information and the
43738 dl prefix.
43739
43740 * loader/i386/pc/chainloader.c (my_mod): New variable.
43741 (pupa_chainloader_unload): New function.
43742 (pupa_rescue_cmd_chainloader): Refer itself.
43743 (PUPA_MOD_INIT): Save its own module in MY_MOD.
43744
43745 * kern/i386/pc/startup.S (install_partition): Removed.
43746 (version_string): Likewise.
43747 (config_file): Likewise.
43748 (pupa_install_dos_part): New variable.
43749 (pupa_install_bsd_part): Likewise.
43750 (pupa_prefix): Likewise.
43751 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
43752
43753 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
43754 and pupa/misc.h.
43755 (make_install_device): New function.
43756 (pupa_machine_init): Set the dl prefix.
43757
43758 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
43759 (buf): Renamed to ...
43760 (linebuf): ... this.
43761 (pupa_rescue_cmd_prefix): New function.
43762 (pupa_rescue_cmd_insmod): Likewise.
43763 (pupa_rescue_cmd_rmmod): Likewise.
43764 (pupa_rescue_cmd_lsmod): Likewise.
43765 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
43766 rmmod and lsmod.
43767
43768 * kern/mm.c (pupa_memalign): If failed even after invalidating
43769 disk caches, unload unneeded modules and retry.
43770
43771 * kern/misc.c (pupa_memmove): New function.
43772 (pupa_memcpy): Removed.
43773 (pupa_strcpy): New function.
43774 (pupa_itoa): Made static.
43775
43776 * kern/dl.c (pupa_dl_iterate): New function.
43777 (pupa_dl_ref): Likewise.
43778 (pupa_dl_unref): Likewise.
43779 (pupa_dl_unload): Return if succeeded or not.
43780 (pupa_dl_unload_unneeded): New function.
43781 (pupa_dl_unload_all): Likewise.
43782 (pupa_dl_init): Renamed to ...
43783 (pupa_dl_set_prefix): ... this.
43784 (pupa_dl_get_prefix): New function.
43785
43786 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
43787 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
43788 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43789 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43790 (pupa_install_dos_part): Declared.
43791 (pupa_install_bsd_part): Likewise.
43792 (pupa_prefix): Likewise.
43793 (pupa_boot_drive): Likewise.
43794
43795 * include/pupa/types.h: Fix a typo.
43796
43797 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
43798 pupa_memmove.
43799 (pupa_memmove): Declared.
43800 (pupa_strcpy): Likewise.
43801
43802 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
43803 pupa_mod_init takes one argument, its own module.
43804 (pupa_dl_unload_unneeded): Declared.
43805 (pupa_dl_unload_all): Likewise.
43806 (pupa_dl_ref): Likewise.
43807 (pupa_dl_unref): Likewise.
43808 (pupa_dl_iterate): Likewise.
43809 (pupa_dl_init): Renamed to ...
43810 (pupa_dl_set_prefix): ... this.
43811 (pupa_dl_get_prefix): Declared.
43812
43813 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 43814 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 43815 unloaded.
43816 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
43817 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
43818
43819 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
43820 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
43821
012d7999 438222003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43823
43824 * util/i386/pc/pupa-setup.c (setup): Define the internal
43825 function find_first_partition_start at the top level, because GCC
43826 3.0.x cannot compile internal functions in deeper scopes
43827 correctly.
43828 (find_root_device): Use lstat instead of stat.
43829 Don't follow symbolic links.
43830 Fix the path-constructing code.
43831
43832 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
43833 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
43834 by a BLKGETSIZE ioctl first, because block devices don't fill
43835 the member st_mode of the structure stat on Linux.
43836 [__linux__] (linux_find_partition): Use a temporary buffer
43837 REAL_DEV for the working space. Copy it to DEV before returning.
43838 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
43839 buffer cache consistent.
43840 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
43841 strncmp. The previous value was merely wrong.
43842 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
43843
43844 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
43845 FAT size is 12. The previous value was merely wrong.
43846
43847 * kern/main.c (pupa_main): Don't split the starting message from
43848 newlines.
43849
43850 * kern/term.c (pupa_putchar): Put CR after LF instead of before
43851 LF, because BIOS goes crazy about character attributes in this
43852 case.
43853
1cc73a62 438542003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43855
43856 * include/i386/pc/util/biosdisk.h: New file.
43857 * util/i386/pc/biosdisk.c: Likewise.
43858 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 43859
1cc73a62 43860 * Makefile.in (INCLUDE_DISTFILES): Added
43861 include/pupa/i386/pc/util/biosdisk.h.
43862 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
43863 directory util/i386/pc.
43864 (install-local): Added a rule for sbin_UTILITIES.
43865 (uninstall): Likewise.
43866
43867 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
43868
43869 * util/misc.c (xrealloc): New function.
43870 (pupa_malloc): Likewise.
43871 (pupa_free): Likewise.
43872 (pupa_realloc): Likewise.
43873 (pupa_stop): Likewise.
43874 (pupa_putchar): Likewise.
43875
43876 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
43877
43878 * include/pupa/util/misc.h (xrealloc): Declared.
43879
43880 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
43881 macro.
43882 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
43883 (PUPA_BOOT_MACHINE_BPB_END): ... this.
43884
43885 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
43886 [PUPA_UTIL] (pupa_fat_fini): Likewise.
43887
43888 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
43889 way should be implemented.
43890 [PUPA_UTIL] (pupa_fat_fini): Likewise.
43891
43892 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
43893 the size of NAME for safety.
43894 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
43895 0x88.
43896
43897 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
43898 (pupa_setup_SOURCES): Likewise.
43899
43900 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
43901
08b70fe8 439022002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
43903
43904 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
43905 bunch of pushl's from pusha, because this destroys the return
43906 value.
43907
62ddcc8f 439082002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
43909
43910 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
43911 This means that any missing prototypes could be fatal. Also, you
43912 must take care when writing assembly code. See the comments at
43913 the beginning of startup.S, for more details.
f19dbdb7 43914
62ddcc8f 43915 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
43916 compilation mechanism.
43917 (pupa_chainloader_real_boot): Likewise.
43918 (pupa_biosdisk_rw_int13_extensions): Likewise.
43919 (pupa_biosdisk_rw_standard): Likewise.
43920 (pupa_biosdisk_check_int13_extensions): Likewise.
43921 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
43922 (pupa_biosdisk_get_diskinfo_standard): Likewise.
43923 (pupa_get_memsize): Likewise.
43924 (pupa_get_mmap_entry): Likewise.
43925 (pupa_console_putchar): Likewise.
43926 (pupa_console_setcursor): Likewise.
43927 (pupa_getrtsecs): Use pushl instead of push.
43928
43929 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
43930 memory instead of the stack for a mmap entry, because some
43931 BIOSes may ignore the maximum size and overflow.
43932
43933 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
43934
43935 * genmk.rb (PModule#rule): Compile automatically generated
43936 sources with module-specific CFLAGS as well as other sources.
43937
9962ed99 439382002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43939
43940 * configure.ac: Check ld.
43941 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
43942 respectively, before checking endianness and sizes.
43943
43944 * Makefile.in (LD): New variable.
f19dbdb7 43945
abdfc3c5 439462002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43947
43948 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
43949
6a161fa9 439502002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43951
43952 * Changelog: New file.
43953